1.进制转换由低到高:byte<short(char)<int<long<float<double
2.java八种基本数据类型(存在栈里): 整数类型 byte,short,int,long,
浮点类型 float,double
字符类型 char
布尔类型boolean true,false
--------------------------------------------------------
String为引用类型,首字母大写(存在堆里)
3. int res = 20; String str = "结果为:"; System.out.println(str+res+20);//结果为:2020 System.out.println(str+(res+20));//结果为:40
4. i=i+1与i+=1的区别 short i = 1; i = i+1; System.out.println(i);//错误 short i = 1; i += 1; System.out.println(i);//i=2; 第一种右边的i先变为整型和1相加,然后赋值给左边的i,但是左边i为short类型,精度不能从高到底自
动转,所以报错 第二种i始终为short类型,所以精度不变,没有报错
5.&&与&的区别 a&&b a为假,则不再判断b,直接返回false a&b a为假,也会判断b,最后返回false ||与|也是类似 a||b a为真,不会判断b,直接返回true a|b a为真,也会判断b,最后返回true
^为异或 即,一真一假,返回true;相同返回false
6.位运算符 二进制数第一位表示符号 0为正数 1位负数 >>右移运算正数左边补0,负数左边补1 >>>无符号右移 右移,左边全补0
7.计算机内部数据都是以二进制形式存在的 二进制在计算机内有多种存在方式: 原码: 3: 0000 0011 第一位是符号位,0位正,1位负 反码:正数的反码和原码一样,负数的反码,保留第一位符号位,其余按位取反 -3:1000 0011(原码)-->1111 1100(反码) *补码:正数的反码,原码和补码都一样,负数的补码 = 反码+1; -3:1000 0011(原码)-->1111 1100(反码)-->1111 1101(补码) 计算及内部对二进制进行运算的是补码