9.25 学习笔记
类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
大小排序:byte, short,char-int-long-float[^1]-double
- 运算中,不同类型的数据先转化为同一类型,然后进行运算。
强制转换类型转换方法
int i = 12;
byte b = (byte)i;
(类型)变量名
从高到低,需要注意内存不要溢出
自动转换类型转换方法
int i = 12;
double b = i;
无需加任何东西,
从低到高
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转化的时候可能存在内存溢出,或者精度问题
(System.out.println((int)-45.89f);的输出结果是-45)
小结
char c = 'a';
int d = c + 1;
System.out.println(d);
System.out.println((char)d);
输出结果:98
b
常见问题
int money = 10_0000_0000;//JDK7新特性,数字之间可以用下划线分割
int years = 20;
int tatal1 = money*years;//结果是-1474836480,计算的时候溢出了
long tatal2 = money*years;//结果还是-1474836480,转换之前就已经溢出,这里只是把-1474836480转换为long
long tatal3 = money*((long)years);//结果就正确了,要先把一个数转换为long
变量
可以变化的量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
int a = 1;
String name = "jian18";
char x = 'X';
double pi = 3.142;
float pi = 3.14f;
变量作用域
类变量 实例变量 局部变量
//局部变量
//在方法内有效,必须声明和初始化值
public static void main(String[] args){
int i = 10;
System.out.ptintln(i);}
//实例变量
//从属于对象
String name;
int age;
//类变量
//从属类,直接在类的下面
static double salary = 2500;
常量
初始化后不能再去改变
常量名一般用大写
final //常量名 = 常量值
final double PI = 3.14;
static final double PI = 3.14;//final可在static的前后