网站首页 > 精选教程 正文
前面我们搭建了JAVA的开发环境和开发工具,今天我们正式进入JAVA基础语法的学习。首先认知下JAVA的八大基本类型:
Java中主要有八种基本数据类型:
1、整型:byte、short、int、long
2、字符型:char
3、浮点型:float、double
4、布尔型:boolean
一、整型
Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。在计算机中负数由补码进行表示,补码=源码取反 + 1。
1、byte
8位、有符号的以二进制补码表示的整数。
min:-128(-2^7)
max:127(2^7-1)
默认值:0
包装类:Byte
2、short
16位、有符号的以二进制补码表示的整数。
min:-32768(-2^15)
max:32767(2^15-1)
默认值:0
包装类:Short
3、int
32位、有符号的以二进制补码表示的整数。
min:-2,147,483,648(-2^31)
max:2,147,483,647(2^31-1)
默认值:0
包装类:Integer
4、long
64位、有符号的以二进制补码表示的整数。
min:-9,233,372,036,854,775,808(-2^63)
max:9,223,372,036,854,775,807(2^63-1)
默认值:0
包装类:Long
二、浮点型
Java中浮点型数据无法由二进制直接表示,而是一种对于实数的近似数据表示法,它遵循IEEE 754标准。
5、float
单精度、32位、符合IEEE 754标准的浮点数。
float在储存大型浮点数组的时候可节省内存空间
浮点数不能用来表示精确的值,如货币
默认值:0.0f
包装类:Float
6、double
双精度、64位、IEEE 754标准的浮点数。
浮点数的默认类型为double类型
double类型同样不能表示精确值,如货币
默认值:0.0d
包装类:Double
三、字符型
7、char
char类型是一个单一的16位Unicode字符。
min:\u0000(即为0)
max:\uffff(即为65,535)
char数据类型可以储存任何字符
包装类:Character
四、布尔型
在JVM中并没有提供boolean专用的字节码指令,而boolean类型数据在经过编译后在JVM中会通过int类型来表示,此时boolean数据4字节32位,而boolean数组会被编译成Java虚拟机的byte数组,此时每个boolean数据1字节占8bit。
8、boolean
boolean数据类型表示一位的信息。
只有两个取值:true和false
这种类型只作为一种标志来记录true/false情况
默认值:false
包装类:Boolean
自动类型转换
指不需要编写代码,有系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所有Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。
转换规则:从存储范围小的类型到存储范围大的类型。
具体规则:byte -> short(char)-> int -> long -> float -> double。
举例说明:byte类型的变量可以自动转换为short类型,
byte b = 11;
short sh = b;
这里在给sh赋值时,JVM首先将变量b的值转换成short类型然后再赋值给sh。
当然,在类型转换的时候可以跳跃,也就是byte可以自动转换为int类型,
注意,在整数之间进行类型转换时数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型时,由于存储精度不同,可能会存在数据精度的损失。
猜你喜欢
- 2024-12-18 java-socket长连接demo体验 java websocket 长连接
- 2024-12-18 个人珍藏的80道多线程并发面试题 多线程使用场景面试
- 2024-12-18 这才是Java基础知识点的总结 这才是java基础知识点的总结怎么写
- 2024-12-18 JVM内存结构的历史 (从Jdk1.6、1.7、8)
- 2024-12-18 JDK安装、Eclipse安装及运行环境配置
- 2024-12-18 甲骨文:Java始终与Windows XP不离不弃
- 2024-12-18 JVM调优基础05:Java对象的内存布局
- 2024-12-18 Java 7章 练习 java第七章课后答案
- 2024-12-18 一份详细介绍JVM的资料(对比JDK8和JDK7)
- 2024-12-18 资深的程序员都是这样排查Java问题的,附工具单
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)