第二次java课程

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

内置数据类型
引用数据类型
八大基本数据类型:四个整数型(byte,short,int,long)两个浮点数型(float,double)一个字符型(char)一个布尔类型(bool)
类型关键字最小值最大值默认值
字节型byte-2727-10
短整型short-215215-10
整型int-231231-10
长整型long-263263-10L
单精度浮点型float-3.40E+38+3.40E+380.0F
双精度浮点型double-1.79E+308+1.79E+3080.0D
字符型char0216-1‘\u0000’
布尔型boolfalsetruefalse

2. Java在什么情况会发生整型溢出?请举例说明,并给出解决方案。

当数值已经达到该类型的最大值并在继续扩大或已经达到该类型的最小值并继续缩小时,就会出现溢出问题。

public static void main(String[] args){
	int x=Integer.MAX_VALUE/2+1;
	int y=Integer.MAX_VALUE/2+1;
	int sum=x+y;
	System.out.println(sum);

此时sum发生了整型溢出,若要修改这一错误即需把sum的类型改为long型。

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

数据类型包装类高频区间数据缓存范围
byteByte-128~127
shortShort-128~127
intInteger-128~127
longLong-128~127
floatFloat/
doubleDouble/
charCharacter0~127
boolBoolean使用静态final,返回静态值

4.什么是自动装箱,什么是自动拆箱,请举例说明。

自动装箱:将基本数据类型自动转换为封装类型。
自动拆箱:将封装类型自动转换为基本数据类型。

//自动装箱
Integer x=1;

//自动拆箱
int y=x;
	

5. int与Integer有什么区别,它们之间的相互转化是怎样的? 请通过JDK文档自主学习Integer类,对主要方法进行测试。

int:一种数据类型
Integer:int的包装类
二者的互相转化

//int转为Integer
int x=2;
Integer y=new Integer(x);

//Integer转为int
Integer m=new Integer(2);
int n=m.intValue();

6. 逻辑运算符&和&&的区别是什么?逻辑运算符&与位运算符&的区别是什么?请分别举例说明

逻辑运算符&与&&
二者均为与运算符,&不是短路运算符,&&是短路运算符。

// &&
public class  basic{
       public static void main(String[] args){   
           int x=1;
           boolean no = false;
           if ((no==true) && (x+=1)==2){
               System.out.println("相等,x="+x);
           } else {
              System.out.println("不相等,x="+x);
           }
       }
}
// & 
public class basic {
       public static void main(String[] args){   
           int x=1;
           boolean no = false;
           if ((no==true) & (x+=1)==2){
               System.out.println("相等,x="+x);
           } else {
              System.out.println("不相等,x="+x);
           }
       }
}

逻辑运算符&与位运算符&
逻辑运算符:左右两边表达式均为true则结果为true
与位运算符:二进制相应位数均为1则该位为1,否则为0

//逻辑与 & 
public class basic {
       public static void main(String[] args){   
           int x=1;
           boolean no=false;
           if ((no==true) & (x+=1)==2){
               System.out.println("相等,x="+x);
           } else {
              System.out.println("不相等,x="+x);
           }
       }
}
//位运算 &
int x=1,y=4;
int ans=x&y;
System.out.println(ans);

7. Java语言中可以采用什么语句跳出多重循环?请举例说明

break lab:
跳出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");
                 }
            }
            

输出:

break
break

continue lab:
跳出外层本次循环,继续外层下一次循环

 lab:   for(int i =0; i<2; i++) {
                      for(int j=0; j<10; j++) {
                            if (j >1)  { 
                                 continue lab; 
                            }
                           System.out.println("continue");
                      }
                     System.out.println("************");
                 }

输出:

continue
continue
continue
continue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值