关于java:每日学Java系列Java零基础学习笔记六Java八种数据类型详解

27次阅读

共计 2615 个字符,预计需要花费 7 分钟才能阅读完成。

数据类型

1、数据类型有什么用?

数据类型用来申明变量,程序在运行过程中依据不同的数据类型调配不同大小的空间。

int i = 10;
double d = 1.23;
i 变量和 d 变量类型不同,空间大小不同。

2、数据类型在 java 语言中包含两种:

第一种:根本数据类型

根本数据类型又能够划分为 4 大类 8 小种:

第一类:整数型

byte,short,int,long(没有小数的)

第二类:浮点型

float,double(带有小数的)

第三类:布尔型

boolean:只有两个值 true 和 false,true 示意真,false 示意假

第四类:字符型

char:java 中规定字符型字面量必须应用单引号括起来。属于文字。

8 小种:

  • byte,short,int,long
  • float,double
  • boolean
  • char

第二种:援用数据类型

  • 字符串型 String 属于援用数据类型。
  • String 字符串不属于根本数据类型领域。
  • java 中除了根本数据类型之外,剩下的都是援用数据类型。
  • 援用数据类型前期面向对象的时候才会接触。

3、8 种根本数据类型中

整数型:byte short int long 有什么区别?

浮点型:float 和 double 有什么区别?

区别:占用的空间大小不同。

对于计算机存储单位?

计算机只能辨认二进制。(1001101100…)

  • 1 字节 = 8bit(8 比特)–> 1byte = 8bit
  • 1bit 就是一个 1 或 0.
  • 1KB = 1024byte
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB
  • byte b = 2; 在计算机中是这样示意的:00000010
  • short s = 2; 在计算机中是这样示意的:00000000 00000010
  • int i = 2; 在计算机中是这样示意的:00000000 00000000 00000000 00000010

类型 占用字节数量 (byte)


对于二进制?

二进制???

十进制转换成二进制

125 转换成二进制???

方法:除以 2,而后余数逆序输入。

1111101

二进制转换成十进制

2 的 2 次方 2 的 1 次方 2 的 0 次方
1 1 1
4 2 1
14 + 12 + 1*1 = 7
2 的 2 次方 2 的 1 次方 2 的 0 次方
1 0 1
4 2 1
14 + 02 + 1*1 = 5

4、byte 类型的取值范畴?

byte 是 [-128 ~ 127] 共能够标识 256 个不同的数字。

byte 类型的最大值是怎么计算出来的?

byte 是 1 个字节,是 8 个比特位,所以 byte 能够存储的最大值是:

01111111

留神:在计算机当中,一个二进制位最右边的是符号位,当为 0 时示意负数,

当为 1 时示意正数。所以 byte 类型最大值是:01111111

那么是不是 2 的 7 次方 - 1 呢?

是不是:10000000(前边是一个二进制)– 1

byte 类型最大值是:2 的 7 次方 – 1.

有几个取值范畴须要大家记住:

  • (1 个字节)byte: [-128 ~ 127]
  • (2 个字节)short:[-32768 ~ 32767] 能够示意 65536 个不同的数字
  • (4 个字节)int: [-2147483648 ~ 2147483647]
  • (2 个字节)char: [0~65535] 能够示意 65536 个不同的数字
  • short 和 char 实际上容量雷同,不过 char 能够示意更大的数字。
  • 因为 char 示意的是文字,文件没有正负之分,所以 char 能够示意更大的数字。

5、对于 8 种根本数据类型来说:

其中 byte,short,int,long,float,double,boolean,这 7 种类型计算机示意起来比拟容易,因为他们都是数字。其中布尔类型只有两个值 true 和 false,实际上 true 和 false 别离在 C ++ 中对应的是 1 和 0,1 为 true,false 为 0。

对于 char 类型来说计算机示意起来比拟麻烦,因为 char 对应的是文字,每一个国家的文字不一样,文字不能间接通过“天然算法”转换成二进制。这个时候怎么办?

字符编码诞生了。

什么是字符编码?

  • 字符编码是人为的定义的一套转换表。
  • 在字符编码中规定了一系列的文字对应的二进制。
  • 字符编码其实实质上就是一本字典,该字段中形容了文字与二进制之间的对照关系。
  • 字符编码是人为规定的。(是某个计算机协会规定的。)
  • 字符编码波及到编码和解码两个过程,编码和解码的时候必须采纳同一套字符编码方式,不然就会呈现乱码。

对于字符编码的倒退过程?

起初的时候计算机是不反对文字的,只反对科学计算。实际上计算机起初是为了和平而开发的,计算导弹的轨道 ….

起初随着计算机的倒退,计算机开始反对文字,最先反对的文字是英文,英文对应的字符编码方式是:ASCII 码。

ASCII 码采纳 1byte 进行存储,因为英文字母是 26 个。(键盘上所有的键全副算上也超不过 256 个。1byte 能够示意 256 种不同的状况。所以英文自身在计算机方面就占有优势。)

‘a’ –(采纳 ASCII 码进行编码)-> 01100001
01100001 –(采纳 ASCII 码进行解码)-> ‘a’
如果编码和解码采纳的不是同一个编码方式,会呈现乱码。

‘b’ —> 98
‘c’ —> 99…
‘a’ —> 97

‘A’ —> 65
‘B’ —> 66

‘0’ —> 48(这个 ’0’ 不是那个 0,是文字 ’0’)
‘1’ —> 49

随着计算机语言的倒退,起初国际标准组织制订了 ISO-8859- 1 编码方式,又称为 latin- 1 编码方式,向上兼容 ASCII 码。但不反对中文。

起初倒退到亚洲,才反对中文,日文,韩文 ….

中文这块的编码方式:GB2312<GBK<GB18030(容量的关系)

以上编码方式是简体中文。

繁体中文:big5(台湾应用的是大五码。)

在 java 中,java 语言为了反对寰球所有的文字,采纳了一种字符编码方式

叫做 unicode 编码。unicode 编码对立了寰球所有的文字,反对所有文字。

具体的实现包含:UTF-8 UTF-16 UTF-32….

须要记住:

  • ASCII(’a’ 是 97 ‘A’ 是 65 ‘0’ 是 48…)
  • ISO-8859-1(latin-1)
  • GB2312
  • GBK
  • GB18030
  • Big5
  • unicode(utf8 utf16 utf32)

八种根本数据类型详解

  • 字符型 char
  • 整数型 byte short int long
  • 浮点型 float double
  • 布尔型 boolean

最初

举荐给大家个比拟具体的 Java 零基础教程,上面这个是我看过的感觉挺不错的,值得观看珍藏。

分享给大家,点这里

https://www.bilibili.com/vide…

看完如果对你有帮忙,感激点赞反对~

正文完
 0