enum Size{SMALL,MEDIUM,LARGE};
public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
System.out.println(s.equals(t)); //false
System.out.println(s==t); //false
System.out.println(s.getClass().isPrimitive());//false
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
}
}
getClass()获取类的相关信息,返回Class类型的对象。
- 创建对象: Student s = new Studentp ();
- 返回Class类型的对象: Class cla = s.getClass();
此时cla是Class类型,Class提供了一系列的方法来获取类的相关信息,可以通过对象s来获取原的信息。如获取类的类名:
String className = cla.getName();
定义Enum,编译器会为我们生成一个相关的类,这个类继承了Java API中的java.lang.Enum类 枚举不属于原始数据类型,枚举类型是引用类型。
它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。 可以使用“==”和equals()方法直接比对枚举变量的值,对于枚举
类型的变量,“==”和equals()方法执行的结果是等价的。
原码:最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,符号位除外。
补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
在Java中的数采用的是原码方式表示。
同名变量屏蔽原则:局部变量屏蔽全局变量
class Test1
{
int a=0;
public static void main(String[] args)
{
int a=1;
System.out.println(a);
}
}
输出1。
Java会自动完成从低级类型向高级类型转换,即取值范围相对较小的数据类型转换成取值范围相对较大的数据类型。
浮点数是通过科学计数法来存储的,在计算机中的存储分为三个部分:
1. 符号位(sign):float和double符号位均为1位,0代表正数,1代表负数
2. 指数位(exponent):存储科学计数法中的指数部分,采用移位存储
3. 尾数位(fraction):存储科学计数法中的尾数部分
以下代码的输出结果是什么?
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
结果是:
X+Y=100200
300=X+Y
在System.out.println("X+Y="+X+Y)中的引号外的+为连接运算符,
System.out.println(X+Y+"=X+Y")中引号外的+为加法运算符,x和y相加。