Java基础语法02
Java基础语法02
类型转换
Java是强类型语言,所以进行有些运算时会需要类型转换。
低-------------------------------------------------------------->高
byte,short,char-->int-->long-->float-->double
运算中,不同类型的数据会转化为同一类型,然后进行运算。低优先级回向高优先级转换。
强制类型转换
强制类型转换是会出现内存溢出的情况,所以对数据类型转换时要注意数字大小。
public class Demo {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i ;//强制将 int型 转化为 byte型
//内存溢出
System.out.println(i);//输出结果128
System.out.println(b);//输出结果-128
}
}
自动类型转换
自动类型转换会自动将低优先级转化为高优先级
int i2 = 128;
double b2 = i ;//自动类型转换
//低-->高
System.out.println(i2);//128
System.out.println(b2);128.0
注意点:
- 不能对布尔值进行转化
- 不能把对象类型转化为不相干的类型
- 在把高容量转换到低容量时,强制转换
- 转换的时候会存在内存溢出,或者精度问题
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
操作比较大的数时要注意溢出问题:
//jdk7新特性可以在数字中加_
int money = 10_0000_0000;
int year = 20;
int total = money*year;
System.out.println(total);//-1474836480 溢出了
long total2 = money*year;//在 total2 变成 long 之前money和year已经进行过运算了
System.out.println(total2);//-1474836480
long total3 = ((long)money) * year;//money转化为long型会在运算时把year也自动转换
System.out.println(total3);//20000000000
变量
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域:
类变量、实例变量、局部变量
类变量需要加static修饰符
局部变量只能在方法内使用而且必须申明和初始化
public class Demo {
//类变量
static double monthSalary = 2500;
//实例变量 类里面,方法外面,从属于对象,不用初始化,会自行变成这个类型的默认值
//0 0.0 布尔值默认false 其余类型默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量 使用之前必须申明,并初始化
int i = 10;
//实例变量的用法
Demo05 demo05=new Demo05();
System.out.println(demo05.age);//0
System.out.println(demo05.name);//null
}
//其他方法
public void add(){
}
}
常量
初始化就不能再改变值,一般常量名用大写字符
需要加final的修饰符
public class Demo {
static final double PI =3.14;
//static final 都是修饰符,不分先后顺序
public static void main(String[] args) {
System.out.println(PI);//3.14
}
}
变量命名规范
-
所有变量、方法、类名:必须见名知意
-
类成员变量:首字母小写+驼峰原则:monthSalary
-
局部变量:首字母小写+驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Man;GoodMan
-
方法名:首字母小写和驼峰原则:run(),runOut()

浙公网安备 33010602011771号