JAVA当中的数据类型初解

本文详细介绍了JAVA中的基本数据类型,包括整型、浮点型、字符型和布尔型。讲解了各种类型的字节数、取值范围及变量定义,并通过示例展示了赋值和运算规则。此外,还提到了包装类及其在不同场景下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA当中的数据类型分为基本数据类型引用数据类型

本篇博客主要讲解基本数据类型。JAVA当中的基本数据类型有四类八种:

  • 四类分别是:整型、浮点型、字符型、布尔型
  • 八种:
数据类型关键字内存咱用
整型int4个字节
长整型long8个字节
短整型short2个字节
单精度浮点型float4个字节
双精度浮点型double8个字节
字符型char2个字节
字节型byte1个字节
布尔型boolean没有明文规定

为了便于描述类型,我这里将变量与类型结合起来,变量也就是在使用过程中内容可以改变的量

1.整型变量

1.1整型(int)变量

int a = 10;                //定义一个整型变量a
System.out.println(a);     //打印输出整型变量a的值

在这里,我们在定义变量的时候不要忘了赋值,不然在后面打印的时候为报错。

//探究整型变量的数据范围
System.out.println(Integer.MAX_VALUE);        //最大值范围
System.out.println(Integer.MIN_VALUE);        //最大值范围

//结果展示:
//2147483647
//-2147483648

在上面我们可以看到整型的数据范围,因此我们在给整型变量赋值的时候尽量不要超过该范围,超过以后编译器会报错。

总结:

  • int不论在何种系统下都是4个字节
  • 在定义变量时,一定要给变量赋初值,赋的值不能超过该类型数据的范围
  • int的包装类为Integer

1.2长整型(long)变量

long a = 10;            //定义长整型变量a,并给a赋值10
long b = 10L;           //为了区分int和long类型,建议在long类型变量的初始值后面加L
System.out.println(a);
System.out.println(b);
//结果:
10
10

同样对long数据类型的范围进行研究

System.out.println(Long.MAX_VAULE);
System.out.println(Long.MIN_VAULE);
//结果:
9223372036854775807
-9223372036854775808

总结:

  • 长整型变量的初始化值后加L
  • 长整型不论在那个系统都占用8个字节
  • long的包装类型为Long

1.3短整型(short)变量

short a = 10;            //定义短整型变量,并赋初值10
System.out.println(a);
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
//结果:
10
32767
-32768

总结:

  • short在任何系统下都占2个字节
  • short的包装类型为Short

1.4字节型(byte)变量

byte a = 10;
System.out.println(a);
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
//结果:
10
127
-128

这里需要强调的是字节型数据的范围是-128~127,当输入的数据超过该范围时就会报错:不兼容的类型: 从int转换到byte可能会有损失

还有一种情况也会报错

byte a = 10;
byte b = 20;
byte c = a+b;
System.out.println(c);
System.out.println(Byte.MAX_VALUE+1);
//错误: 不兼容的类型: 从int转换到byte可能会有损失byte c = a+b;
                

原因是因为a+b在参与运算时都是字节型,他们会发生整型提升,计算结果为整型,将整型的值赋给字节型就会发生精度的损失,JAVA的编译环境是不允许出现这样的情况,所以就会报错

总结:

  • byte在任何系统下都占1个字节
  • byte的范围是:-128~127
  • 字节的包装类型为Byte

2.浮点型(float)变量

2.1单精度浮点型float

float num = 2.1F;                //为了区分双精度浮点型,这里建议在值后面加上后缀F
System.out.println(num);
//结果:2.1

2.2双精度浮点数double

double a = 3.14;            //定义双精度变量a,并赋初值3,14
int b = 1;
int c = 2;
double d = 3.0;
System.out.println(a); 
System.out.println(b/c);
System.out.println(b/d);
//结果:
3.14
0
0.3333333333333333

注意只要是小数,如果没有声明是什么类型,默认都是双精度类型。如果要得到小数,则运式中必须有一个为double型。

总结:

  • double在任何系统下都占8个字节
  • double的包装类型为Double
  • double类型的内存布局准寻IEEE754标准,尝试使用有限的内存空间表示无限的小数,势必会存在一定精度的误差,因此浮点数是个近似值,并不是精确值。

3.字符型(char)变量

char C1 = 'A';        //定义大写字母
char C2 = '1';        //定义数字字符
char C3 = '帅';       //定义汉字
System.out.println(C1);
System.out.println(C2);
System.out.println(C3);
//结果:
A
1
帅

总结:

  • JAVA中使用单引号+单个字母的形式表示字符字面值
  • char在JAVA中占2个字节
  • 计算机的字符本质是一个整数,在C语言中使用ASCII表示字符,而JAVA中使用Unicoad表示字符,因此一个字符占用两个字节,表示的字符种类更多,包括中文

4.布尔型(boolean)变量

布尔类型常用来表示真假,在C语言中我们用0表示假,非0表示真,但在JAVA中用true表示真,false表示假

boolean a = true;
boolean b = false;
System.out.println(a);
System.out.println(b);
//结果:
true
false

布尔类型与整型

boolean value = true;
System.out.println(value+1);
//结果
错误: 二元运算符 '+' 的操作数类型错误,System.out.println(value+1);
第一个类型:  boolean
第二个类型: int

总结:

  • boolean类型的变量只有两种取值,true表示真,false表示假
  • Java的boolean类型和int不能相互转换,不存在1表示true,0表示false
  • 现在没有明确的规定boolean占几个字节
  • boolean的包装类型为Boolean

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

咸鱼吐泡泡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值