| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Java中的数据类型 -> 正文阅读 |
|
[Java知识库]Java中的数据类型 |
导入 1、数据类型的作用是什么? ? ? ? 不同的数据类型占用空间大小不同,数据类型的作用是指导JVM在运行程序时给该数据分配多大的内存空间。 2、Java中的数据类型包括两种 ? ? ?*? ?基本数据类型 ? ? ?*? ?引用数据类型 基本数据类型 1、基本数据类型包括四大类八小类 ? ? ?*? ?整数型(byte,short,int,long) ? ? ?*? ?浮点型(float,double) ? ? ?*? ?布尔型(boolean) ? ? ?*? ?字符型(char) 注:字符串"abc"不属于基本数据类型,属于引用数据类型。? ? ?注:1 Byte = 8 bit? ?1KB = 1024 Byte? ?1MB = 1024? KB? ?1 GB = 1024 MB? 1TB = 1024 GB (1)字符型(char) ? ? ?*? ?计算机在任何情况下都只能识别二进制,但是char类型表示的是现实世界的文字,文字和计算机二进制之间在“默认”情况下不存在任何转化关系,此时我们需要进行人为的干涉,需要人负责提前制定好“文字”和“二进制”之间的对照关系,这种对照关系被称为:字符编码。(Java语言源代码采用的是unicode编码方式,所以“标识符”可以用中文。 ? ? *? ?转义字符? ?\ ? ? ? ? 转义字符出现在特殊字符之前,会将特殊字符转化成普通字符。 ? ? ? ? 例: \n? ?换行符? ?\t? ?制表符? ? \'? ?普通的单引号? ? ?\"普通的双引号? ? \\普通的反斜杠 (2)整数型(byte,short,int,long) ? ? ? *? ?Java语言中的整数型字面值被默认当作int类型来处理。要让这个整数型字面值被当作long类型来处理的话,需要在整数型字面值后面加l/L(建议使用L)。 ? ? ? *? ?Java语言中的整数型字面值有三种表示方法: ? ? ? ? ? ?-? ?十进制(是一种缺省默认的方式) ? ? ? ? ? ?-? ?八进制(在编写八进制整数型字面值的时候需要以0开始) ? ? ? ? ? ?-? ?十六进制(在编写十六进制整数型字面值的时候需要以0x开始) ? ? ? *? ?小容量可以自动转化为大容量,称为自动类型转换机制。 ? ? ? *? ?大容量转换为小容量,需要进行强制类型转换,需要加上“强制类型转换符”(虽然编译通过了,但是运行阶段可能损失精度,所以强制类型转换谨慎使用) ? ? ? ? ? ?强转原理:将左边的二进制砍掉。 (3)浮点型(float,double) ? ? ? ?*? ?在Java中,所有的浮点型字面值默认被当作double类型来处理,要想该字面值当作float类型来处理,需要在字面值的后面添加F/f。 ? ? ? ? ? ?注:double和float在计算机内部二进制存储的时候,存储的都是近似值。 (4)布尔型(boolean) ? ? ? ? ?*? ?在Java语言中,boolean类型只有两个值:true、false。 ? ? ? ? ?*? ?在底层存储的时候boolean类型占用一个字节,因为实际存储的时候false的底层是0,true底层是1。 2、基本数据类型之间的转换规则: ? ? ? ?*? ?八种基本数据类型当中除布尔类型之外剩下的7种类型之间都可以互相转换。 ? ? ? ?*? ?小容量向大容量转换,称为自动类型转换,容量从小到大排序: ? ? ? ? ? ? ?注:?任何浮点类型不管占用多少个字节,?都比整数型容量大 ? ? ? *? ?大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。 ? ? ?*? ??byte?,?short?,char混合运算的时候,各自先转换为int类型再做运算。 ? ? ?*? ?多种数据类型混合运算时,先转换成容量最大的那种类型再做运算。 ? ? ? ? ?注: ? ? ? ??? ? ? byte a = 3;? 可以编译通过,3 没有超过byte类型的取值范围。 ? ? ? ? ? ? ? int i = 10; ? ? ? ? ? ? ? byte a =? i/3; 编译错误,编译器只检查语法,不会“运算”。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:44:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |