一、自动类型提升
byte (1) short (2) int (4) long(8 )floatdouble
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,要用容量大的数据类型来接 ------结果自动提升为容量大的数据类型。
容量大小是指 这个类型表示数的范围的大和小,不是占用内存空间的大和小。eg:float的容量大于long的容量
补充:
short 和char 做运算结果是int
byte 和char 做运算结果是int
byte \char\short ----int ----long---float----double,
当byte,short ,char 三种类型的变量做运算时,结果为int
二、强制类型转换: 自动类型提升运算的逆运算 (容量大的类型转换为容量小的类型)
1.需要使用强转符:()
2.强制类型转换,可能导致精度损失
eg:
double d1 = 12.9;
int i = d1;//无法将double类型转换为int 类型
int i = (int) d1;-------括号里是要转成的类型---//截断操作
精度损失
int i2 = 128;
byte b = (byte) i2;结果为-128
编码情况
//整形常量,默认为int型
//浮点型常量,默认为double型
三、字符串类型:string
1.string 不是基本数据类型,属于引用数据类型,翻译为:字符串(很多字符的串)。
2.使用方式与基本数据类型一致,
3.声明String类型变量时,使用一对“ ”
String s3 = "a";
char c = '' ;//编译不通过---char型不能为空,‘ ’,有且只能放一个
4.String 可以和八种基本数据类型做运算,且运算只能是连接运算 :符号 +(连接运算)
int number = 1001;
String numberStr = "学号:"
String info = numberStr + number ; // +:连接运算
5.运算的结果仍然是String 类型
String str1 = 123 +"";
sout(str1);//123
int num1 = Integer.parseInt(str1);------将string 强制转换成int
sout(num1);//123
标签:String,int,数据类型,char,规则,byte,运算 From: https://www.cnblogs.com/LY0713/p/16929676.html