Java包含的两大数据类型,基本类型的取值范围和默认值。(编程验证)
两大数据类型:基本类型和引用类型;基本类型的(取值范围)+(默认值):整数类型:byte8位(-2^7~2^7-1)+((byte)0),short16位(-2^15~2^15-1)+((short)0),int32位(-2^31~2^31-1)+(0),long64位(-2^63~2^63-1)+(0L)(值为有符号二进制补码整型);浮点类型:float32位(1.401298e-45~3.402823e+38)+(0.0f);double64位(4.9000000e-324~1.797693e+308)+(0.0d);字符类型:char(16位无符号整数,使用Unicode字符集)+('/uoooo'(null));布尔类型:boolean(true或false)+(false)。
编程验证:
举例Java发生整型溢出的情况以及解决方案。
例子:
解决方案:
Java基本类型的包装类,其高频区间数据缓存范围。(对其中一种进行编程验证)
基本数据类型 | 包装类 | 高频区间数据缓存范围 |
byte | Byte | -128~127 |
short | Short | -128~127 |
int | Integer | -128~127 |
long | Long | -128~127 |
float | Float | 无 |
double | Double | 无 |
boolean | Boolean | 使用静态final,就会返回静态值 |
char | Character | 0~127 |
编程验证():
自动装箱与自动拆箱的概念。(举例说明)
自动装箱:自动将基本数据类型转换为包装器类型;
自动拆箱:自动将包装器类型转换为基本数据类型。
举例:
int与Integer的区别以及它们之间的相互转化。
区别:Integer是int的包装类,而int是java的一种基本的数据类型;Integer变量必须实例化之后才能使用,而int变量不需要实例化;Integer实际是对象的引用,当new一个Integer时,实际上生成一个指针指向对象,而int则直接存储数值;Integer的默认值是null,而int的默认值是0。
相互转化:自动装箱与自动拆箱。
逻辑运算符&和&&的区别,逻辑运算符&与位运算符&的区别,举例说明。
逻辑运算符&和&&的区别:&在执行操作时,运算符左右两边的表达式首先被运算执行,再对两表达式的结果进行与运算;而利用&&执行操作时,如果从左边的表达式中得到操作数能确定运算结果,则不再对右边的表达式进行运算。(采用“&&”具有“短路”效应,目的是为了加快运算速度。)
逻辑运算符&与位运算符&的区别:逻辑运算符左右两边表达式的运算结果必须为true或false,最终结果也为true或false;位运算符是对左右两边的结果转化为二进制进行的运算,最后结果为数。
Java语言中可以跳出多重循环的语句,举例说明。
break lab;lab为标号,可以指定跳出至第几层循环。
作业:P33 1~5
1._S9是合法标识。
2.数据类型byte、short、int、char可以充当switch语句的条件。
3.
该程序片段的执行结果是编译失败。
4.错在:类型不匹配,要强制转换或其他操作。应改为 :Float s=2.3f;或Float s=(float)2.3;或double s=2.3;。
5.
该程序片段的执行结果是i=1,j=1。