Java 数据类型

Java 数据类型

文章目录

  • Java 数据类型
    • 1. 基本类型
      • 1.1 整数类型
      • 1.2 浮点类型
      • 1.3 字符类型
      • 1.4 布尔类型
      • 1.5 类型之间的转换
        • 1.5.1 自动类型转换
        • 1.5.2 强制类型转换
    • 2. 类类型
      • 2.1 预定义类
      • 2.2 自定义类
    • 3. 示例


1. 基本类型

Java 语言提供了 8 种基本数据类型,分别用于存放:

  • 整数类型
  • 浮点类型
  • 字符类型
  • 布尔类型
关键字 字节(二进制位) 类型名称
byte 1 字节(8 位) 字节型
short 2 字节 (16 位) 短整型
int 4 字节(32 位) 整型
long 8 字节 (64 位) 长整型
float 4 字节(32 位) 单精度浮点类型
double 8 字节(64 位) 双精度浮点类型
char 2 字节(16 位) 字符型
boolean 1 字节(8 位)

1.1 整数类型

Java 为整数类型提供 4 种基本数据类型,它们分别是:

  • byte,范围:- 27 ~ 27 - 1
  • short,范围: - 215 ~ 215 - 1
  • int,范围:- 231 ~ 231 - 1
  • long,范围:- 263 ~ 263 - 1

byte、short、int 和 long,都是表示整数的类型,只是表示的数范围不同。

1.2 浮点类型

Java 为浮点类型提供 2 种基本数据类型,它们分别是:

  • float,实数,
  • double ,实数,表示数的精度是 float 表示精度的两倍

1.3 字符类型

  • char,字符,事实上是一个 16 位无符号整数,这个值是对应字符的编码

Java 中采用 Unicode 字符集编码。Unicode 是世界上通用的定长字符集,所有的字符都是 16 位。

1.4 布尔类型

  • boolean,用于逻辑运算,表示关系运算的结果,只能取 true 或者 false 两个值。

true 表示条件成立,false 表示条件不成立。


1.5 类型之间的转换

不同的基本类型之间可以相互转换:

  • 自动类型转换(隐式类型转换)
  • 强制类型转换

1.5.1 自动类型转换

从小类型可以转换到大类型。
类型的大小关系如下图所示:

byte
short
int
long
float
double
char

1.5.2 强制类型转换

语法:

// (需要转换成的类型) 需要转换的变量
int score = 100;
byte grade = (byte)score;

强制类型转换可能会存在精度损失或溢出。
boolean 不允许类型转换。


2. 类类型

使用 class 关键字定义的类型,都是类类型。

2.1 预定义类

jdk 中自带的类,可以直接使用。
如:常用的 Date、Math、String、Integer 等

returnValueType functionName(argumentsType arguments)
{
	double myPI = Math.PI;
	String name = "Alan";
	...
}

2.2 自定义类

用户使用 class 关键字定义的类型。

[public] class YourClassName [extends BaseClassName, or implements InterfaceName]
{
...
}

注意:[] 中的内容可选,根据情况决定是否保留。

3. 示例

public class BaseDataType
{
    public static void main(String[] args)
    {
        byte rmbNominalValue = 100;
        short grade = 150;
        int studentsNumber = 5000;
        long millisecondsPerHour = 60 * 60 * 1000;
        float coordinate = 0.5f;
        double pi = 3.14159;
        char surname = '陈';
        boolean man = true;
        System.out.println("byte type: " + rmbNominalValue);
        System.out.println("short type: " + grade);
        System.out.println("int type: " + studentsNumber);
        System.out.println("long type: " + millisecondsPerHour);
        System.out.println("float type: " + coordinate);
        System.out.println("double type: " + pi);
        System.out.println("char type: " + surname);
        System.out.println("boolean type: " + man);
    }
}

结果:

byte type: 100
short type: 150
int type: 5000
long type: 3600000
float type: 0.5
double type: 3.14159
char type: 陈
boolean type: true

你可能感兴趣的:(Java语言基础)