1.二进制、八进制、十六进制
十进制转二进制:除二取余法
二进制转十进制:如二进制数110,从右往左依次取值0,1,1,算式为
八进制:每3位二进制作为一个单元,最小数是0,最大数是7,共8个数字,这就是八进制
97:01100001 01、100、001--> 141
十六进制:每4位二进制作为一个单元,最小数是0,最大数是15,共16个数字,依次用: 0~9 A B C D E F 代表就是十六进
250:11111010 1111、1010--> FA
2.数据最小保存单元:字节。1B=8bit
1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.引用数据类型:除基本数据类型外,如String
基本数据类型:见下表
数据类型 | 关键字 | 取值范围 | 内存占用(字节数) |
整数 | byte | -128~127 | 1 |
short | -32768~32767 | 2 | |
int(默认) | -2147483648~2147483647 (10位数) | 4 | |
long | -9223372036854775808 ~ 9223372036854775807 (19位数) | 8 | |
浮点数 | float | 1.401298e-45到3.402823e+38 | 4 |
double(默认) | 4.9000000e-324 到1.797693e+308 | 8 | |
字符 | char | 0-65535 | 2 |
布尔 | boolean | true,false | 1 |
4. 自动类型转换:类型范围小的变量,可以直接赋值给类型范围大的变量
byte short
int
long
float
double
char
5.表达式的有哪些类型转换是需要注意的?
byte、short、char是直接转换成int类型参与运算的。
6.强制类型转换可能造成数据(丢失)溢出
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回
7.“+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
package Demo;
public class Demo {
public static void main(String[] args) {
int a = 5;
System.out.println("abc" + a); //abc5
System.out.println(5 + a); //10
System.out.println("abc" + 5 + 'a'); //abc5a
System.out.println(15 + "abc" + 15); //15abc15
System.out.println(a + 'a'); //102
System.out.println(a + "" + 'a'); //5a
System.out.println(a + 'a' + " itheima "); //102 itheima
System.out.println("itheima" + a + 'a'); //itheima5a
System.out.println("itheima" + (a + 'a')); //itheima102
}
}
8.自增、自减运算符 ++ --
在变量前 ,先进行变量自增/自减,再使用变量 ++a
在变量后 ,先使用变量,再进行变量自增/自减 a++
9.&&:短路与,判断结果与“&”一样。过程是左边为 false,右边则不执行
||:短语或,判断结果与“|”一样。过程是左边为 true, 右边则不执行
^:异或,相同为false,不同为true
逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行