【JavaSE专栏5】Java 基本数据类型和取值范围

柔情只为你懂 2023-09-24 16:21 101阅读 0赞

作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

目录

    • 一、Java 的数据类型
      • 1.1 存储单位
      • 1.2 Java 基本数据类型
    • 二、Java 的取值范围
      • 2.1 变量定义
      • 2.2 取值范围验证
    • 三、课时小结

在这里插入图片描述


一、Java 的数据类型

在计算机科学和计算机编程中,数据类型或简单的类型是数据的一个属性,它告诉编译器或解释器程序员打算如何使用数据。大多数编程语言支持整数(大小不同)、浮点数(近似实数)、字符和布尔值的基本数据类型。数据类型约束表达式的值,例如变量或函数,可能需要。此数据类型定义了可以对数据执行的操作、数据的含义以及存储该类型值的方式。数据类型提供一组值,表达式(即变量、函数等)可以从中获取其值。

数据类型在类型系统中使用,类型系统提供了定义、实现和使用它们的各种方法。不同的类型系统确保不同程度的类型安全。

几乎所有的编程语言都明确包含数据类型的概念,尽管不同的语言可能使用不同的术语。


1.1 存储单位

在学习数据类型之前,首先需要学习什么是存储单位。

在计算机中,每一块内存都被划分为一个个最小存储单元。

比特(位)是计算机中最基本的单位,位是最基本的概念,在计算机中,由于只有逻辑0和逻辑1的存在,即每一个逻辑0或者1便是一个位.

每个最小存储单元只能存储 0 或者 1,称作 bit (比特),八个比特等于一个字节,单位换算如下所示。

  • 8 bit = 1 Byte 一字节
  • 1024 B = 1 KB (KiloByte) 千字节
  • 1024 KB = 1 MB (MegaByte) 兆字节
  • 1024 MB = 1 GB (GigaByte) 吉字节
  • 1024 GB = 1 TB (TeraByte) 太字节
  • 1024 TB = 1 PB (PetaByte) 拍字节
  • 1024 PB = 1 EB (ExaByte) 艾字节
  • 1024 EB = 1 ZB (ZetaByte) 泽字节
  • 1024 ZB = 1 YB (YottaByte) 尧字节
  • 1024 YB = 1BB(Brontobyte)珀字节
  • 1024 BB = 1 NB (NonaByte) 诺字节
  • 1024 NB = 1 DB (DoggaByte)刀字节

聪明的小伙伴看了上面的公式,就会理解为什么 100 M 的宽带,实际下载速度只有12.5 MB/S 了。

字节是计算机信息技术用于计量存储容量的一种计量单位,字节表示计算机编程语言中的数据类型和语言字符,在计算机中八位作为一个字节,字节是构成信息的一个小单位,并作为一个整体来参加操作。在微型计算机中,用字节来表示存储器的存储容量。


1.2 Java 基本数据类型

Java 中有着 3 大类基本数据类型,分别是数值型、字符型和布尔型。

其中数值型分为整数的 byteshortintlong,和浮点数 floatdouble,共计 8 种,如下图所示。

在这里插入图片描述

提示:Java 中除了基本数据类型外,还有引用数据类型,包括类、接口、数组,将在后面的课时中讲解。


二、Java 的取值范围

在学习 Java 各数据类型的取值范围前,首先要学习基本变量的定义方法。

2.1 变量定义

首先参考《JavaSE专栏3】JDK安装、IntelliJ IDEA安装、配置环境变量》 完成基本项目的创建,后面课时不在提示本段。

整型 Int

首先定义一个整型 int,并且赋值为 1,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. int a = 1;
  4. System.out.println(a);
  5. }
  6. }

整型 short

定义一个整型 short,并且赋值为 2,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. short a = 2;
  4. System.out.println(a);
  5. }
  6. }

整型 byte

定义一个整型 byte,并且赋值为 3,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. byte a = 3;
  4. System.out.println(a);
  5. }
  6. }

整型 long

