数据类型
数据类型的转换
强制转换与自动转换
int i =128;
byte b = (byte)i;//内存溢出
//强制转换 (类型)变量名 高-低
//自动转换 低-高
//byte-short-char-int-long-float-double(低 高)
System.out.println(i);
System.out.println(b);
注意
- 不能对布尔值转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
System.out.println((int)28.9);
System.out.println((int)-54.94f);
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
public class Demo02 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
int money = 10_0000_0000;
System.out.println(money);
int year = 20;
int total = money*year;
System.out.println(total);// 计算的时候溢出
long total2 = money*year;
//默认是int,转换前就存在问题了
long total3 =money*(long)year;
System.out.println(total3);
}
}
变量 常量 作用域
变量:类变量 实例变量 局部变量
public class Demo03 {
//类变量:static
static double saLary = 2500; //工资
//实例变量:从属于对象,范围更大
//布尔值:默认为false
//除了基本类型,其余的默认值都为null
String name;
int age ;
//main方法
public static void main(String[] args) {
String name = "liming";
char x ='X';
double pi = 3.14;
//局部变量:{}之间,必须声明初始化值
int d = 1 ;
System.out.println(x);
//变量类型 变量名字 == new Demo03()
Demo03 demo03 = new Demo03();
System.out.println(demo03.age);//初始化 0
System.out.println(demo03.name);//初始化 null
System.out.println(saLary);
}
public void add(){
}
}
结果:
X
0
null
2500.0
注意事项
/* 每个变量都有类型,类型可以是基本类型,也可以是引用类型String
* 变量名必须是合法标识符
* 变量声明是一条完整的语句,因此每一个声明都需要以分号结束
*
* 变量的命名规范
* 所有变量,方法,类名:见名知意
* 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
* 局部变量:首字母小写和驼峰原则
* 常量:全大写 MAX_VALUE
* 类名:首字母大写和驼峰原则:Man、GoodMan
* 方法名:首字母小写和驼峰原则 run(),runRun()
* */
常量
常量的修饰符为:final
public class Demo04 {
//常量: final 例如设计地图高度 属性等,无需修改
//修饰符,不存在先后顺序
static final double PI = 5.7847;
//static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
结果
5.7847