1) TestCon.java
public class TestCon{
public static void main(String[] agrs){
byte b=(byte)1;
for(int i=1;i<12;i++){
System.out.println(i+" : "+(byte)(b*Math.pow(2,i)));
}
}
}
/* 原因解释一个byte,就是一个字节,有八位。初始为1,每次乘以2则相当于二进制左移操作。当第七次左移,数值为128,但是根据二进制编码规则,第八位是符号位,为1时表示负数所以为-128。(事实上,java中byte类型的范围就是-128到127)。8次以后不管左移多少次,都是0。
初始值:0000 0001 1
第一次:0000 0010 2
第二次:0000 0100 4
第三次:0000 1000 8
第四次:0001 0000 16
第五次:0010 0000 32
第六次:0100 0000 64
第七次:1000 0000 -128
第八次:0000 0000 0
*/
2)TestSun.java
import java.text.DecimalFormat;
public class TestSun{
public static double compute(double d){
return 4/3*Math.PI*Math.pow(d,3);
}
//865 000英里,地球的直径大约是7 600英里
public static void main(String[] args){
DecimalFormat df=new DecimalFormat("0.000E0");//格式化double输出形式小数点后3位
double d1=TestSun.compute(7600); // 地球体积
double d2=TestSun.compute(865000);//太阳
System.out.println("地球体积: "+df.format(d1));
System.out.println("太阳体积: "+df.format(d2));
System.out.println("太阳与地球体积比: "+df.format(d2/d1));
}
}