》主要内容:
变量的初始化、赋值、读写操作
8中基本数据类型(取值范围)、整数的直接量(字面量)是哪种类型、浮点数的字面量是哪种类型
》变量
》》声明变量:开启一个存储单元,用于存储一个数据。
》》注意:
1. Java必须先声明, 并且初始化以后才能使用
2. 在同一个作用域中不能重复定义!
3. 变量可以多次赋值,重复使用
4. 声明变量时候同时初始化
5. 一行声明多个变量
package a1_test.com; public class Test01 {
public static void main(String[] args) {
int i; //声明变量
i = 100; //对已经声明的变量进行初始化
int j = 200; //声明变量的同时进行初始化
}
}
变量的声明、初始化
》》命名规则:
变量名,方法名,类名的命名规则:
可以由 字母 数字 _ $ 组成
不能以数字为开头
不能包含特殊符号
大小写敏感--区分大小写
不能使用关键字和特殊字面量
- 关键字 if class
- 保留关键字 保留字: goto const
- 特殊字面量:true false null
int a;
a = 3; //赋值语句,将3数字装到变量的空间中
// 将3写入到a变量中,将3保存到a变量中
int b;
b = a;//将变量a值读取出来,赋值到变量b
//变量可以进行 读写操作--访问一个变量
int c = a+b;
System.out.println(c);//
变量的读写操作
》Java中的8种基本类型
整数4种 - byte short int long - 浮点数2种 - float double - 字符类型 - char - 布尔类型 - boolean
》》byte
- 在计算机底层 8 位2进制数。
- 范围 -128 ~ 127 ,有符号数
- 不能进行超范围赋 byte b = 128; //出现编译错误
- 实用性不高, 使用不多
- 用于表示最小的存储单元。
package a1_test.com; public class Test01 {
public static void main(String[] args) { //出现编译错误:Type mismatch: cannot convert from int to byte
byte i = 128;
}
}
编译错误
》》short
- 占用16位2进制
- 范围 -32768 ~ 32767
- 实用性不高!
- 不能超范围赋值: short s = 32768; //出现编译错误
》》int
- 占用32位2进制空间,相当于4 byte
- 范围:-21亿 ~ 21亿
- 不能超范围赋值
- int i = 2200000000;//编译错误
- 最常用的 数据类型。
- 整数的直接量是int类型数据
- 直接量不能超出整数int范围
- 0x作为16进行的直接量
- 16进制数字:0~9 a~f
- int n = 0xff;
- 整数除法是整除
- Java整除计算会溢出,不会出现错误
- 程序员要注意范围,避免溢出。
package a1_test.com; public class Test01 {
public static void main(String[] args) { //出现编译错误:The literal 4000000000 of type int is out of range
//原因:整数的直接量是int类型
//解决办法:在整数后面添加一个l/L让其变成长整型
long l = 4000000000;
System.out.println(l);
}
}
整数的直接量
》》long
- 采用64存储,相当于8个byte
- 范围:非常大!
- 以l、L为结尾的字面量是long类型的字面量。
- 超过int范围的数据要采用long类型进行计算
- 计算机中时间采用long类型表示
- 计算机时间是从1970年到现在累计的毫秒数
》》浮点数类型
浮点数采用的2进制科学计数法。
float double
- float 32位浮点数
- double 64位点数
- double 的精确程度是float的两倍
- 浮点数字面量默认类型是double,f为后缀的字面量是float类型
- double 类型计算有舍入误差!天生现象!
》作业
- 定义整数变量 a b c d, 分别赋值特定数,并且进行计算,得到如下结果:
- 计算a+b的结果
- 计算a*b结果
- 计算a/b的结果
- 设计一组数据使a+b+c+d的计算结果溢出
- 利用long类型解决a+b+c+d溢出的问题。
- 定byte short类型的变量 e 和 f,利用字面量初始化为特定的值,输出这些值。
- 定义double类型的变量x,c, 其中c赋值为光速,计算x的值为一个光年的距离,结果单位为“米”。
- 查询资料,利用double类型计算银河系的宽度。