数据类型及类型转换

数据类型

  • 强类型语言

    要求变量的使用要严格符合规范,所有变量都必须先定义后使用

  • 弱类型语言

  • 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 );

 

数据类型及类型转换

上一篇:element plus的日历改成中文的


下一篇:HashiCorp 创始人卸任,回归初心再做全职工程师