java基础(2)
类型转换
public class demo3 {
public static void main(String[] args) {
//类型转换
byte i1 = 10;
int i2 = i1; //低转高,自动转换
byte i3 = (byte)i2; //高转低,强制转换 格式:(类型)变量名
System.out.println(i3); //10
int i4 = 128;
byte i5 = (byte)i4;
System.out.println(i5); //-128 溢出,byte -128 - 127
System.out.println("===============");
System.out.println((int)2.7); //2
System.out.println((int)-4.9); //-4
System.out.println("===============");
char c1 = 'a';
int i6 = c1 + 1;
System.out.println(i6); //98
System.out.println((char)i6); //b
}
}
类型转换注意问题:
- 不能对布尔值进行转换
- 高转低需要进行强制转换
- 不能把对象类型转换为不相干的类型
- 转换过程中注意溢出问题和精度问题
public class demo4 {
public static void main(String[] args) {
//操作比较大的数时,注意溢出问题!!!
//JDK7特性,数字之间可以用下划线
int money = 10_0000_0000;
int years = 20;
int total = money*years;
System.out.println(total); //-1474836480
long total2 = money*years;
System.out.println(total2); //-1474836480
long total3 = money*(long)years;
System.out.println(total3); //20000000000
}
}
变量
变量注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Demo6 {
//属性:变量
//常量
final double PI = 3.14;
//修饰符前后顺序没有要求
static final double MAX_VALUE = 100;
final static double MIN_VALUE = 0;
//类变量
static String adress = "中国";
//实例变量
//可不初始化,默认值为0 0.0
//boolean类型默认值为false
//基本数据类型外其他数据类型默认值为null
int j;
String name;
//main方法
public static void main(String[] args) {
//局部变量 必须声明并初始化
int i = 1;
System.out.println(i);
//实例变量
Demo6 demo6 = new Demo6();
System.out.println(demo6.j); //0
System.out.println(demo6.name); //null
//类变量
System.out.println(adress); //中国
}
//其他方法
public void add(){
//System.out.println(i); 局部变量有范围
}
}
变量命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则:studentName
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:add(),sumAdd()