数据类型
1基本数据类型:
布尔类型boolean
整型 byte、int、long、short
浮点型 float、double
2.引用数据类型:String、类、枚举、接口.
一.整型变量
- int 表示变量的类型是一个整型
- Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值.
- 初始化操作是可选的, 但是建议创建变量的时候都显式初始化
- .int是4个字节,和操作系统没关系。 1个字节8bit 4byte = 32bit,和操作系 统没关系
- 4 个字节表示的数据范围是 -2^31 -> 2^31-1
public static void main(String[] args) {
int num = 10;
System.out.println(num); //定义一个整型变量
System.out.println(Integer.MAX_VALUE); //int的最大值
System.out.println(Integer.MIN_VALUE); //int的最小值
二.长整型变量
格式 : long 变量名 = 初始值;
1.使用 10 初始化也可以, 10 的类型是 int, 10L 的类型是 long, 使用 10 L 或者 10 l 更好一些
2.`` long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2^63-1
long num = 10L; //定义一个长整型变量
System.out.println(num);
System.out.println(Long.MAX_VALUE); //long的最大值
System.out.println(Longr.MIN_VALUE); //long的最小值
三.双精度浮点型
格式 :double 变量名 = 初始值;
double虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范围.
int a = 1; //两个整形相除,结果也只能是整形
int b = 2;
System.out.println(a / b);
double c = 1.0;
double d = 2.0;
System.out.println(c / d);
double e = 1.1;
double f = 1.1;
System.out.println(e * f);
运行结果:
0 两个整形相除,结果也只能是整形 ,不会保存小数
0.5
1.2100000000000002
四.单精度浮点型
格式:float 变量名 = 初始值;
float f = 12.5f;
System.out.println(f);//4
double a = 1.0d;
System.out.println(a);
五.字符类型变量
格式:char 变量名 = 初始值;
字符类型变量是两个字节
char c = 'a';
System.out.println("c =" + c);
char d = '胡';
System.out.println("d =" +d);
六.字节类型变量
格式:byte 变量名 = 初始值;
- 字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )
- 字节类型和字符类型互不相干.
//字节类型 byte 1个字节
byte a = 11;
System.out.println("a ="+ a );
七.短整型变量
格式:short 变量名 = 初始值;
1.short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767
2. 这个表示范围比较小, 一般不推荐使用.
八.布尔类型
格式:boolean 变量名 = 初始值;
注意事项
- boolean 类型的变量只有两种取值, true 表示真, false 表示假.
- Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
- boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定.
九字符串类型变量
格式:String 变量名 = “初始值”;
注意事项:
- Java 使用 双引号 + 若干字符 的方式表示字符串字面值.
- 和上面的类型不同, String 不是基本类型, 而是引用类型(后面重点解释).
- 字符串中的一些特定的不太方便直接表示的字符需要进行转义.
String name = "love";
System.out.println("name =" + name);
十. 常量
- 字面值常量
- .final关键词修饰的常量
final int a = 10;
a = 20; // 编译出错. 提示 无法为最终变量a分配值
注意:
1.定义常量使用final关键词
2.常量名需要大写
3.常量一旦被赋值,后续无法更改,只能初始化一次