一、数据类型
1.1 是什么?
数据存储形式,存储空间大小
1.2 存储
主要通过二进制来进行存储!
电子位,统称位,又叫bit 比特
原码
反码=原码的符号位不变,其余的位1变为0,0变为1
补码=反码+1
1.3 分类
基本数据类型
数值型
①整型
Byte 字节 8bit -128~127
Short 短整型 16bit -32768~32767
Int 整型 32bit -2147483648~2147483647
Long 长整型 64bit xxxxxx
②浮点型
Float 单浮点 32bit xxxx
Double 双浮点 64bit xxxxx
③字符型
Char 字符 16bit 0~65535
④布尔型
Boolean 布尔 8bit 00000001 true 00000000 false
⑤引用数据类型
类,数组,接口
1.4 类型使用
1.4.1 整数型
用的最多的就是int类型
long类型的值,需要加L/l结尾,不区分大小写,建议大写(因为小写实在是太像1了,避免混淆)
二进制 0b开头
八进制 0开头
十六进制 0x开头
1.4.2 浮点型
1.4.3 字符型
字符型的值,使用单引号表示,并且单引号中有且只有一个字符
字符型可以转换为int行,ASCII码
支持Unicode编码
1.4.4 转义符
转义符'\',把有意义字符转换为无意义字符
1.4.5 布尔型
Java中布尔型的值只有true和false
一般适用于流程控制
占用一字节,1为true,0为false
1.5 类型转换
8种基本类型中,除了布尔型,其他都可以进行类型转换
自动类型转换:低精度到高精度
强制类型转换:高精度到低精度,有可能会丢失精度
1.6 类型转换-进阶
二、变量
2.1 常量
值在生命周期中不可更改
2.2 变量
2.3 变量声明
2.4 变量分类
2.5 变量调用
2.6 变量调用优先级
2.7 默认值
局部变量没有默认值
静态变量和成员变量有默认值
三、运算符
3.1 算数运算符
3.2 混合运算
* 当进行多类型混合运算时,结果是参与运算的最大类型
*
* 当只有byte short int char 四种类型中任意一种或多种进行运算,结果一定是int类型
3.3 关系运算
3.4 位运算/逻辑运算
3.5 位运算进阶
// & 也支持两边是数字,转换为二进制进行每位比较,都是1 则取1,否则取0
// 运算结果,不会超过两个数中的最小数,所以适合用于做数组下标技术(包括hash算法)
// 0000 1111
// 0000 1000
// 0000 1000
System.out.println(15 & 8);
// ^ 也支持两边是数字,转换为二进制进行每位比较,不同取1,相同取0
// 因此 两个相同数进行^ , 结果得0 , 并且 0和任何数进行^ , 该数不变
// 0000 1111
// 0000 1000
// 0000 0111
System.out.println(15 ^ 8);
System.out.println(15 ^ 56 ^ 23 ^ 15 ^ 23);
// ~ 按位非,转换二进制,1变0,0变1 (符号位也会变)
// 0000 1100
// 1111 0011 补码
// 1111 0010 反码
// 1000 1101
System.out.println(~12);
// >> : 右移运算(考虑符号位,符号位不受影响)
// 10 >> 1 , 右移1次,会把最右边的一个删除,在最左边补0 (如果是负数,就补1)
// 右移一次,相当于该数 / 2
// 0 00000 10
System.out.println(10 >> 2);
// 1000 1010
// 1111 0101
// 111111 01
// 111111 00
// 100000 11
System.out.println(-10 >> 2);
// >>> : 右移运算(不考虑符号位),只补0,不补1
System.out.println(10 >>> 2);
// 1000 0000 0000 0000 0000 0000 0000 1010
// 1111 1111 1111 1111 1111 1111 1111 0101
// 001111 1111 1111 1111 1111 1111 1111 01
System.out.println(-10 >>> 2);
System.out.println(0b00111111111111111111111111111101);
// << : 左移运算,只补0, 不补1
// 左移1次,相当于该数*2
// 0000 0010
// 00 001000
System.out.println(2 << 2);
// 1000 0010
// 1111 1101
// 1111 1110
// 11 111000
// 11 110111
// 10 001000
System.out.println(-2 << 2);
// 如何快速计算2的3次方?
System.out.println(2 << 2);
3.6 赋值运算
3.7 字符串连接符
3.8 三目运算符
三目运算符,又叫三元运算符
句型:布尔型表达式?真语句:假语句;
布尔型表达式:只要运算结果是布尔型就行
注意啦,已经补充完毕啦,如果对你有帮助的话就留下你的小赞赞吧.