定义一个整型 long,并且赋值为 4,请注意需要加上后缀 L,否则默认为 int,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. long a = 4L;
  4. System.out.println(a);
  5. }
  6. }

浮点型 float

定义一个浮点型 float,并且赋值为 5.0,请注意需要加上后缀 f,否则默认为 double,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. float a = 5.0f;
  4. System.out.println(a);
  5. }
  6. }

浮点型 double

定义一个浮点型 double,并且赋值为 6.0,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. double a = 6.0;
  4. System.out.println(a);
  5. }
  6. }

字符型 char

定义一个字符型 char,并且赋值为 ‘a’,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. char a = 'a';
  4. System.out.println(a);
  5. }
  6. }

布尔型 boolean

定义一个布尔型 boolean,并且赋值为 true,代码如下所示。

  1. public class Main {
  2. public static void main(String[] args) {
  3. boolean a = true;
  4. System.out.println(a);
  5. }
  6. }

Java 中还存在包装类的定义方式,效果基本等同,如 int a = 1 也可以定义为 Integer a = 1。
包装类有着不同的存储位置、初始值和使用方式。
包装类的概念、使用方法和自动装箱拆箱在后续课时中会讲到。

在这里插入图片描述


2.2 取值范围验证

在验证之前首先展示结果,如下图所示。

在这里插入图片描述

取值范围验证代码如下:

  1. public class Main {
  2. public static void main(String[] args) {
  3. System.out.println("Byte 最大值 = " + Byte.MAX_VALUE);
  4. System.out.println("Byte 最大值 = " + Byte.MIN_VALUE);
  5. System.out.println("Short 最大值 = " + Short.MAX_VALUE);
  6. System.out.println("Short 最大值 = " + Short.MIN_VALUE);
  7. System.out.println("Int 最大值 = " + Integer.MAX_VALUE);
  8. System.out.println("Int 最大值 = " + Integer.MIN_VALUE);
  9. System.out.println("Long 最大值 = " + Long.MAX_VALUE);
  10. System.out.println("Long 最大值 = " + Long.MIN_VALUE);
  11. System.out.println("Float 最大值 = " + Float.MAX_VALUE);
  12. System.out.println("Float 最大值 = " + Float.MIN_VALUE);
  13. System.out.println("Double 最大值 = " + Double.MAX_VALUE);
  14. System.out.println("Double 最大值 = " + Double.MIN_VALUE);
  15. System.out.println("Char 最大值 = " + Character.MAX_VALUE);
  16. System.out.println("Char 最大值 = " + Character.MIN_VALUE);
  17. System.out.println("boolean 真 = " + Boolean.TRUE);
  18. System.out.println("boolean 假 = " + Boolean.FALSE);
  19. }
  20. }

输出结果

  1. Byte 最大值 = 127
  2. Byte 最大值 = -128
  3. Short 最大值 = 32767
  4. Short 最大值 = -32768
  5. Int 最大值 = 2147483647
  6. Int 最大值 = -2147483648
  7. Long 最大值 = 9223372036854775807
  8. Long 最大值 = -9223372036854775808
  9. Float 最大值 = 3.4028235E38
  10. Float 最大值 = 1.4E-45
  11. Double 最大值 = 1.7976931348623157E308
  12. Double 最大值 = 4.9E-324
  13. Char 最大值 =
  14. Char 最大值 =
  15. boolean = true
  16. boolean = false
  17. 进程已结束,退出代码0

除此之外还可以在 IntelliJ IDEA 按住 Ctrl + 鼠标左键,查看类的源码。

在这里插入图片描述

如果定义了超出取值范围的变量,IntelliJ IDEA 会给与编译提示,也无法通过编译,如下图所示。

在这里插入图片描述


三、课时小结

在本节课时中,首先学习了数据类型、存储单位的基本概念,从而引申出 Java 的八大基本数据类型,讲解这八种数据类型的定义方式和取值范围。在下节课时中将讲解 Java 的基本类型转换,和自动拆箱的知识。
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,101人围观)

还没有评论,来说两句吧...

相关阅读