5#关于数据数值的转换
1 /* 2 +:做加法操作 3 A:针对数据操作 4 B:针对字符进行做+ 5 ASCII码表 6 '0' 48 7 'A' 65 8 'a' 97 9 C:针对字符串进行做+ 10 在字符串的操作中,叫字符串连接符 11 */ 12 class DataTypeDemo3 { 13 public static void main(String[] args) { 14 System.out.println('a'); 15 System.out.println('a'+1); 16 System.out.println('A'+0); 17 System.out.println('0'+0); 18 System.out.println("-----------"); 19 20 21 System.out.println('a'+'b'); 22 System.out.println("a"+"b"); 23 24 System.out.println("hello"+'a'+1); //左边字符串,往后拼的都是字符串 25 System.out.println('a'+1+"hello"); 26 System.out.println("5+5="+5+5); 27 System.out.println(5+5+"=5+5"); 28 } 29 }
1 /* 2 byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢? 3 */ 4 class DataTypeTest2 { 5 public static void main(String[] args) { 6 //byte b = 130; 7 8 //解决方案 9 //方案1 10 //int a = 130; 11 12 //方案2 13 byte b = (byte) 130; 14 System.out.println(b); 15 } 16 } 17 18 /* 19 十进制:130 20 A:第一步,先把十进制转换为二进制 21 二进制:000000000 000000000 000000000 100000010 22 由于此二进制是一个正数,所以,补码也是000000000 000000000 000000000 100000010。 23 B:做强制类型转换 24 二进制:000000000 000000000 000000000 100000010 25 截取后就变成了:100000010 26 C:操作后的数据是补码,你看到的是原码 27 符号位 数值位 28 补码: 1 00000010 29 反码: 1 00000001 30 原码: 1 11111110
1 /* 2 面试题: 3 short s=1, s = s+1; short s=1, s+=1; 4 上面两个代码有没有问题,如果有,那里有问题 5 */ 6 class OperatorTest { 7 public static void main(String[] args) { 8 //short s = 1; 9 //s = s + 1; 10 //有问题,可能损失精度 11 12 short s = 1; 13 s += 1; //s = s + 1; 14 //这个是没有问题的。 15 //因为这个式子等价于: 16 // s = (s的数据类型)(s + 1); 17 } 18 }
有了计划记得推动,不要原地踏步。

浙公网安备 33010602011771号