java中的数据类型 #
基本类型: 特点:首字母小写的 #
八个
- 数值由6个
- 字符 + 布尔
引用类型:对象类型; 首字母大写的
| byte | 字节 | 1个字节 8位(bit)0001 0001 | 文件的大小,网络传输的最小单位b | -2的n-1次幂 ~ 2的n-1次幂-1 |
| short | 短整型 | 2个字节 16位 | 淘汰的16位计算机 | |
| int | ※整型 | 4个字节 32位 | 字面量 | |
| long | 长整型 | 8个字节 64位 | 电脑的时间从1970-1-1到现在的毫秒数 | |
| float | 单精度浮点 | 32位 | 基本不用 | 8个有效数字(不准) |
| double | 双精度浮点 | 64位 | 字面量 | 16个有效数字 (不准) |
8种基本数据类型的默认值: #
整型: #
byte :0
short :0
int :0
long :0
浮点型: #
单精度:float:0.0
双精度: double : 0.0
字符型: #
char : 一个空字符(\u0000)
布尔类型 : #
boolean : false
数据类型转换: #
数据类型的排序(小->大): #
byte < short/char<int<long<float<double
boolean 不参加排序
自动类型转换(隐式转换): #
小类型给大类型赋值,小类型自动转换成大类型
强制类型转换(显示转换): #
大类型给小类型赋值,大类型强制转换成小类型
运算符 #
算术运算符: #
一元运算符: #
| – | 取反(取负数) |
|---|---|
| ++ | 自增,++a相当于a = a+1; |
| — | 自减,–a相当于 a= a-1; |
二元运算符: #
| + | 两个数相加,返回结果 |
|---|---|
| – | 两个数相减,返回其结果 |
| * | 两个数相乘,返回其结果 |
| / | 两个数相除,返回其结果 |
| % | 求摩(取余数),两个数相除取他的余数 |
关系运算符; #
| >= | |
|---|---|
| <= | |
| > < | |
| == | 判断两个值是否相等(相等返回true,不相等返回false) |
| != | 不等于 判断两个值不相等(不相等返回true,相等返回false) |
逻辑运算符: #
一元: #
! 逻辑非 作用:把真的变成假的,把假的变成真的
二元: #
| 运算符 | 说明 |
|---|---|
| & | 逻辑与 左右两边同真为真 |
| | | 逻辑或 只要有一边为真就为真,两边同假才为假 |
| && | 短路与 左右两边同为真,才为真;如果左边为假,右边表达式不看,直接返回一个false |
| || | 短路或 左边的表达式为true,右边表达式不看,直接返回true 左右两边表达式全为false,才会返回false |
赋值运算符: #
| 运算符 | 说明 |
|---|---|
| = | 赋值运算 将右侧的值赋值给左侧 |
| += | 相加并赋值 b += a;等价于b = b+a |
| -= | 相减并赋值 a-=b;等价于 a = a-b; |
| *= | 相乘并赋值 |
| /= | 相除并赋值 |
| %= | 取余并赋值 a %= b;等价于a = a%b; |
条件运算符:(三元运算符) #
?:
语法格式:表达式1 ? 表达式2 :表达式3
表达式1 是一个布尔表达式(返回true或者false)
注意点:表达式1结果为true 执行表达式2;
表达式1结果为false 执行表达式3
运算符的优先级 #
| 优先级 | 运算符 |
|---|---|
| 1 | 括号: (),[] |
| 2 | 一元算数运算符 ! ++(前) –(前) |
| 3 | 二元算数运算符 ++(不独占一行,后) –(不独占一行,后) |
| 4 | 关系运算符 |
| 5 | 逻辑运算符 |
| 6 | 条件运算符 |
| 7 | 赋值运算(=,-=,+=…) |
