类型转换
-
由于Java是强类型语言,所有进行运算时有时候需要用到类型转换。运算时,不同类型的数据先转换为同一类型再进行运算。
public class Demo04 {
public static void main(String[] args) {
int i = 128;
byte b =(byte)i;//运行结果为-128;内存溢出
//强制转化 高->低 (类型)变量名
//自动转换 低->高
System.out.println(i);
System.out.println(b) ;
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为无关类型
3.高容量转换到低容量为强制转换
4.转换的时候可能存在内存溢出或者精确度问题
*/
System.out.println((int)-1.2); //-1
System.out.println((int)2.7); //2
char c = 'a';
int d = c+1;
System.out.println(d);//98
System.out.println((char)d);//b
}
}
public class Demo05 {
public static void main(String[] args) {
//使用较大的数时注意溢出问题
int money = 10_0000_0000;
int years = 20;
int total = money * years;//-1474836480,内存溢出
long total2 = money * years;//默认为int,转换前已经存在问题
long total3 = money*((long)years);//先把一个数转换为long
System.out.println(total3);
}
}
变量
-
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
public class Demo06 { public static void main(String[] args) { //int a,b,c; //int a=1,b=2,c=3 //程序可读性 int a = 1; int b = 2; int c = 3; String name ="Daisy"; char x = 'X'; double pi = 3.14; } }
变量的命名规范
注意事项:
- 变量名必须是合法的标识符
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域:
变量作用域,变量的可用性范围
public class Demo07 { //类变量 static static double salary = 2500; //实例变量:从属于对象;未进行初始化即为默认值0/0.0 //布尔默认值为false;除了基本类型,其余的默认值为null String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10; System.out.println(i); //变量类型 变量名字 = new Demo07 Demo07 demo07 = new Demo07(); System.out.println(demo07.name); System.out.println(demo07.age); System.out.println(salary); } }
常量
- 初始化(initialize)后不能再改变的值,可以理解成一种特殊的变量,它的值被设定后在程序运行过程中不允许被改变(常量名一般是用大写字符)