数据类型
public class Demo01 {
public static void main(String[] args) {
//整数
int num=10;//最常用
byte num1=11;
short num2=12;
long num3=13L;//long的数字后要加L
//小数:浮点数
float num4=50.1F;//float后要加F判断
double num5=3.34342343256;
//字符
char name='A';//字符用单引号,只能一个字符(一个字母或者一个字)
//字符串
String name1="yehaiping";
//布尔值
boolean flag = true;
//整数拓展: 进制 二进制0b 八进制0 十进制 十六进制0x
int i = 10;
int i2 = 023;
int i3 = 0x10;
int i4 = 0b10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
//浮点数拓展
//最好避免浮点数大小比较
//字符串拓展
char q1 = 'a';
char q2 = '中';
System.out.println(q1);
System.out.println((int)q1);//强制转换
System.out.println(q2);
System.out.println((int)q2);//强制转换
//unicode表 0-65536
//转义字符
// \t 制表符
// \n 换行
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
//布尔值拓展
boolean flag1 = true;
if(flag1 == true);//if(flag1 == true)=if(flag1)
public class Demo03 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i ;//内存溢出
//强制转换(类型)变量名 高---->低 需要强制转换
// byte,short,char--->int--->long--->float--->double (低--->高)
System.out.println(b);
System.out.println(i);
//低--->高不需要强制转化
int u = 20;
double j = u;
System.out.println(u);
System.out.println(j);
/*
注意点
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干类型
3.在把高容量转换为低容量时,强制转换
4.转换时可能存在内存溢出,或者精度问题
*/
//操作比较大的数时,注意溢出问题
//数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;
System.out.println(total);//溢出
System.out.println("===================================");
long total2 = money*years;
System.out.println(total2);//先转换成int,在转换成long,转换中错误
System.out.println("===================================");
long total3 = money*(long)years;
System.out.println(total3);//先把其中一个数字转换成long,再计算
System.out.println("===================================");
}
}
}
}