byte,char ,short->int->long->float->double
//byte 为字节型
//char 为字符型
//short 为短整型 int 为整型 long 为长整型
//float ,double 为浮点数类型
(类型)变量名 高>>低
例如:
public class Decom05 {
public static void main(String args[]){
int a1 = 125;
int a2 = 130;
byte b = (byte)a1;
byte c = (byte)a2;
System.out.println(b); //125
System.out.println(c); //-126
}
}
若用int类型转换为byte类型 数据超过-128~127的范围时 ,b输出未知.内存溢出.
强制转换需要注意存储范围
public class Decom05 {
public static void main(String args[]){
double a1 = 32.45;
float a2 = 28.36f;
int a3 = (int)a1;
long a4 = (long)a2;
System.out.println(a1);//32.45
System.out.println(a2);//28.36
System.out.println(a3);//32
System.out.println(a4);//28
}
}
可见,浮点类型强转为整型,小数部分将会丢失. 注意:并非四舍五入
不需要复杂转换
public class Decom05 {
public static void main(String args[]){
int a5 = 464;
double a6 = a5;
float a7 = a5;
System.out.println(a5); //464
System.out.println(a6); //464.0
System.out.println(a7); //464.0
}
}
public class Decom05 {
public static void main(String args[]){
char a1 = 'c';
int b = a1+1;
System.out.println(b); //100
System.out.println((char)b); //d
}
}
字符型变量运算处理输出整型变量时,字母会转化为对应的Unic编码值,在进行运算.
整型变量转化为字符型会通过unic编码表转化为对应的字母.
对较大的数据进行操作时,注意存储范围
例如:
public class Decom05 {
public static void main(String args[]){
int money = 10_0000_0000;
int year = 20 ;
int total1 = money*year ;
long total2 = money*year;
long total3 = money*(long)year;
System.out.println(total1); //-1474836480
System.out.println(total2); //-1474836480
System.out.println((long)total2); //-1474836480
System.out.println(total3); //20000000000
}
}
两个较大的Int类型数据,进行乘法运算时,输出的结果超出int 存储范围,导致内存溢出
在打印输出时,将结果强转为长整型变量,结果仍然溢出,原因:money 和year都是int类型,运算结果也是Int类型,内存已经溢出.此时转化为长整型变量无济于事
解决溢出问题,在两个int类型进行运算时,对其中一个数据强转为长整型变量.输出结果为长整型变量,结果正确
数字后缀带L表示长整型数据
注意细节:长整型类型,数据后缀最好是大写L,避免使用小写l误解为数字1;
例如: long double i = 123456.0L; ✔
long double i = 123456.0l; ✖
分类:
public class Decom05I {
static int allClinks=0; //类变量
String str="Hello world"; //实例变量
public void method(){
int i =0 ; //局部变量
}
}
快捷键方法声明:psvm 取首字母
注:final用来定义常量,不在修改!
static 作为修饰符,代表类,随类文件存在
public class Decom05I {
static final double PI = 3.14; //类变量,可以在main方法中直接调用
public static void main(String[] args) {
System.out.println(PI);
}
}
sattic final double PI = 3.14;
等价于
final satic double PI = 3.14;
final 变量名 = 值;
final double PI = 3.14;