总结了一些小知识点,不是面面俱到,为了能够方便查看复习,就当作是笔记了~
目录
1.基本类型有四类八种:
①整数:byte short int long
②浮点数:float double
③字符:char
④布尔:boolean
2.各类型占多少字节?
3.包装类
int 的包装类是Integer
long的包装类是Long
short的包装类是Short
double的包装类是Double
示例:
public class Pra0104 {
public static void main(String[] args) {
//int类型所表示范围的最大值和最小值
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
4.字面值
10 表示一个int类型的字面量
10L 表示一个long类型的字面量
long num=100_0000_1000L; //为了方便读数,也可以通过加下划线的方式
10.0 表示一个double类型的字面量
10.0f 表示一个float类型的字面量
'a' 表示char类型的字面量
char num='中'; //由于java中char类型占两个字节,所以也可以是中文字符
System.out.println(num);
boolean类型的值只有true,false两种
5.如何比较两个浮点数相等?
不能用==来比较两个浮点数是否相等,会存在误差。
正确的做法是,把两个要比较的浮点数进行相减,比较这个差值是否小于一定的范围(误差允许的范围)
6.类型转换
①不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型.
②如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失.
③将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
7.数值提升
byte和byte的运算示例
可以看到,在第三行出现了波浪线。这是因为,在a+b的过程中,不是byte+byte,而是先把byte转成int,也就是int+int,结果还是int,再赋给c就是有问题的。
修改后如下:
总结:
①不同类型的数据混合运算, 范围小的会提升成范围大的.
②对于 short, byte 这种比 4 个字节小的类型, 会先提升成4个字节的int,再进行计算
8.其他(关于String)
String不是基本数据类型,在这里也稍微总结一下。
①整数转字符串
int num=10;
String str=""+num;
System.out.println(str);
int num=10;
String str=String.valueOf(num);
System.out.println(str);
②字符串转整数
String str="100";
int num=Integer.parseInt(str);
//int num=Integer.valueOf(str);
System.out.println(num);