数据类型(Java版)

我们今天来学习一下Java中的数据类型:

先来普及一下内存大小:

1Byte = 8 Bit

1 Kb = 1024Byte

1Mb = 1024Kb

1Gb = 1024Mb

1Tb = 1024Gb

下图是存储容量单位的示意图:2^10 = 1024,   除了byte和bit的比率换算,其余的都是1024制的

一、基本数据类型 

1.类

类就是一个元素类型的整体,而我们经常使用的功能其实就是这个类中的一些属性

下面就用int来举例:

1.1    int - Integer:

大小:4byte

其中的 

Integer其实就是int类型的类,而后面的MAX_VALUE / MIN_VALUE就是它们这些类的一些属性(功能)来计算相应的数据。

2.整型(int - Integer)

大小:4 byte

大小计算:4 Byte = 32 bit 

所以说Int的存储范围是[-2 ^ 31 ,  2 ^ 31 - 1]

我们对任何一个类型的容量可以用一张图来解释清楚:(如下图)

max + 1 =  min;

下面用代码来解释

事实证明,确实是这个逻辑

 3.长整型(long - Long)

大小:8 byte

大小计算:8 Byte = 64 bit 

所以说Int的存储范围是[-2 ^ 63 ,  2 ^ 63 - 1]

 4.双精度浮点型(double - Double)

大小:8 byte

大小计算:8 Byte = 64 bit 

所以说Int的存储范围是[-2 ^ 63 ,  2 ^ 63 - 1]

5.单精度浮点型

大小:4 byte

大小计算:4 Byte = 32 bit 

所以说Int的存储范围是[-2 ^ 31 ,  2 ^ 31 - 1]

 

6.字符数据(char - character)

 注意:在C语言中char类型的是一个字节,但是在Java中是2个字节

大小:2 byte

大小计算:2 Byte = 16 bit 

char可以打印的数据:

java与C语言不同之处就在于

C语言将编码表成为ASCII码表,而且C语言的ASCII码表的适用范围很窄,只仅仅适用一小部分的语言与符号。

Java里面称为Unicode表  而且Java的适用范围很广,适用于多国语言,因为C语言的ASCII码表只适用于1byte的元素,而Java却适用于2byte的元素,相对而言存储的内容能更多一些。

 7.Byte类型(byte - Byte)

大小:1 byte

大小计算:1 Byte = 8 bit 

所以说Int的存储范围是[-2 ^ 7 ,  2 ^ 7 - 1]

当我们在byte里面存储一个128,他就会开始溢出,因为byte里面是不能存储这么大的数值的

8.短整型(short - Short)

大小:2 byte

大小计算:2 Byte = 16 bit 

所以说Int的存储范围是[-2 ^ 15 ,  2 ^ 15 - 1]

 

 9.布尔型(boolean - Boolean)

 9.1    在Java中boolean是没有大小的

9.2     在Java中boolean只有true/false

9.3     在Java中Boolean是boolean的包装类

 

 

 二、引用数据类型

引用数据类型通常在Java中有以下几种类型:

类    String    数组    抽象类    接口   枚举

1.字符串数据类型:

在Java中字符串的初始化时使用String来初始化字符串的

2.整型提升(为了兼容大字节的类型小字节类型的元素就会进行整形提升,来兼容大字节的需求)

 

 3.拼接符(+) /   正号符号(+)

在Java中我们常常会将数值和字符串连接此时我们就需要连接符(+)

Java不像C语言一样,必须使用相应的格式化语句来打印数据:

C语言打印:

4.变量的作用域:

变量的作用域其实有两种:局部作用域  /  全局作用域

先使用C语言版来解释这两种作用域:

局部作用域:

 

 

 5.常量:

字面常量:

十进制:12

2进制:010

8进制:/012

16进制:0x12

long:10L

float:10.0f

double:10.0

指数型:10e10   e10:指的是以10为底10次方的数

布尔型:true / false

字符型:'A'

字符串型:"abde"

被final修饰的常量是不能够被修改的(java中的final其实和C语言的宏是一个道理)

 

 

6.强制类型转换:(有时候会产生精度缺失/不同类型的元素进行赋值,为了兼容进行强制类型转换)

 7.int和boolean是不能相互转化的

int中只能存储数值数据

但是boolean只能存储true/false

两种类型不一样,所以导致不能相互转换

8.int和String 是可以转换的

 

9.想要将字符串变成数值,就必须类中的属性:

以int举例:

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值