7.Java小白入门到实战应用教程-基本数据类型

数据类型

上节回顾

在上一节内容中,我们在声明变量的时候用到了一个表示整数的数据类型int,且它的范围是:-2147483648 到 2147483647。

正文

在java中涉及到的数据类型的概念有两类:基本数据类型和引用数据类型,那在本节中我们先学习基本数据类型,引用数据类型放到后面的章节中了解。

Java 提供了八种基本类型,这八种基本类型可以分为四个类别:整型、浮点型、字符型以及布尔型。下面是对这八种基本类型的详细介绍:

  1. 整型

    • byte:8 位,有符号的,范围从 -128 到 127。
    • short:16 位,有符号的,范围从 -32,768 到 32,767。
    • int:32 位,有符号的,范围从 -2,147,483,648 到 2,147,483,647。这是最常用的整型。
    • long:64 位,有符号的,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。使用 long 类型时,需要在数字后面加上 Ll(如 2147483648L)。
    说明:
    在计算机中,位数指的是用来表示该类型数值所包含二进制位的数量。位数决定了整型可以表示的数值范围。这是因为每个二进制位可以是0或1,所以n位的二进制数可以表示2的n次方个不同的状态。
    
    然而,整型数据通常使用补码表示法来存储正数和负数。补码表示法中,最高位(最左边的位)作为符号位,0代表正数,1代表负数。这意味着在n位的整型中,实际上只有n-1位用于表示数值的大小。
    
    对于有符号整型(即可以表示正数和负数的整型),其范围可以按照以下方式计算:
    最小值(负数的最大绝对值): -(2的n-1次方)
    最大值(最大的正数): (2的n-1次方)-1
    
    所以对于8位的byte类型,范围是从-(2的8-1次方)到(2的8-1次方)-1,即从-128到127。
    其他整型类型的范围计算同理。
    
  2. 浮点型,也就是可以表示小数点的数。

    • float:单精度,32 位 IEEE 754 浮点数,范围很广但精度较低。使用 float 类型时,需要在数字后面加上 Ff(如 3.14F)。
    • double:双精度,64 位 IEEE 754 浮点数,范围比 float 更大,精度也更高。这是默认的浮点类型。
    说明:
    浮点数的长度计算比较麻烦,大家此时可能理解不了,先留个疑问,等之后大家把java掌握到一定程度再讲。
    
  3. 字符型

    • char:16 位 Unicode 字符。字符字面量(如 'a')在 Java 中是 char 类型的。
  4. 布尔型

    • boolean:表示真假值的布尔类型,有两个可能的值:truefalse

我们说了整型是有范围的,我们现在声明一个byte类型的变量b,然后给他赋予一个超过它范围的整数,idea会报错。
在这里插入图片描述

对于其他的整型数据类型同理,如果赋值的整数超过了这个变量类型的长度,那么就会编译失败。

对于浮点数类型的变量同理,如果小数点的位数超过了它的长度,就会编译失败。

字符型char

char用来表示单个字符,在java中使用Unicode编码来表示字符,因此它可以表示世界上大多数语言的字符。

用于存储单个字符,如字母或数字。Java中的字符使用单引号表示,例如:char letter = 'A';

char类型的变量可以存储任何Unicode字符。

public class CharExample {  
    public static void main(String[] args) {  
        char myChar = 'A';  
        char myUnicodeChar = '\u0041'; // 使用Unicode编码表示字符A  
        char myChineseChar = '中'; // 存储一个中文字符  
          
        System.out.println(myChar);  
        System.out.println(myUnicodeChar);  
        System.out.println(myChineseChar);  
    }  
}

在Java中,char类型也支持转义序列,如\n表示换行,\t表示制表符等。

char newline = '\n';  
char tab = '\t';

char类型可以和其他基本数据类型进行转换,尤其是和int类型。在转换时,char类型的值会被当作其对应的Unicode编码值。

char myChar = 'A';  
int myInt = myChar; // 自动转换,myInt的值是65

在Java中,字符(char类型)和它们对应的数字(通常是ASCII码或Unicode码)之间有一个固定的关系。对于26个英文字母(大写和小写),它们的ASCII码和Unicode码是相同的。

大写字母A到Z对应的数字(ASCII码/Unicode码)是65到90。
小写字母a到z对应的数字(ASCII码/Unicode码)是97到122。

例如,大写字母’A’对应的数字是65,小写字母’a’对应的数字是97。

public class CharToNumber {  
    public static void main(String[] args) {  
        char uppercaseA = 'A';  
        char lowercaseA = 'a';  
  
        int uppercaseANumber = uppercaseA; // 自动转换为对应的数字  
        int lowercaseANumber = lowercaseA; // 自动转换为对应的数字  
  
        System.out.println("大写字母A对应的数字是: " + uppercaseANumber);  
        System.out.println("小写字母a对应的数字是: " + lowercaseANumber);  
    }  
}
控制台输出:
大写字母A对应的数字是: 65  
小写字母a对应的数字是: 97

布尔类型boolean

在java中boolean类型用来表示真和假,只有两个值,分别是true和false。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值