数据类型转换
由于Java是强类型语言,所以要进行运算的时候,需要用到类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算
- 强制数据类型转换
- 自动数据类型转换
小数的优先级一定大于整数
public class demo2 {
public static void main(String[] args) {
/**
* 数据类型转换
* 大转小强制转换
* 小转大自动转换
*/
int i=128;
byte b=(byte) i;//强制转换
System.out.println(b);//这里打印出来负数是因为 内存溢出
//浮点数比整数大
double d=i;//自动转换
System.out.println(d);
//精度问题
double y=12.89;
int z=(int) y;
System.out.println(z);//丢失精度
/*
需要注意:
不能对boolean进行转换位,
不能把对象转换成不相干的类型
大的转小的,强制类型转换,反之,自动类型转换
转换的时候可能会出现内存溢出,丢失精度问题
*/
char c=‘a‘;
int c2=98;
System.out.println(c+1);//自动转换
System.out.println((char) c2);
System.out.println("====================================================");
//操作较大的数的时候,注意溢出问题
//JDK7新特性 数字之间可以用下划线来分隔 不影响运算结果或输出
int money=10_0000_0000;
int year=20;
long result=money*year;//内存溢出
long result2=(long) money*year;//先转换为long
System.out.println(result);
System.out.println(result2);
}
}
变量常量以及作用域
类变量 实例变量(成员变量) 局部变量
public class demo3 {
//类变量 作用于整个类
static double saraly=2500;
//实例变量 作用于整个类 可以不赋予值 整数默认为0
// 浮点型默认为:0.0
//boolean默认为: false
//除了基本类型 其余默认值都为null
int y;
public static void main(String[] args) {
//局部变量 必须初始化值 只在该代码块中有效
int x=10;
System.out.println(x);
System.out.println(new demo3().y);
System.out.println(saraly);
}
}
常量
-
常量(Constant):初始化(initialize)后不能在改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行的过程中不允许被改变。
final 变量名=值 final double PAI=3.14;
-
常量名称一般使用大写字符
变量的命名规范
- 所有的变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 比如:lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线 比如:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man.GoodMan
- 方法名:首字母小写和驼峰原则: runRun();