仔细阅读示例:EnumTest.Java,运行它,分析运行结果?
你能得到什么结论?你掌握了枚举类型的基本用法了吗?
EnumTest.java
public class 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); } } } enum Size{SMALL,MEDIUM,LARGE};
运行结果:
false,false,true,SMALL,MEDIUM,LARGE
阅读相应教材,或者设用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出
结果,与手工计算的结果进行比对,看看Java中的数是采用上述那种码表示的
public class Bit { public static void main( String [] args ){ System.out.println(3<<2); System.out.println(-3<<2); System.out.println(9>>3); System.out.println(-9>>3); } }
运行结果:
Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试代码,就象本示例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值
输出顺序按照就近原则,先在本方法内查找,如果没有,去到本类中查找,如果也没有,再去到上一级的接口或者父类中查找。如果上一级接口和父类都同时有,那么程序就会报错
源代码:
public class Father { protected int a = 2; }
public class Child extends Father{ private int a = 3; public int getA(){ return a; } }
public class SameName { public static int a = 0; public static void main( String [] args ){ int a =1; Child c = new Child(); System.out.println(a); System.out.println(c.getA()); } }
运行结果:
看着这个图,再看看Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?
int 32位 4字节 -2147483648~2147483647
short 16位 2字节 -32768~32678
long 64位 8字节 -9223372036854775808~9223372036854775807
float 32位 4字节 -340292347E+38~+340292347E+38
double 64位 8字节 -1.79769313486231576E+308~.79769313486231576E+308
char 16位 2字节 ‘\u0000′‘~‘\uFFFF’
boolean 1位 0.125字节 true/false
byte 8位 1字节 -128~127
低精度型向高精度型转换
请运行以下代码
public class TestDouble { 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)); } }
你看到了什么输出,意外吗?
运行结果
以下代码的输出结果是什么
int x = 100; int y = 200; System.out.println("x+y="+x+y); System.out.println(x+y+"=x+y");
为什么会有这样的输出结果?
当+号两个操作数都是数字时为运算符,存在一个是" "时为连接符