课后作业1

1、源代码:
package class; 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表明 s和t 引用的并不是同一个对象,第二个false 说明 s 不是一个原始数据类型。true 表明 s和u引用了相同的对象。

后面的三个则表明 for(Size value:Size.values()){ System.out.println(value);}  这段代码可以将size中的变量进行输出。

结论:枚举类型是引用类型,枚举不属于原始数据类型,它的每个变量都是引用一个具体的对象,并且可以用“==”来判断两个变量是否相同,与  .equals()作用相同 。

2.二进制的原码反码补码:

反码、补码跟原 码的基本概念

  (1)原码: 这个数本身的二进制形式 用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。

    (2)   反码:正数的反码就是它的原码,负数的反码就是他的原码除符号位外,按位取反。

 (3) 补码:正数的补码还是它的原码,负数的补码是将其原码除符号位之外的各位求反之后在末位再加1,或者说负数的补码等于反码+1。

 

 -6 二进制原码1110取反:0001,反码1001取反:0110,补码1010 :取反 0101   

5的原码0101,反码0101,补码0101=(-6)的补码取反,所以Java采用的是补码

 

3、同名变量的屏蔽原则

 

 局部变量可覆盖全局变量,当调用需要的变量时会优先寻找距离当前位置最近的变量。

4、

 

 java中+在当前面是一个字符串时后面的+是起到连接的作用,“X+Y”后面+X+Y就是输出XY,而第二个变量在前+只会起到运算符的作用,想要连续输出XY只能加上“”来输出。

5

 byte 1字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
char 2字节
boolean 1字节

低字节向多字节转换没精度损失,同字节之间转换有损失,单精度向多精度转换有损失。

原文地址:https://www.cnblogs.com/dwx8845/p/11553340.html