java第二章

陈述题

1.Java包含哪两大类数据类型?其中基本类型的每种类型的取值范围和默认值分别是多少?请编程验
证。

  • 数据类型可划分为基本数据类型引用数据类型
  • 基本数据类型的取值范围和默认值https://img-blog.csdnimg.cn/def2271f3cb449c7b2c75d957464bde3.png
    2.Java在什么情况会发生整型溢出?请举例说明,并给出解决方案。
    • int型数据的最大值+1时会发生整型溢出
public class TestJava3_4 
 { 
  public static void main(String args[]) 
  { 
    int x = Java.lang.Integer.MAX_VALUE ;  //  得到整型的最大值 

        int y=2147483647 ;//int类型的最大值
   System.out.println("x = "+x);
   System.out.println("x+1 = "+(x+1)); 
   System.out.println("x+2 = "+(x+2)); 
  } 
 }
 
 输出结果
 x = 2147483647 
 x+1 = -2147483648 
 x+2 = -2147483647 

解决方案:改为取值范围更大的数据类型,如long

3.Java基本类型的包装类分别是哪些?其高频区间数据缓存范围分别是什么?请选择一种包装类型编程验证其数据缓存特性。

  • Java的基础数据类型的包装类:Integer,Long,Double,Float,Boolean,Byte,Short,Character
  • 其中Double和Float没有缓存,其他类型都有高频缓存区间。其高频缓存区间的缓存范围是:
    Boolean:使用静态final,就会返回静态值
    Byte:-128~127
    Short:-128~127
    Character:0~127
    Long:-128~127
    Integer:-128~127

如果所使用的包装类的值在这个缓存区间内,就会直接复用已有对象,在缓存区间之外的数值会重新在堆上产生。所以在判断是否相等时不要用“==”,用equals

Integer i1 = 127Integer i2 = 127;
i1 == i2 ->true

Integer i3 = 128;
Integer i4 = 128;
i3 == i4 ->false

4.什么是自动装箱,什么是自动拆箱,请举例说明。
装箱: 将基本类型用它们对应的引用类型包装起来
拆箱: 将包装类型转换为基本数据类型

 Integer i = 10; //装箱 
 int t = i; //拆箱,实际上执行了 int t = i.intValue();

5.int与Integer有什么区别,它们之间的相互转化是怎样的?请通过JDK文档自主学习Integer类,对主要方法进行测试。
Integer是int的包装类;int是基本数据类型;
Integer变量必须实例化后才能使用;int变量不需要;
Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ;
Integer的默认值是null;int的默认值是0

6.逻辑运算符&和&&的区别是什么?逻辑运算符&与位运算符&的区别是什么?请分别举例说明
&和&&的区别
&既是逻辑运算符也是位运算符;&&只是逻辑运算符
&不具有短路效果,即左边false,右边还会执行;&&具有短路效果,左边为false,右边则不执行
逻辑运算符&与位运算符&的区别
逻辑运算符&
参与运算的都是布尔值
位运算符&
x&y,x,y按位进行与操作

7.Java语言中可以采用什么语句跳出多重循环?请举例说明
break;(跳出本层循环)
break lab; (跳出多重循环的外层循环)

lab:
            for(int i =0; i<2; i++) {
                 for(int j=0; j<10; j++) {
                      if (j >1)  { 
                         break lab; 
                      }
                     System.out.println(break");
                 }
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值