变量与作用域、常量
类型转换
强制转换 (类型)变量名 (int)a 高→低
自动转换 低→高
低 ---------------------------------------------------------------> 高
byte, short, char → int → long → float → double
public class Demo05 { public static void main(String[] args) { int i=128; byte c=(byte)i; double b=i; System.out.println(i); System.out.println(c); System.out.println(b); //强制转换 (类型)变量名 高->低 //自动转换 低->高 /* 注意点 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换为低容量时强制转换 4.转换时可能存在内存溢出或精度问题 */ System.out.println((int)23.7); System.out.println((int)-45.89F); System.out.println("============================="); char c1='a'; int d=c1+1; System.out.println(d); System.out.println((char)d); } }
变量
注意事项
- 每个变量都有类型,可以是基本类型也可以是引用类型
- 变量名必须是合法标识符
- 变量声明必须是一个完整语句,每一个声明必须以分号结束
变量及作用域
类变量,实例变量,局部变量
public class Demo06 { //类变量 static开头,可直接输出 static double salary=2500; //属性:变量 //实例变量,从属于对象,如不自行初始化,这个类型默认的值 0,0.0 //布尔值,默认是false //除了8个基本类型,其余默认值是null String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 int i=10; System.out.println(i); //调用实例变量 //变量类型 变量名字 = new Demo06(); Demo06 demo06=new Demo06(); System.out.println(demo06.age); System.out.println(salary); } }
常量
- 初始化后不能再改变值
final 常量名=值; final double PI=3.14;
- 常量名一般使用大写字符
public class Demo07 { //修饰符不存在先后顺序,static final double与final static double等价 final static double PI=3.14; public static void main(String[] args) { System.out.println(PI); } }
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man, GoodMan
- 方法名:首字母小写的驼峰原则:run(), runRun()