Java中的基本数据类型

目录

1.基本数据类型

2.整数类形 

(1)byte类型

(2)short类型

(3)int类型

(4)long类型

3.浮点类型

(1)单精度浮点型

(2)双精度浮点型

4.字符类型

5.逻辑类型


1.基本数据类型

Java中的基本数据类型分为四类八种,即:

四类:整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)、逻辑类型(boolean)

八种:字节型(byte)、短整型(short)、整形(int)、长整型(long)、单精度浮点型(float)、双精度浮点型字符型(double)、布尔型(boolean)

数据类型关键字内存占用取值范围
字节型byte1字节-128 ~ 127
短整型short2字节-32768 ~ 32767
整形int4字节-2^31 ~ 2^31 -1
长整型long8字节-2^63 ~ 2^63 -1
单精度浮点型float4字节有范围,但一般不关注
双精度浮点型double8字节有范围,但一般不关注
字符型char2字节0 ~ 65535
布尔型boolean没有明确规定true 和 false

在Java中,整形和浮点型都是有符号

字节是计算机中表示空间大小的基本单位,在计算机内存中,1个字节(byte)= 8个二进制位(bit

2.整数类形 

在Java中整形没有有符号和无符号之分,因此每个整形类型的变量都会将最高位作为符号位。

整数类型的变量在定义时,若没有给出初值,且在使用前没有设置初值,则编译时会报错

因此在定义整形类型变量时,如果没有合适的初始值,可将初始值设置为0 

在为变量设置初始值的时候,值不能超过整数类型的表示范围,否则会导致溢出

(1)byte类型

byte在内存中占1个字节,8个二进制位。

byte b = 10;

byte的范围为-128 ~ 127,当超出其范围时,会报错

 

(2)short类型

short在内存中占2个字节,16个二进制位。

short类型变量的取值范围为 -32768 ~ 32767

short s = 10;

(3)int类型

int在内存中占4个字节,32个二进制位。

int类型变量的取值范围为-2^31 ~ 2^31 - 1

在定义变量时,若未初始化,且在使用前,未赋值,则会报错

public class Test {
    public static void main(String[] args) {
        int a;
        System.out.println(a);
    }
}

运行结果

 

(4)long类型

long在内存中占8个字节,64位。

long类型变量的取值范围为-2^63 ~ 2^63 - 1

为了区分int类型与long类型,一般建议在long类型变量后加上L或者l,由于l与1不好区分,更推荐加上L

public class Test {
    public static void main(String[] args) {
        long l = 10L;
        System.out.println(l);
    }
}

3.浮点类型

浮点数与整数在内存中的存储方式不同,不能使用2的n次方来计算浮点类型变量的取值范围

浮点类型变量的内存布局遵守IEEE 754标准(与C语言相同),使用有限的内存空间表示可能无限的小数,因此会存在一定的精度误差,所以浮点数是近似值,而不是精确值

浮点类型的变量在定义时,若没有给出初值,且在使用前没有设置初值,则编译时会报错

建议在定义变量时,就为浮点类型变量赋初始值,若没有合适的初始值,可将其设置为0.0

(1)单精度浮点型

float在内存中占4个字节,32个二进制位。

float类型的变量在定义时,必须在后面加上f或者F

float f = 1.2f;

 若不加上f或F,则会报错

(2)双精度浮点型

double在内存中占8个字节,64个二进制位。

double d = 1.2;

4.字符类型

char在内存中占2个字节,16个二进制位。

Java中使用 引号 + 单个字母 的形式来表示字符值。

计算机中的字符本质上是一个整数。在C语言中使用ASCII码表示对应的字符,而Java中使用Unicode表示字符。因此一个字符占用两个字节,表示的字符种类更多。(可以表示中文)

char c = 'a';
char ch = '你';

5.逻辑类型

boolean类型的变量只有两种取值,即true和false,true为真,false为假

boolean类型不能与int类型相转换,且不存在1表示true,0表示false的用法,不能对boolean类型的变量进行+、-等运算操作

boolean flag = true;

在使用布尔类型变量时,若没有给出初值,且在使用前没有设置初值,则编译时也会报错

在Java虚拟机中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令。 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

楠枬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值