2.2.2特例 基本类型
来源:互联网 发布:酒店网络机顶盒案例 编辑:程序博客网 时间:2024/06/13 06:21
1:基本类型,或者叫内置类型,是我们常用的类型,不用通过new来创建,基本类型直接存储值 并置于堆栈中,提高高效
基本类型有8种:
1:字符型 char 16字节 占32位bits unicode 0 -unicode2^16-1
2:布尔型:boolean - - - -----
3:整数型 byte 1字节 8位 -128 +127
short 2字节 16 位bits -2^15 +2^15-1
int 4字节 32位 -2^31 +2^31-1
long 8字节 64位 -2^63 +2^63-1
4:浮点类型 float 4字节 32 1.4E-45 3.4028235E38
double 8字节 64 4.9E-324 1.7976931348623157E308
注明:Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。比如3.4E4就是3.4×10000=34000,
2:确定类型长度,与虚拟机无关,
3:数值类型都有正负号,
jdk5 提供了基本类型的相对应的包装类,
有三方面用法: 实现了基本类型之间的转化,第二便于作为方法的参数进行传值 第三 在一些地方用到Object的时候方便将基本类装换
4:提供了两个高精度数字
bigInteger :支持任意精度的整数,可以准确的标识任何大小的整数值
bigDecimal 支持任何精度的定点数。例如进行精确的货币计算
5:基本类型之间的转化(转载地址:http://blog.csdn.net/caohaicheng/article/details/38016193)
5.1:变量或者常量必须有类型
5.2:赋值类型需要一致
5.3:进行运算,参与运算的的数据类型必须一直;
类型转化有两种方式
1:自动类型转化( 自动类型转化,有系统自动转化,是有jvm完成,需要遵守如下规则 有存储范围小存储到范围大的类型 )
byte --> short(char) -->int --->long --->float ---double
比如 String ss=1+"aaa" ; java会自动把1转化字符串1 ,然后进行字符串拼接计算 ,但是会产生两个sring对象
2:强制类型转化 (从范围比较大的转化比较小的,由于存储精度不同,有可能导致数据精度的损失)
double -->float --->long --->int --->short(char) -->byte
其他相关知识
基本类型出现的面试题:
1:基本类型是不能被继承,因为被final修饰了,可以查看jdk源代码
2: short s1=1 ;s1=s1+1; 有什么错 (这里面试的是两个知识点,1参与运算的书籍类型必须一致 所以 程序在s1+1 自动把short类型转化为int 类型, 第二知识点变量或者常量定义 类型需要一直,所以在赋值出现错误)
对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表达式的类型为int,那么将int赋予给short类型的变量s1会出现类型转换错误。
对于short s1=1;s1+=1来说 +=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。
3:char类型变量能不能存储一个中文的汉字
(知识点 char存储位16位,unicode存储位 2个字节 也是16位 jdk的字符就是char可行。 都是通过unicode编码,一个unicode编码是16位 )
由于char类型是2字节 可以占八位 二unicode字符
4:Integer int区别
int 原始数据类型,而Integer是int的封装类。 init的比那辆默认值为0 Integer默认值为null
5:switch是否可以用byte 可以使用string 可以使用long?
知识点: switch的使用,在下节会提到他的使用, 第二类型自动转化
表达式只能是一个整数表达式或者枚举常量 由于byte,short ,char 都可以隐形转化为int 是可以的但是long sring 是不能的
byte的存储范围小于int,可以向int类型进行隐式转换,所以switch可以作用在byte上
long的存储范围大于int,不能向int进行隐式转换,只能强制转换,所以switch不可以作用在long上
string在1.7版本之前不可以,1.7版本之后switch就可以作用在string上了。
- 2.2.2特例 基本类型
- java对象的特例:基本类型
- Java中类型转换的特例
- stl读书笔记(2)- 模板特例化
- 【2d-Tree】Kd-tree的特例
- TypeScript学习2--基本类型
- 2-变量和基本类型
- 揭秘Angular 2-基本类型
- 基本类型
- 基本类型
- 基本类型
- 基本类型
- 基本类型
- 基本类型
- 基本类型
- private特例
- sql 特例
- 特例---可图化
- Leetcode48 Rotate Image
- spring-IOC
- 4240: 有趣的家庭菜园
- SpringBootDemo
- 【OpenCV】中的KMeans算法介绍与应用(一)
- 2.2.2特例 基本类型
- 用for循环实现冒泡排序
- Python+Pandas 获取数据库并加入DataFrame
- POJ3281 拆点 最大流 EK算法
- JZOJ 1322. 硬币游戏
- xADC
- 用Wireshark保存RTP的负载码流
- POJ 3254 Corn Fields 状压dp入门
- Servlet基础笔记_17-07-05