整型数据类型所占内存如下,Java各整数类型有固定的表述范围和字段长度,不受具体操作系统的影响,以保证Java程序的可移植性。
计算机存储单位换算关系如下,
浮点类型:float、double,其特性与整数类型类似
二进制浮点数不能精确的表示0.1、0.001这样的负10次幂,浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域
字符类型char,具体介绍如下
布尔类型:boolean,一般会用到流程控制语句中,if条件控制语句、while循环控制语句、for循环控制语句、do-while循环控制语句,只有true和false两个值,注意不可以使用0或非0替代false和true,在if判断中不建议这样写if(isFlag == true),很容易写成赋值,建议这样写if(isFlag)或if(!isFlag)
基本数据类型变量间运算规则,不同的基本数据类型变量的值经常需要相互转换,转换的方式有两种:自动类型提升和强制类型转换
自动类型提升:将取值范围小的类型自动提升为取值范围大的类型,转换规程如图所示
什么时候会出现自动类型提升,1、当把存储范围小的值赋值给存储范围大的值,2、当存储范围小的数据与存储范围大的数据一起进行运算时,会按照其中最大的类型运算,3、当byte、short、char数据进行算术运算时,按照int处理
强制类型转换,发生在将取值范围大的类型强制转换成取值范围小的类型,转换格式:数据类型1 变量名 = (数据类型1)被强制转换数据值
什么情况会出现强制类型转换,1、当把存储范围大的值强制转换成存储范围小的变量,可能会损失精度或溢出,2、当某个值想要提升数据类型时,可以使用强制类型转换,3、声明long类型变量时,可以出先省略后缀的情况,float则不同。
字符串类型String,不是基本数据类型,属于引用数据类型,声明方式与基本数据类型类似,例如:String str = “尚硅谷”。1、任意八种数据类型的数据与String类型只能进行“+”运算,且结果也是String类型,2、String类型不能通过强制类型转换(),转为其他类型。
二进制与八进制、十进制、十六进制之间的转换,十进制要通过二进制转换成八进制或十六进制,十进制转换成二进制的方法:除k取余法。
运算符,运算符按功能分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符
按照操作数个数分为:
算术运算符,基本语法如下
赋值运算符,符号:=,当=两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理,并支持连续赋值。
比较运算符,具体介绍如下
逻辑运算符,
开发中使用||和&&,它们两个都是先看左边,如果左边满足或不满足条件,则不会执行右边的操作。
位运算符,基本语法如下
位运算符的运算过程都是基于二进制的补码运算
左移运算符
右移运算符>>
无符号右移
按位与
按位或
按位异或
按位取反
条件运算符,基本语法如下
凡是可以使用条件表达式的地方都可以写成if-else结构,开发中如果既可以使用条件运算符,又可以使用if-else,推荐使用条件运算符,因为执行效率高。
运算符优先级
整型数据类型所占内存如下,Java各整数类型有固定的表述范围和字段长度,不受具体操作系统的影响,以保证Java程序的可移植性。
计算机存储单位换算关系如下,
浮点类型:float、double,其特性与整数类型类似
二进制浮点数不能精确的表示0.1、0.001这样的负10次幂,浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域
字符类型char,具体介绍如下
布尔类型:boolean,一般会用到流程控制语句中,if条件控制语句、while循环控制语句、for循环控制语句、do-while循环控制语句,只有true和false两个值,注意不可以使用0或非0替代false和true,在if判断中不建议这样写if(isFlag == true),很容易写成赋值,建议这样写if(isFlag)或if(!isFlag)
基本数据类型变量间运算规则,不同的基本数据类型变量的值经常需要相互转换,转换的方式有两种:自动类型提升和强制类型转换
自动类型提升:将取值范围小的类型自动提升为取值范围大的类型,转换规程如图所示
什么时候会出现自动类型提升,1、当把存储范围小的值赋值给存储范围大的值,2、当存储范围小的数据与存储范围大的数据一起进行运算时,会按照其中最大的类型运算,3、当byte、short、char数据进行算术运算时,按照int处理
强制类型转换,发生在将取值范围大的类型强制转换成取值范围小的类型,转换格式:数据类型1 变量名 = (数据类型1)被强制转换数据值
什么情况会出现强制类型转换,1、当把存储范围大的值强制转换成存储范围小的变量,可能会损失精度或溢出,2、当某个值想要提升数据类型时,可以使用强制类型转换,3、声明long类型变量时,可以出先省略后缀的情况,float则不同。
字符串类型String,不是基本数据类型,属于引用数据类型,声明方式与基本数据类型类似,例如:String str = “尚硅谷”。1、任意八种数据类型的数据与String类型只能进行“+”运算,且结果也是String类型,2、String类型不能通过强制类型转换(),转为其他类型。
二进制与八进制、十进制、十六进制之间的转换,十进制要通过二进制转换成八进制或十六进制,十进制转换成二进制的方法:除k取余法。
运算符,运算符按功能分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符
按照操作数个数分为:
算术运算符,基本语法如下
赋值运算符,符号:=,当=两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理,并支持连续赋值。
比较运算符,具体介绍如下
逻辑运算符,
开发中使用||和&&,它们两个都是先看左边,如果左边满足或不满足条件,则不会执行右边的操作。
位运算符,基本语法如下
位运算符的运算过程都是基于二进制的补码运算
左移运算符
右移运算符>>
无符号右移
按位与
按位或
按位异或
按位取反
条件运算符,基本语法如下
凡是可以使用条件表达式的地方都可以写成if-else结构,开发中如果既可以使用条件运算符,又可以使用if-else,推荐使用条件运算符,因为执行效率高。
运算符优先级