JAVA第三周课后作业
JAVA课后作业
一、枚举类型
代码:
enum Size{SMALL,MEDIUM,LARGE};
public cl
ass EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
截图:
结论:枚举类型是引用类型,并不是原始类型,他的每一个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以用“==”和“equals()”的方法直接比较枚举变量的值,对于枚举类型来说,“==”与“equals()”两种方法是一样的。
二、JAVA中数据是用哪种码表示
原码:最高位为符号位,“0”代表正,“1”代表负,其余位表示数值的真实大小。
反码:正整数的反码与原码相同,负整数的反码是符号位除外,对其原码逐位取反。
补码:正整数的补码与原码相同,负整数的补码是在反码的末位加 1.
JAVA采用的是“ 补码 ”。
三、变量的作用域
同名变量的屏蔽原则:两个或多个同名变量,定义了不同的数值时,在使用时,在使用的区间内,变量的值为距他最近(前面)的定义。
实例:
public class nn {
private static int CC =1;
public static void main(String arga[])
{
int CC=2;
System.out.println("CC="+CC);
}
}
结果输出:
四、数据类型转换
代码:
public class nn {
private static int CC =1;
public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
结果输出:
分析:计算机只能识别二进制,一切的数据最后都要转换为二进制。例如源程序中的2.4是十进制的,要转换为二进制,但2.4 的二进制不是精确的2.4,只是接近2.4,实际为2.3 999 999 999 999 999,浮点数由两部分组成:指数和尾数,再进行浮点数的二进制与十进制的转换时,浮点数参与了计算,那么转换过程就变的不可预测,并且变得不可逆。
五、以下代码的输出结果是什么?
Int X = 100;
Int Y =200;
System.out.println(“ X + Y = ” + X + Y );
System.out.println( X + Y + “ = X + Y” );
结果截图:
原因:前一条输出语句后两个加号均为字符连接符;后一条输出语句中第一个加号为数学意义上的加号,而后一个加号为字符连接符。