JAVA 基础学习笔记(2) 基本数据类型

学习基本数据类型前要了解的知识点

计算机存储容量单位知识

  1. 位(bit):

  • 位是计算机内存或存储的最小单元。
  • 一个位可以表示两个状态:0 或 1,用于表示二进制数据中的最小单位。
  • 8 个位被组合起来形成一个字节。

     2.字节(byte):

  • 字节是计算机存储和传输数据的基本单位。
  • 一个字节由 8 个位组成。
  • 字节用于表示字符、数字和其他数据。
  • 大多数计算机系统中,一个字节被认为是可以存储一个英文字母、一个数字或者一个特殊字符的容量。

    3.常用的存储单位:

  • 千字节(Kilobyte,简写为 KB):1 KB = 1024 字节。
  • 兆字节(Megabyte,简写为 MB):1 MB = 1024 KB = 1,048,576 字节。
  • 吉字节(Gigabyte,简写为 GB):1 GB = 1024 MB = 1,073,741,824 字节。
  • 太字节(Terabyte,简写为 TB):1 TB = 1024 GB = 1,099,511,627,776 字节。
  • 拍字节(Petabyte,简写为 PB):1 PB = 1024 TB = 1,125,899,906,842,624 字节。

这些单位用于描述信息容量。例如,当我们说硬盘有 500 GB 的存储容量时,意味着硬盘可以存储大约 500 吉字节的数据。

整数类型(byte、short、int、long)

  • byte:8位(一字节),取值范围为 -128 到 127。
  • short:16位(两字节),取值范围为 -32768 到 32767。
  • int:32位(四字节),取值范围为 -2147483648 到 2147483647。 
  • long:64位(八字节),取值范围为 -9223372036854775808 到 9223372036854775807。

注意

可表示范围和溢出

每种数据类型都有一个特定的取值范围。如果超出了数据类型的取值范围,则可能会发生溢出(overflow)错误,导致结果不正确或未定义。

数据类型转换

小范围类型可以自动转换为大范围类型(例如,int 可以自动转换为 long)。但是,大范围类型转换为小范围类型时需要显式的强制类型转换,并且可能会导致信息丢失(例如,将 double 强制转换为 int)。

 

浮点数类型 (float、double)

  • float:32位(四字节),可以表示带小数的数值,精度约为 6-7 位有效小数。
  • double:64位(八字节),可以表示更大范围和更高精度的带小数数值,精度约为 15 位有效小数。

 字符类型(char)

  • char:16位(两字节),用于表示单个字符,基于 Unicode 字符集。
  • 这里简单说一下 Unicode 字符集:Unicode字符集编码是(Universal Multiple-Octet Coded Character Set) 通用多八位编码字符集的简称,Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。通俗一点就是,它为世界上绝大多数语言的字符都在计算机上设计了唯一的一串编码,让计算机能够输入和输出世界上绝大多数语言的字符。
  • (Unicode 字符集解释引用链接):https://www.likecs.com/show-308119928.html

布尔类型(boolean)

  • boolean:代表真(true)或假(false)值。
  • 这里我们终于可以摆脱之前C语言没有布尔类型,用预处理的方式将整型数据的零和非零来当真与假了

 类型默认值

  • 当您声明一个变量但未给它赋初值时,基本数据类型有默认值,如
  • bytr short int long 的默认值是 0
  • boolean  的默认值是 false
  • float double 的默认值是 0.0 
  • char 的默认值是'\u0000',输出时就是null

代码证明

public class Main {
    static byte byte_data;
    static short short_data;
    static int int_data;
    static long long_data;
    static float float_data;
    static double double_data;
    static char char_data;
    static boolean boolean_data;

    public static void  main(String[] args) {

        System.out.println("byte_data: " + byte_data);
        System.out.println("short_data: " + short_data);
        System.out.println("int_data: " + int_data);
        System.out.println("long_data: " + long_data);
        System.out.println("float_data: " + float_data);
        System.out.println("double_data: " + double_data);
        System.out.println("char_data: " + char_data);
        System.out.println("boolean_data: " + boolean_data);
    }


}

 运行结果:

 

 这里要注意的是正常情况下,编译器都是要求进行初始化的,这里用了static修饰才能进行默认初始化。局部变量在Java中不会自动初始化,只有类成员变量和静态变量才有默认值。

String不是基本数据类型 

在一开始学习时,我们用到String的机会也是很多,由于使用频率较高,我当时默认将它当成基本数据类型了,现在想想我这逻辑也是醉了,使用频率高就能当基本数据类型,有点好笑。

在 Java 中,String 不被认为是基础数据类型。它是一个引用数据类型(或类),用于表示一串字符(文本)。在 Java 中,字符串是不可变的,这意味着一旦创建,它的值就不能更改。很多教程都会把String和它的方法当成一个章节来讲,可见这并不基本。

总结 

基本数据类型是最基础的知识,虽然简单但也要有所了解,我觉得不太需要记住各个数据类型的范围,我在学习中常用的一般就是int float double boolean,偶尔用一下long。对这几个多了解一下就好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗不丢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值