【重拾Java系列】—— 数据类型专题

/*
StartTime 7:22

01.char 利用单引号赋值;String利用双引号赋值

02.变量代表的是内存中的一个存储区域;变量三要素:数据类型+变量名+变量值

03.对于程序中 + 的用法:

当+左右都是数值型时,进行的是加法运算;
当+左右存在字符串时,进行的是拼接运算;
运算的顺序都是从左向右

04.在java中String不属于数据类型,准确来说它是一个类

05.在Java中,不同数据类型存储空间的大小不同,就导致了数据范围不同

数据类型 存储空间 数据范围
byte 1字节 -128~127
short 2字节 -32768~32767
int 4字节 -2147483648~2147483647
long 8字节 -263~263 -1
float 4字节 -3.404E38~3.404E38
double 8字节 -1.798E308~1.798E308

06.java中整型常量默认为int型,如果想声明为long型,要在数值尾部添加’L/l’

07.在计算机中,基本的存储单位为byte(字节),最小的存储单位为bit(比特) 1 byte = 8 bit

第一个为符号位,剩余七位
01111111
1 2 4 8 16 32 64
等比数列通项公式: an = a1 * q^(n-1)
等比数列前n项和: Sn = a1 * (1 - q^n)/ 1 - q
所以对于二进制数而言: Sn = a(n + 1)
这就是为什么 byte 类型的数据取值范围为 -128~127 的原因了

08.浮点数的构成:符号位 + 指数位 + 尾数位

09.浮点数默认为double类型,如果要定义为浮点型,要在数值尾部添加’F/f’

10.浮点数的十进制表示法: 1.23、 1.23f、 .23 等价于 0.23 【都要有小数点】
浮点数的科学计数法形式: 1.23e2 代表1.23 * 10 ^ 2、 1.23e-2 代表1.23 / 10 ^ 2 【e/E都可以】

11.在计算机中,因为存在精度问题,所以 8.1 / 3 获得的是一个接近2.7的数值

12.在JDK中有很多包,每个包中又包含很多接口、类、异常,每个类又有很多
字段、构造方法、成员方法

13.sublime 的两个连续快捷键
Ctrl + Shift + D 复制当前行并插入到下一行
Ctrl + Shift + K 删除当前行

14.java API 在线文档: matools.com
EndTime:9.25
*/

/*
1.在Java中,字符型数据的本质是一个整数,输出时输出的是对应的unicode的编码

  • 输出时对应输出字母的ASCII码,可以使用强类型转换

char ch = ‘a’;
System.out.println((int)ch);

2.可以使用转义字符,将其后的字符转换为字符型常量
char c1 = ‘\n’;

3.字符型数据可以进行算数运算(加减乘除)

4.字符型数据的本质:
字符型存储到计算机中,需要先找到字符对应的码值(由字符编码表决定ASCII),将码值转化为二进制的数据之后,才能存储到计算机中。

5.ASCII码表由一个字节表示,共有128个字符,实际上一个字节可以表示256个字符。
列举几个常见的编码表:

Unicode编码表 字符-两个字节 汉字-两个字节
utf-8编码表 字符-1个字节 汉字-3个字节
gbk编码表(一般用来表示汉字) 字母-1字节 汉字-2字节

6.对于boolean类型的数据,只能为true/false,不能为null

7.我们知道在C语言、PHP中,可以用整型数来代表真/假,但是在Java中不能用0和1代替false与true。

8.Java支持自动类型转换,精度小的类型可以转化为精度高的类型

从左到右精度逐渐增大:

char - int - long - float - double
byte - short - int - long - float - double

9.Java自动转换的几个细节:
(1) 当进行含多种数据类型的数据运算时,会自动将所有数据转换为容量最大的数据类型 【结果也为最大容量的数据类型】 【自动升级原则】
(2) 尽管byte与char、short与char之间不能自动进行转换,但是这三种类型的数据同存在并参与运算时【三者中只要出现一个】,会先自动将精度转换为int类型再参与运算。
(3)当byte与short类型数据进行运算时,得到的结果仍是int类型的数据。
(4)布尔类型数据不参与转换

10.强制类型转换:
将容量大的数据类型转换为容量小的数据类型,需要使用强制类型转换符"()",但是进行强制类型转换时会造成数据丢失或数据溢出。

  • 数据溢出:现在使用的数据类型无法存储原来的数据类型的数据。(例如:用byte存储int型的200)

11.强制数据类型转换的细节:

(1) 强制转换符号只会对离它最近的数据生效,可以通过使用小括号来解决优先级问题
(2)char 类型可以保存 int 类型的常量值,但不能用来保存int类型的变量值,后者要通过强制类型转换来完成
(3)将具体的值赋值给变量时,首先计算机会进行范围的判断

12.基本数据类型与String型进行相互转换:
(1) 基本数据类型向字符串类型转换:

基本数据类型 + “”;

(2) 字符串类型向基本数据类型转换:

Interger.parseInt(string); 字符串-> Int
Double.parseDouble(string); 字符串 -> Double
Float.parseFloat(string) 字符串 -> float
Long.parseLong(string) 字符串 -> long
Byte.parseByte(string) 字符串 -> byte
Boolean.parseBoolean(string) 字符串 -> boolean
Short.parseShort(string) 字符串 -> short

“使用了基本数据类型对应的包装类”

*/

后 续 补 充 : \color{pink}{后续补充:}

1.字符进行拼接时,得到的并不是这两个字符拼接得到的字符串,在进行计算时,是它们对应的码值加和,得到的是新码值对应的字符.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Bow.贾斯汀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值