一、类型转换
- 运算中不同类型的数据要先转换为同一类型再进行运算。
- 前边提到的数据类型排列
//低----------->高
byte short char -> int -> long -> float -> double
- 强制转换 (类型)变量名 高转低
自动转换 低转高 - 注意点:不能对布尔值进行转换
不能把对象类型转换为不相干类型
在把高容量转换为低容量的时候,需要进行强制类型转换
转换时要注意可能存在内存溢出或者精度问题!
在操作较大的数时要一定一定要注意溢出问题
int money = 10_0000_0000;//数字之间可以用下划线分隔
int years = 20;
int v = money * years;
long v1 = money * years;//使用long类型接收也不可以因为money和years都是int类型所有它也默认int类型
long v2 = money * (long)years;//需要先转换一个long类型
System.out.println(v2);//输出200亿,正确
System.out.println(v1);//输出-1474836480
System.out.println(v);// 输出结果不是我们预想的200亿,而是-1474836480,溢出导致
二、变量、常量、作用域
一、变量
1.了解变量
变量就是可以变化的量;变量是Java的基本存储单元,使用变量前要先声明。
2.变量的格式
数据类型 变量名 = 初始值;
int age = 100;
int v,b,n;//可以使用逗号隔开声明多个同类型变量
int a = 10,b=20,c=30;//不建议这样写,代码可读性不好
3.注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,所有每一个声明必须用分号结尾(英文里的分号)
4.变量作用域
public class et {
static int n = 10;// static 类变量,它属于这个类
String name;//实例变量:属于对象;如不初始化值,数值类型默认值为0;布尔值默认为false,除了基本类型,其它都默认为null(空)
public static void main(String[] args) {
String name2 = "杜甫"; //局部变量:必须声明和初始化值
二、常量
1.了解常量
初始化值后就不能再改变!不会变动的值;常量可以理解成一种特殊的变量,它的值被设定后在程序运行过程中就不允许被改变。
2.常量格式
Final 常量名 = 初始值;
常量名一般要大写
final String NAME = "李白";//常量名一般要大写
谢谢大家阅读,写的不好的多多包涵,十分感谢!如有侵权,无意之举,告知删除!