java数据类型:
1.基本数据类型
- 整数类型:byte short int long
- 浮点类型:float double
- 字符类型:char
- 布尔类型: boolean
2.引用数据类型
- String
- 数组
- 类
- 接口
3.单位(小->大):
基本数据类型
以下基本数据类型:
1.整型变量(int)
基本格式:
int 变量名 =初始值;
public class TestDemo {
public static void main(String[] args) {
int num=10;//定义一个整形变量
System.out.println("num");
}
}
注:
- 在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系.第一位符号位(0正1负),既可正也可负,表示数据范围是 -2^31 -> 2 ^31-1 ;
- 在Java中,变量在使用之前未初始化或赋值时,会报错。
- 在Java中,定义变量且赋值时,不能给一个超过其数据类型范围的数据;
- 如果运算的结果超出了 int 的最大范围, 就会出现溢出,如下:
int maxValue = Integer.MAX_VALUE;
System.out.println(maxValue+1);
int minValue = Integer.MIN_VALUE;
System.out.println(minValue-1);
2.长整型变量(long)
基本格式:

long 变量名 =初始值;
public class TestDemo {
public static void main(String[] args) {
long num =10L;//定义了一个长整型变量,L大小写均可,建议大写
System.out.println("num");
}
}
注:
- Java 中 long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2 ^63-1。
3 .双精度浮点型变量(double)
语法格式:
double 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
double num = 1.0;
System.out.println(num);
}
}
注:
- 占8个字节
-在 Java 中, int 除以 int 的值仍然是 int(会直接舍弃小数部分)。
int a = 1;
int b = 2;
System.out.println(a / b);
//执行结果:0
- 如果想得到 0.5, 需要使用double 类型计算。
double a = 1.0;
double b = 2.0;
System.out.println(a / b);
// 执行结果
0.5
4. 单精度浮点型变量(float)
基本格式:
float 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
float num = 1.0f; // 写作 1.0F 也可以
System.out.println(num);
}
}
注:
- 占四个字节。
5. 字符类型变量(char)
基本格式:
char 变量名 = 初始值;
代码示例:
char ch='a';
注:
- Java 中使用 单引号 + 单个字母 的形式表示字符字面值。
- 占用2个字节
- 使用一个字符表示一个汉字时:
char ch = ‘呵’;
System.out.println(ch);
执行 javac 的时候可能出现错误。
此时我们在执行 javac 时加上 -encoding UTF-8 选项即可。
javac -encoding UTF-8 Test.java
6. 字节类型变量(byte)
语法格式:
byte 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
byte value = 0;
System.out.println(value);
}
}
注:
- 字节类型表示的也是整数. 只占一个字节, 表示范围较小 ( -128 -> +127 )。
- 字节类型和字符类型互不相干。
7. 短整型变量(short)
语法格式:
short 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
short value = 0;
System.out.println(value);
}
}
注:
- short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767。
- 这个表示范围比较小, 一般不推荐使用。
8 .布尔类型变量(boolean)
语法格式:
boolean 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
boolean value = true;
System.out.println(value);
}
}
注:
- boolean 类型的变量只有两种取值, true 表示真, false 表示假。
- Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。
- boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定。
9.字符串类型变量
- 基本语法格式:
String 变量名 = “初始值”;
代码示例:
public class TestDemo {
public static void main(String[] args) {
String name = "ikun";
System.out.println(name);
}
}
注:
- 字符串类型变量的字面值用双引号引住。
- 字符串中的一些特定的不太方便直接表示的字符需要进行转义.
如:打印“ikun”,直接 ““ikun”” 是错误的,此时需要我们了解转义字符
正确示例如下:
public class TestDemo {
public static void main(String[] args) {
String name = "\"ikun\"";
System.out.println(name);
}
}
转义字符
- 几个比较常见的转义字符如下:
转义字符 | 解释 |
---|---|
\n | 换行 |
\t | 水平制表符 |
\’ | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
字符串拼接
- 字符串的 + 操作, 表示字符串拼接。
- 任何类型的数据和字符串拼接后结果都是一个字符串
String str1 = “Hi,”;
String str2 =“honey.”;
System.out.print(str1+str2);
执行结果:
Hi,honey.
- 字符串和整数的拼接:
int a=10;
int b=20;
System.out.println(“a=”+a+" "+“b=”+b);
执行结果:
a=10 b=20
- 如下示例,result的定义中并不会将a与b的值进行相加 ,而是进行了拼接。
String str = "result = ";
int a = 10;
int b = 20;
String result = str + a + b;
System.out.println(result);
执行结果:
result = 1020
说明当一个 + 表达式中存在字符串的时候, 都是执行字符串拼接行为。
10. 常量
1.字面值常量
常见字面值常量:
10 // int 字面值常量(十进制)
010 // int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8
0x10 // int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16
10L // long 字面值常量. 也可以写作 10l (小写的L)
1.0 // double 字面值常量. 也可以写作 1.0d 或者 1.0D
1.5e2 // double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2
1.0f // float 字面值常量, 也可以写作 1.0F
true // boolen 字面值常量, 同样的还有 false
‘a’ // char 字面值常量, 单引号中只能有一个字符
“abc” // String 字面值常量, 双引号中可以有多个字符.
2.final 关键字修饰的常量
final int a = 10;
a = 20; // 编译出错. 提示 无法为最终变量a分配值
注:常量不能在程序运行过程中发生修改.
11.包装类
- 使用以下代码查看 Java 中的整型数据范围:
System.out.println(Integer.MAX_VALUE); // int 的最大值
System.out.println(Integer.MIN_VALUE); // int的最小值
运行结果:
2147483647
-2147483648
- 使用以下代码查看 Java 中的长整型数据范围:
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
运行结果:
9223372036854775807
-9223372036854775808
- int:integer
- char: Character
- 其余都是首字母大写