栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基本数据类型关键字(基本数据类型有哪些)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基本数据类型关键字(基本数据类型有哪些)

目录

基本数据类型

整型 (byte, short, int, long)

整型常量表示形式

浮点型 (float, double)

浮点类型常量表示形式

字符型(Char)

Unicode码

字符编码表

转义字符 ("")

布尔型 (boolean)


基本数据类型

Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数裾类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。Java中定义了三类8种基本数据类型

数值型:byte、short、int、long、float、double字符型:char布尔型:boolean

注意

引用数据类型的大小统一为4字节,记录的是其引用对象的地址


整型 (byte, short, int, long)

整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行 Java 代码的机器,操作系统无关,这正是 Java 程序具有很强移植能力的原因之一。与此相反,C 和 C++ 程序则需要针对不同的处理器选择最有效的整型

整型常数默认为int型,声明long型常量可以在后面加“l”或“L” , 注意: 必须使用 “L” , 因为 “l” 极易与数字 “1” 混淆


整型常量表示形式

十进制整数,如 99、-500、0八进制整数,要求以0开头,如 015十六进制数,要求以0x或0X开头,如 0x15 (A-F 不区分大小写)二进制数,要求以0b或0B开头,如 0b0110011


浮点型 (float, double)

带小数的数据在 Java 中称为浮点型。浮点型可分为 float 类型和 double 类型. 浮点型的范围也与运行 Java 代码的机器,操作系统无关

float 类型又称作单精度类型,尾数可以精确到 7 位有效数字,但在很多情况下,float 类型的精度很难满足需求double 表示这种类型的数值精度约是 float 类型的两倍,因此又被称作双精度类型,为绝大部分应用程序所采用

注意

float 类型的数值有一个后缀 F 或者 f ,没有后缀 F/f 的浮点数值默认为 double 类型。也可以在浮点数值后添加后缀 D 或者 d, 以明确其为 double 类型float 型常量声明时, 需要添加 f/F 后缀. 因为, 浮点型常量无后缀时, 系统默认其为 doubule 型, 这样在 float 中再声明时会报错

注意

浮点类型 float、double 的数据不适合用于不容许舍入误差的金融计算领域。如果需要进行不产生舍入误差的精确数字计算,需要使用 BigDecimal 类

建议

java.math包下面两个有用的类:Biginteger和BigDecimal这两个类可以处理任意长度的数值。Biginteger 实现了任意精度的整数运算,BigDecimal 实现了任意精度的浮点运算

注意

不要使用浮点数进行比较!需要比较数据时请使用BigDecimal类

总结

默认是 double 类型浮点数存在舍入误差,数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用 BigDecimal 类避免在比较中使用浮点数,需要比较请使用 BigDecimal 类


浮点类型常量表示形式

十进制数形式,如3.14、314.0、0.314科学记数法形式,如314e2、314E2、314E-2


字符型(Char)

字符型数据在内存中占 2 个字节。在 Java 中使用单引号来表示字符常量,例如 ’A’ 是一个字符,它与 "A” 是不同的,”A" 表示含有一个字符的字符串char 类型用来表示在 Unicode 编码表中的字符。Unicode 编码被设计用来处理各种语言的 文字,它占2个字节,可允许有65536个字符

注意

在 java中,char 的本质是一个整数,在输出时,是 unicode 码对应的字符 (字符 ==> Unicode码(/u十六进制) ==> 十六进制(0x) ==> 十进制)

System.out.println('a'+1); //98 (char 型的'a' 与 int型的1, 根据自动转换中的自动提升原则,运算之后成了 int 型)

char a = 'a' + 1 ; System.out.println (a); // 'b' 99 ==> 0x63 ==> /u63 ==> 'b'

'1' 'a' //正确, 1, a 为单个字符

'11' 'aa' //错误, 11, aa 为多个字符

"11" "aa" //正确, 11, aa 为字符串

以后将学到的 String 类,其实是字符序列(char sequence ), 本质是 char 字符组成的数组


Unicode码

Unicode 具有从 0〜65535(216 -1) 之间的编码,它们通常用从 u0000 到 uFFFF 之间的十六进制值来表示(前缀为 u 表示 Unicode)

Unicode编码字符, 在线查询: Unicode编码转换 - 站长工具 (chinaz.com)


字符编码表

ASCII(ASCII 编码表一个字节表标,一个128个字符,实际上一个字节可以表示256个字符,只用128个, 缺点: 不能表示所有字符)Unicode(Unicode 编码表固定大小的编码使用两个字节来表示字符,Unicode 兼容 ASCII, 缺点: 字母和汉字统一都是占用两个字节,这样浪费空间)utf-8(Unicode改进后的产物,大小可变的编码字母使用1个字节,汉字使用3个字节)gbk(可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)gb2312(可以表示汉字,gb2312 < gbk)big5(繁体中文,台湾,香港)


转义字符 ("")

Java 语言中还允许使用转义字符 "" 来将其后的字符转变为其他的含义


布尔型 (boolean)

布尔型数据有两个常量值,true 和 false,在内存中占一位 (不是一个字节)不可以使用 0 或非 0 的整数替代 true 和 false , 这点和 C语言不同boolean 类型用来判断逻辑条件,一般用于程序流程控制

注意

boolean 型, 只有 true 和 false 两种取值, 不存在 null

建议

少就是多!请不要写成这样:if (flag == true)。很容易错写成 if ( flag= true )。老手的写法是 if ( flag ) 或者 if ( !flag )

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776196.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号