JAVA基础学习——Day2(数据类型)

#1. java数据类型框架

A. 八大基本数据类型
a. 数值型:
· 整形 :byte(1) < short(2) < int(4) < long(8) 默认值:0
· 浮点型 :float(4) < double(8) 默认值:0.0
b. 字符型:char(2) 默认值:‘\u0000’
d. 布尔型:boolean(JVM未规定) 默认值:false
B. 引用数据类型: 数组、类、接口 默认值:null

注意1:java是一门强类型语言,定义一个变量时,必须要明确变量的类型 //例如 int age = 10; 其中的age只能保存整形,无法保存浮点数或者char类型的数据

注意2:数值型数据均为有符号,数值型数据类型的最高位不存储具体数据,存储符号位,其中0表示正数,1表示负数

注意3:八大基本类型对应的包装类(引用数据类型)

在这里插入图片描述

注意4:所有数据类型都有默认值。函数中的局部变量不存在默认值,只有成员变量(全局变量)才具备默认值

注意5:八大基本类型表示范围计算:以byte为例。
最大值为0111 1111即为2^7-1
最小值为1111 1111即为- 2^7

补充知识:计算机原码,补码,反码
A. 对于正数来说:原反补码三码都相同
B. 对于负数来说:
a. 原码:第一个bit位表示符号位,剩下的是二进制形式
b. 反码:符号位不变,数值位全部取反(是原码和补码之间转换的中间状态)
c. 补码:在反码末位加1(超过机器字长的部分丢弃)

补充知识2:内存、外存;位、字节
A. 内存:CPU直接和内存打交道,CPU需要运行的进程和线程都位于内存之中。造价高,读写速度快,断电即失。
B. 外存:外存和内存之间传输数据。造价低,读写速度慢,断电数据保留。
C. 计算机存储数据的基本单位:位(bit)
D. 计算机 表示空间大小的基本单位:字节 (byte)
E. 换算规则1:1byte=8bit
F. 换算规则2:
这里插入图片描述
G. 换算规则3:
1Kb=1000b
1Mb=1000Kb


#2. 两种类型的数值
A. 变量:定义之后,数值可以改变,数据类型不能改变
a. 变量基本语法:
数据类型 变量名称 = 初始值;
注:变量中保存的数值是可以修改的,但是必须要在整形的保存范围之内
注:此处的“=”是赋值符号
注:IDEA中的ctrl加/是注释选中部分,再来一次就是取消注释
b. 一行定义一个变量,和一行定义多个变量实例
在这里插入图片描述
B. 常量:定义之后,数值无法改变
#3. 不同数据类型的变量使用
A. 数值型变量
a. 整形变量的定义、赋值、使用(注:int类型一律为4字节,不论操作系统和平台
在这里插入图片描述
注:在函数中定义的局部变量赋值后使用,不存在默认值;类中定义的全局变量存在默认值,各个数据类型对应的默认值在最上面
b. 变量存储数据溢出问题:
在这里插入图片描述
解决方法:当小的数据类型村放不下正确的数值,可以更换更大的数据类型
c. 长整型变量的定义((注:long类型一律为8字节,不论操作系统和平台))
在这里插入图片描述
注:一个坑在这里插入图片描述
d. 长整型的最大最小值(包装类为Long)
在这里插入图片描述
注:一般来说,长整型已经够用。但是若数据超过该上限,解决方法为:
采用BigInteger类来存储或者采用字符串String类型来存储大整数
数字型字符串实例:“124578978789787979797978798797”(没有上限)

一个坑:小写的 “l” 不会打印
在这里插入图片描述
在这里插入图片描述
e. 短整型变量定义,最大最小值
在这里插入图片描述
在这里插入图片描述
f. 字节型变量定义,最大、最小值
在这里插入图片描述
在这里插入图片描述
g. 整形变量小总结:
在这里插入图片描述
h. 单精度浮点数float(4字节)(用的少)
在这里插入图片描述

注:float一般保证六位小数之内是有效的
i. 双精度浮点数double(8字节)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dc08d1fe977542d3979ab4c3a8850f11.png

在这里插入图片描述
注:double的精度丢失问题
在这里插入图片描述
在这里插入图片描述
一般来说工程中12位之内的精度已经够用,如果需要更精确的则使用BigDecimal类
在这里插入图片描述

B. 字符型变量(包装类位Character)
在这里插入图片描述
注意:
在这里插入图片描述

在这里插入图片描述

C. 布尔类型
在这里插入图片描述
D. 字面量:直接写出来的数值就称之为字面量,字面量也存在数据类型
例如:
100——>整形字面量,默认int类型
100.1——>浮点数字面量,默认double类型
‘a’——>字符型字面量,char类型
false——>布尔型字面量,boolean类型
100.1f——>浮点数字面量,加f声明为float类型
100L——>整形字面量,加L声明为long类型

“abf”——>字符串字面量,String类型(类)

#4. 类型转换与类型提升问题
A. 类型转换
小类型提升为大类型自动转换,大类型转换为小类型需要强制类型转换,且有精度丢失问题
在这里插入图片描述
注:一个坑
在这里插入图片描述
注:重点1
在这里插入图片描述
在这里插入图片描述

注:重点2
在这里插入图片描述

在这里插入图片描述重点1和重点2的小总结在这里插入图片描述

重点三:char和int的相互转换 ![在这里插入图片描述](https://img-blog.csdnimg.cn/1bc922bccf3d4a96ae587d3888992c65.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/03ffc272c66d415e859caa3f82cb6ff1.png)

在这里插入图片描述
在这里插入图片描述

B. 类型提升
在这里插入图片描述

一个坑
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值