类型转换
优先级由 低——>高 byte,short,char,int,long,float,double 浮点型的优先级高于整型
强制类型转换
高优先级(容量)向低优先级(容量)类型的转换 格式:类型 变量名=(类型)变量名
自动类型转换
低优先级(容量)向高优先级(容量)类型的转换 自动转换
public class Demo3 {
public static void main(String[] args) {
int a=128;
byte b=(byte)a;//内存溢出 byte数据类型范围-128——127
// 强制转换:(类型)变量名 高优先级(容量)------>低优先级(容量)
System.out.println(a);
System.out.println(b);
System.out.println("=========================");
int c=128;
double d=c;
//自动转换 低优先级------>高优先级
System.out.println(c);
System.out.println(d);
/*1.注意点:不能对布尔值进行转换
2.不能把对象类型转化为不相干的类型
3.高容量转换到低容量的时候需要强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("================================");
System.out.println((int)23.7);
System.out.println((int)-45.89);
char e='a';
int f=e+1;
System.out.println(f);
System.out.println((char)f);
System.out.println("==============================");
char g='a';
int h=g;
System.out.println(h);
}
}
public class Demo04 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//JDK7的新特性,数字之间可以用下划线分割
int money=10_0000_0000;
int years =20;
int total=money*years; //-1474836480
long total2=money*years;//默认是int 计算完之后转换为long 此时结果已经溢出
System.out.println(total);
System.out.println(total2);
long total3=money*(long)years;
System.out.println(total3);
}
}
变量
Java是一种强类型语言,每个变量都需要声明他的类型
注意事项:
- 每个变量都要有类型,类型可以是基本类型(8大基本类型),也可以是引用类型(String)
- 变量名必须是合法的标识符
- 每个变量写完都必须要以分号(;)结束;
变量作用域
类变量
public class Demo06 { //类
//类变量 Static 变量类型 变量名
static double salary=2500; //自动转换
public static void main(String[] args) { //main方法
//类变量 Static
System.out.println(salary);
}
实例变量
public class Demo06 { //类
//属性:变量
/*实例变量:从属于对象(Denmo6) 如果不自行初始化,那么他的值将会为默认值
基本类型:0 布尔类型:false 其他类型:null */
int age;
String name;
public static void main(String[] args) { //main方法
//局部变量; 使用前必须申明和初始化值
//变量类型 变量名
Demo06 demo06 = new Demo06();
System.out.println(demo06.age);
System.out.println(demo06.name);
}
局部变量
public static void main(String[] args) {
//局部变量; 使用前必须申明和初始化值
int i=10;
System.out.println(i);
}
常量
初始化后其值不再改变;
final 常量名=值;
final double PI=3.14
public class Demo07 {
//static final double PI=3.14; //类变量
//修饰符 不区分前后
final static double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量命名规范
-
所有变量、方法、类名要求见名知意。
-
除常量外的变量名、类名、方法名命名要求按驼峰原则来(除第一个单词以外,后面的单词首字母大写) 例如:lastName
-
常量定义要求大写字母和下划线 例MAX_VALUE