文章目录
一、变量与常量
1. 字面常量
字面量就是数据,数据就是字面量,而常量是在程序运行时,固定不变的量称为常量。例:
public class Test1 {
public static void main(String[] args) {
System.out.println("HelloWorld"); //字符串常量
System.out.println('A'); //字符常量
System.out.println(5.20); //浮点型常量
System.out.println(1314); //整型常量
System.out.println(true); //布尔型常量
System.out.println(false); //布尔型常量
}
}
以上的 “HelloWorld”、‘A’、5.20、1314、true/false均为常量,也称字面常量。
2. 变量
这里我们可以看到没有赋值访问报错了。
3. 成员变量与局部变量
public class Test1 {
int a = 100;//成员变量
public static void main(String[] args){
int b = 100;//局部变量
}
int c = 50;//成员变量
}
二、数据类型
1. 基本数据类型和引用数据类型
2. 各数据类型的大小(字节)及范围
三、类型转换
1. 自动类型转换
1. 小容量可以自动赋值给大容量,这叫做自动类型转换,如果大容量的类型转化为小的类型就会报错。
2. 在任何情况下,整数型的 "字面量/数据 "默认当作 int 类型处理,但是 byte、short、char 类型的字面量没有超过其范围时,可以直接赋值给byte、short、char 类型的变量。
这里我们可以看到他们都可以直接赋值,但如果超过他们的范围就会报错
也可以看报错的提醒,也证明了整数型赋值时当做 int 类型处理。
3. 任何一个浮点型默认被当作 double 类型处理。
2. 强制类型转换
有大容量的类型经过强转转换为小容量的类型,称强制类型转换。如下:
这里我们可以看到其输出为 100,并没有报错。
注意:
1. 在进行强制类型转换时可能会损失精度。
原因如下:
2. 当 byte、short、char 进行混合运算时,先各自转化为 int , 再进行运算。
通过这个错误我们可以看到,a + b 后的最终结果变为了 int 类型,需要进行强转类型转换。
3. 多种数据类型进行混合运算时,各自转换成容量最大的那个类型进行计算。
从代码中可以看到再进行混合运算时 long 类型容量最大,所以混合运算的结果为 long 类型。需要将其强转转换。
public class Test1 {
public static void main(String[] args) {
int a = 10.0 / 2;
}
}
两种改法:
4. java中规定,int 类型和 int 类型最终结果为 int 型。
可以看到在运算时并没有小数产生,并且把小数给舍去了。
好了,本次的内容就到这里了,因博主水平有限,难免会发生错误,见到的话可以在评论区留言或私信博主,多谢各位。^ _ ^