Java的数据类型
变量
整型变量 int
在 Java 当中,最常用的也是整型变量。语法如下:
int 变量名 = 初始值;
代码示例:
int num = 10;
System.out.println(num) ;
这里就是定义一个整型变量,变量名是 num 赋初值为 10。然后输出 num 的值。
在 Java 当中 int 是 4 个字节,和操作系统没有关系,因为 Java 的运行是在 Java 虚拟机 JVM 当中运行的,所以类型的大小和操作系统没有关系。
在 Java 当中,可以直接求出某个类型的最大值和最小值。例如求 int 类型的最大和最小值,就可以用到 Java 的包装类 Integer :
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
因为 1 个字节是 8 个比特位。所以 4 个字节就是 32 个比特位。所以能表示的大小就是:最大是 2^31-1 最小是 -2^31 。
平时使用 int 类型的时候,一定要注意大小和范围,不然就会导致溢出,溢出就会使结果不准确。
长整型变量 long
长整型变量也是整型,不过表示的范围比整型更大。当整型表示的范围不够的时候,就可以使用长整型来表示。要注意的是,定义的时候要在数字的后面加上 L 。语法格式:
long 变量名 = 初始值;
代码举例:
long a = 10L;
System.out.println(a);
Java 当中 Long 占 8 个字节,就是 64 个比特位。所以 long 的表示范围是: -2^63 到 2^63-1 。当然 long 类型也有对应的包装类 Long 。使用其包装类也可以求出对应的最大和最小值。
long a = Long.MAX_VALUE;
long b = Long.MIN_VALUE;
System.out.println(a);
System.out.println(b);
long 表示的范围比 int 大很多,所以需要很大的数的时候,就使用 long 。
单精度浮点数 float
在求小数的时候,如果对精度要求不高,就可以使用 float 。float 占 4 个字节,就是 32 个比特位,适用于对精度要求不高的场景。使用语法:
float 变量名 = 初始值;
使用的时候,也要在数字后面加上 F 来表示这是一个浮点数。代码示例:
float a = 1.0f;
System.out.println(a);
当然 float 也有对应的包装类:Float 。但是在项目当中使用浮点数的时候,能用 double 就用 double 因为 double 的精度更高。而且精度范围更大。下面我们来认识 double 。
双精度浮点数 double
双精度浮点数 double 用来表示小数,但是精度更高。语法如下:
double 变量名 = 初始值;
代码如下:
double a = 1.0;
System.out.println(a);
我们在使用除法求小数的时候,一定要将一个除数变为 double 类型,不然就会出现下面这样的情况:
int a = 1;
int b = 2;
System.out.println(a / b);
结果是 0 ,因为除的结果应该是 0.5 但因为是 int 类型,所以结果就变成了 0 。当我们要求得小数的时候,一定要让一个除数变成小数。
Java 的 double 类型精度很高,比如下面这个例子:
double num = 1.1;
System.out.println(num * num);
在我们的认识当中,结果应该是 1.21 但这里的结果却不一样。因为浮点数的内存布局和整数差别很大, 不能单纯的用 2^n 的形式表示数据范围。
字符类型 char
char 在 Java 当中是表示字符,语法格式:
char 变量名 = 初始值;
用单引号引起来的是表示字符,例如:
char ch = 'A';
System.out.println(ch);
在 Java 当中,用 Unicode 表示字符,因此一个字符占两个字节,这样就能表示更多的字符,包括中文。
字节类型 byte
byte 是 Java 当中新出来的类型,大小为一个字节,8 个比特位,所以表示的范围就是 -128 到 127 。语法格式:
byte 变量名 = 初始值;
代码如下:
byte value = 10;
System.out.println(value);
短整型变量 short
short 也是整型的一种,不过是两个字节,表示的范围更小了,范围是:-32768 到 +32767 。语法如下:
short 变量名 = 初始值;
代码示例:
short value = 10;
System.out.println(value);
在项目当中使用到时候,一般不建议使用 short 因为表示的范围较小,不如直接使用 int 。
布尔类型变量 boolean
在 Java 当中 boolean 类型用来表示表达式的真假,真:true 、假:false 。表达式:
boolean 变量名 = 初始值;
代码示例:
boolean value = true;
System.out.println(value);
要注意的是:
- boolean 类型的变量只有两种取值, true 表示真, false 表示假.
- Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
- boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定.
字符串类型 String
把一些字符合起来就变成了字符串,String 就是表示字符串的类型。语法:
String 变量名 = “初始值”;
代码示例:
String name = "Lockey";
System.out.println(name);
要注意的是:Java 使用 双引号+若干字符 的方式来表示字符串。
字符串的 + 表示字符串拼接。既可以拼接字符,也可以拼接数字。例如:
String str = "Lockey";
String str1 = "qwer";
System.out.println(str+str1);
System.out.println(str+123);
所以我们平时输出字符串的时候,就可以使用字符串的拼接来实现想要的功能。