参考博客:03-Java基本数据类型与运算符
基本数据类型
Java的基本数据类型包含8种,分别是byte、short、int、long、char、float、、double、boolean
整型
通常所说的整型,实际是以下4种类型。
- byte:1字节(8位),表数范围是(-27)~(27 - 1)
- short:2字节(16位),表数范围(-215)~(215 - 1)
- int:4字节(32位),表数范围(-231)~(231 - 1)
- long:8字节(64)位,表数范围(-263)~(263 - 1)
字符型
通常用于表示单个的字符,字符型值必须用单引号(’)括起来,如char a='A'
; Java使用16位的Unicode字符集作为编码方式。
- ‘A’、‘9’、‘0’
- ‘\n’、’\r’、’\t’
- ‘\uXXX’,XXX代表一个16进制的整数
浮点型
Java浮点型有两种:float、double;分别代表单精度浮点数、双精度浮点数。
- float:4字节(32位)
- double:8字节(64)位
- 十进制数形式:5.12, 512.0,.512。必须包含小数点!
- 科学计数法:5.12e2(5.12x102)
boolean型
用于表示逻辑上的 真 或 假,true or false,不能用0或非0表示,其他数据类型的值也不能转换成boolean类型。
Java规范没有强制指定boolean类型的变量所占用的内存空间,虽然它的变量或值只要1位即可保存,但大部分计算机分配内存时允许分配的最小内存单元是字节(8位),因此,bit大部分实际上是占用8位。
基本类型的类型转换
自动类型转换
表数范围小的可以向表数范围大的进行自动类型转换,如同有两瓶水,小瓶的水倒入大瓶中没有任何问题。
强类型转换
把上图箭头右边的类型转换为左边的类型,则必须进行强类型转换,格式:(targetType) value。
进行强类型转换时,类似于把大瓶子里的水倒入小瓶子,如果大瓶子里的水不多还好,否则将会引起溢出,从而造成数据丢失。
public class NarrowConversion {
public static void main(String[] args) {
int iValue = 223;
// 强制把int类型的值转换为byte类型
byte byteVal = (byte) iValue;
// 溢出,将输出-33
System.out.println(byteVal);
// 强制把double类型转换为int类型
double dValue = 3.14;
int tol = (int) dValue;
// 输出3,向下取整
System.out.println(tol);
}
}
运算符
三目运算符
三目运算符只有一个 : ? :,语法格式如下:
(expression) ? if-true-statement : if-false-statement;
public class TreeTest {
public static void main(String[] args) {
String str = 1 < 2 ? "1小于2":"1不大于2";
System.out.println(str); // 输出1小于2
}
}