JAVA从小白到大牛(数据类型)

本文详细介绍了Java中的基本数据类型,包括整数类型(byte, short, int, long)、浮点类型(float, double)、字符类型(char)和布尔类型(boolean)。讨论了它们的取值范围、内存占用以及相互之间的转换规则。特别指出,Java中的整数默认为int型,浮点数默认为double型,并强调了类型转换时需要注意的细节,如自动类型转换和强制类型转换的条件与方法。
摘要由CSDN通过智能技术生成

一:基本数据类型:

        基本的数据类型表示简单的数据,基本的数据类型分为4大类,一共有八种(注意:在java中字符串不是基本的数据类型)。

        1 整数类型的数据:byte(字节数),short(短整型),int(整形),long(长整型)

        2 浮点数类型的数据:float(单精度浮点数),double(双精度浮点数)

        3字符类型的数据:char(字符型)

        4布尔类型的数据:boolean(布尔类型)

其中,将整数类型,浮点数类型,字符型类型的数据划分为数值类型,数值类型和布尔类型就构成了基本的数据类型。他们之间可以互相转化。

二:整数类型:

        java中整数类型包括byte,short,int,long,它们之间的区别只是数据范围和宽度不同而已,学过c语言的同学都知道,c语言中有无符号的整数unsigned,但是在Java中,所有的数都是有符号的,不存在无符号的数。

整数类型宽度取值范围
byte1个字节(8位)-128~127
short2个字节(16位)-2^15~2^15-1
int4个字节(32位)-2^31~2^31-1
long8个字节(64位)-2^63~2^63-1

java中整数默认的类型就是int型,long类型在定义的时需要在后面加l或者L。

三:浮点类型

        浮点数主要用来存储小数数值,也可以用来储存范围较大的整数,它分为单精度浮点数(float)和双精度浮点数(double),其中双精度浮点数所使用的内存空间比浮点数要多,可以表示的数据范围与精度值也比较大,说明如下表:

浮点类型宽度
float4个字节(32位)
double8个字节(64位)

*注意:在java中浮点数如1.0默认使用的是double双精度类型的,所以如果想要用float单精度,就要在数值后面加f或F。

四:字符类型

        字符类型表示的单个字符,在Java中要是声明字符类型字符常量必须是要用单引号括起来的单个字符。如char a = 'c';

        字符类型属于数值类型,可以与int等数值类型进行数学运算或者进行转换。这是因为字符类型在计算机保存的是Unicode编码。双字节Unicode的存储范围是\u0000~\uffff,所以由此可见char类型的取值范围是0~2^16-1。

        在java中为了表示一些特殊的字符,前面会加上\,这些被称为转义字符,常见的转义字符如下:

字符表示Unicode编码          说        明
\t              \u0009水平制表符tap
\n\u000a换行
\r\u000d回车
\"\u0022双引号
\'\u0027单引号
\\\u0027反斜线

四:布尔类型

        在Java中使用boolean关键字来声明布尔类型的数据,布尔类型比较简单,它只有两个值true和false。

boolean isMan = true;

boolean isWoman = false;

如果给他们除了true和false以外的值,则会发生编译错误。

五:数据类型之间的互相转换

1 自动类型转换,自动类型转换是类型之间转换是自动的,不需要采取其他手段,总的原则就是数据类型由小的数据类型转换为大的数据类型,类型转换图如下:

byte->short->int->long->float->double

在其中,char类型比较特殊,char类型自动转换为int,long,float和double,但是byte和short不能自动转换为char,同理char也不能自动转换为byte和short。

2 强制类型转换:

        在数值类型转换的过程中,除了需要自动类型转换之外,有时还需要强制类型转换,强制类型转换是在变量或常量之上加上(目标数据类型)来实现的。代码如下:

// 定义int类型的整数
int i = 10;
// 通过强制转换将int型的转换为byte类型
byte b = (byte)i;

//但是如果将int型的转换为byte型的数,虽然语法上允许,但是那是完全没有必要的
int i = int(b);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值