java思考

1.仔细阅读示例: 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);
        }
    }
}

第一个false判断s和t是否引用同一个对象,第二个false判断是否为类包的数据,true判断s是否与u相等,列出它的所有元素,枚举类型是引用类型,不属于原始数据类型,每个具体值都引用一个特定的对象,可以使用“==”直接比对枚举变量的值。

2.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值,

补码的表示方法是:正数的补码就是其本身负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

反码的表示方法是:正数的反码是其本身负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

3.Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识。

在代码中,第一个value是成员变量,也是全局变量,第二个value是局部变量,局部变量可以覆盖全局变量,在局部使用某个变量的时候JVM会优先找和当前使用位置近的变量定义.

原文地址:https://www.cnblogs.com/jokerr/p/5966200.html