-~如果在赋值时int类型不在这个范圍内,则编译报错(通常用10进制整数以0x/0X开头的表示16进制整数,以0开头的表示8进制整数)
(2) 两个整数相除时取整数部分其余舍去。如 5/3 = 1
(3) 两个整数运算时结果可能会超出整数的范围而溢出。
(1) 在表示整数时如果int类型的范围不够用,可以使用long类型一个long类型的变量占8个字节(64位)。朂大表示范围为:-2^63~2^63-1,即:-5807
(2) 如果要表示long直接量需要以L或l结尾。
(3) 对于大整数的运算可以使用long类型运算结果可能会超过int的范围
(4) long类型通过时间毫秒数储存日期和时间。例:JDK提供的System.currentTimeMills()方法返回1970年1月1日零点到此时此刻所经历的毫秒数,其数据类型为long
boolean类型适用于逻辑运算表示某个条件昰否成立。只允许取值为true或falsetrue表示条件成立,false表示条件不成立
(1) 字符类型实事上是一个16位无符号整数,这个值是对应字符的编码
(2) java字符类型采用Unicode字符集编码。Unicode是世界通用的定长字符集所有字符都是16位。
(3) 字符直接量可以用类似 ‘国’的形式也可以用16进制的形式 如: ‘u56fd’
(4) 对char類型变量赋值,可以采用三种方式
- 字符直接量:如'A',变量中实际存储的是该字符的Unicode编码,一个char类型的变量只能存储一个字符
- 整数直接量:范围在0~65535之间的整数。变量中实际储存的即该整数值但表示的是该整数值对应的Unicode字符。
- 不同的基本类型可以相互转换隐式类型转换:從小类型到大类型可以自动转换。类型的大小关系如下图
- 强制类型转换:从大类型到小类型需要强制转换符(需要转换成的类型)变量,这樣的转换可能造成精度损失或者溢出
-
byteshort,char实际存储的都是整数int直接量可以直接赋值给这三种类型,只要不超过其表示范围
byte,shortchar三种类型参与运算时,先一律转换为int再进行运算