-
强类型语言
要求变量的使用要严格符合规范,所有变量都必须先定义后使用
-
弱类型语言
-
Java的数据类型分为两大类
-
基本类型
-
引用类型
-
基本类型
//八大基本数据类型
?
//整数
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//long类型要在数字后面加个L
?
//小数:浮点数
float num5 = 50.1F;//float类型要在数字后面加个F
double num6 = 3.141592653589793238462643;
?
//字符
char name = ‘国‘;
//字符串,String不是关键字、类
//String namea = "长歌";
?
//布尔值:是非
boolean flag = true;
//boolean flag = false;
-
最好完全避免用浮点数进行比较
如果实在需要可以使用BigDecimal类(数学工具类)
-
转义字符
-
\t 制表符
-
\n 换行
-
-
进制
-
二进制:0b开头
-
八进制:0开头
-
十六进制:0x开头
-
int i = 10;
int i1 = 010;//八进制0
int i3 =0x10;//十六进制0x 0~9 A~F 16
类型转换
int i = 128;
byte b = (byte)i;//内存溢出
?
//强制转化 (类型)变量名 高--低
//自动转化 低--高
System.out.println(i);
System.out.println(b);
?
/*
注意点:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 在把高容量转换到低容量的时候,强制转换
4. 转换的时候可能存在溢出,或者精度问题
*/
?
System.out.println("===========================");
System.out.println((int)23.7);//23
System.out.println((int)-34.23f);//-34
?
System.out.println("===========================");
char c = ‘a‘;
int d = c+1;
System.out.println(d);
System.out.println((char)d);
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了
long total1 = money*years;//默认是int,转换之前已经存在问题了
?
long total2 = money*((long)years);
System.out.println(total);
System.out.println(total1 );
System.out.println(total2 );