0%

Java基础类型

本文将逐个介绍 Java 的基础类型,使各位对 Java 的基础变量类型有更深的了解。

基础变量类型介绍

int

  • int类型是声明一个变量为整数型。
  • 占用内存32位。
  • 范围为 -2 ^ 31 ~ 2 ^ 31 - 1。
  • 默认值为0。

short

  • short类型是声明一个变量为短整型。
  • 占用内存16位。
  • 范围为 -2 ^ 15 ~ 2 ^ 15 - 1。
  • 默认值为0。

long

  • long类型是声明一个变量为长整型。
  • 占用内存64位。
  • 范围为 -2 ^ 63 ~ 2 ^ 63 - 1。
  • 默认值为 0L。
  • 声明需注意,数字后跟L,例如:long a = 2000L;

float

  • float类型是声明一个变量为单精度、符合IEEE 754标准的浮点数。
  • 占用内存32位。
  • 默认值为 0.0f。
  • 声明需注意,数字后跟f,例如 float b = 3.14f。
  • float类型不能用于表达精确值!

double

  • double类型是声明一个变量为双精度、符合IEEE 754标准的浮点数。
  • 占用内存32位。
  • 默认值为 0.0d。
  • double类型同样不能用于表达精确值!
  • 当一个浮点数未明确声明为float型时,默认为double型

boolean

  • boolean类型是声明一个变量为布朗逻辑型。
  • 占用内存为1位。只有 true 与 false 两种值。
  • 默认值为 false。

byte

  • byte类型是声明一个变量为以二进制补码表示的整数。
  • 占用内存8位。
  • 范围为 -128 ~ 127。
  • 默认值为0。

char

  • short类型是声明一个变量为Unicode字符。

  • 占用内存为16位。

  • 可以存储任何字符。

注意 String 不是基础变量。

基础变量类型间的转换

隐式转换

隐式转换的意思是,不通过显式声明,由程序默认按优先级高低从低级向高级转换。

1
2
低级 -> 高级
byte,short,char —> int —> long —> float —> double

例如:

1
2
3
4
5
6
char c1='a';
int i1 = c1; //char自动类型转换为int
System.out.println("char 自动类型转换为 int 后的值等于 " + i1);
char c2 = 'A';
int i2 = c2+1; //char 类型和 int 类型计算
System.out.println("char 类型和 int 计算后的值等于 " + i2);

此时输出的结果为

1
2
char 自动类型转换为 int 后的值等于 97
char 类型和 int 计算后的值等于 66

显式转换

显式转换的意思是,通过显式声明,将一个变量类型转换成另一变量类型,如

1
2
int i = 1;   
byte b = (byte) i;

显式类型需要注意:

  1. 不能对boolean类型进行类型转换。
  2. 不能把对象类型转换成不相关类的对象。
  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  4. 转换过程中可能导致溢出或损失精度,例如:
1
2
int i = 128;
byte b = (byte) i;

此时输出b的值为 -128

基础变量的包装类

Java 中每一个基础变量都有一个对应的包装类,对基础变量进行操作。

  • Integer
  • Short
  • Long
  • Float
  • Double
  • Boolean
  • Byte
  • Character

包装类可以对基本类型进行操作,如 Integer 类提供了将 String 变量转换为 int 变量的方法。

1
2
String str = "123";
int a = Integer.parseInt(str);

此时a的值为 123。

其余类型同理,具体可以通过快捷键在idea中查看各个包装类的方法,此处不再赘述。

原创技术分享,您的支持将鼓励我继续创作.