Java面向对象程序设计(第三版)耿祥义,张跃平第三章课后习题

一、判断题

(9)switch语句中必须有default选项   (×)

解析:switch选项中不是必须有default选项,switch语句是根据case选项的值来判断,若满足条件的case选项存在,则会执行相应的代码,而不会执行default选项的代码,所以,若case中的值可以覆盖所有情况,则不需要default。

三、挑错题

(1)

public class BB {
    public static void main(String args[]){
        byte b='a';//A
        int n=100;
        char c=65;//B
        b=b;//C
        b=b+1;//D
    }
}

正确答案:D 

A:在java中,byte占一个字节且最高位是符号位,表示范围为-128-127,该范围内的数字或字符可以直接赋值给byte类型的变量,不需要强制类型转换

D:Java中涉及byte、short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果。因此,如果把两个byte类型值相加,最后会得到一个int类型的结果。如果需要得到byte类型结果,必须将这个int类型的结果显式转换为byte类型。

(2)

public class Test{
    public static void main(Stridn args[]){
        char ch='花';   //A
        byte n=-100;
        ch=ch-ch;      //B
        n=n;           //C
        n=127;         //D
    }
}

正确答案:B

解析:+ -的操作元是整型或浮点型。

(3)

public class Test{
    public static void main(Stridn args[]){
        int m=1000;   //A
        while(m>100){
            m=m--;     //B
            if(m==600){  //C
                continue;
                m++;   //D
    }
}

正确答案:D

解析:break,continue语句后定义语句会出现unreachable statement异常。

四、阅读程序题

(2)

public class Test{
    public static void main(Stridn args[]){
        boolean boo=false;
        int x=-1;
        boo=((x=10)>9)|((x=100)>99);
        System.out.println(boo+"hello"+x);
    }
}

结果:truehello100

解析:|或:两侧都是boolean,两侧有一侧成立(true),结果就为true。


符号:& 与 &&短路与 | 或 ||短路或 ^ 异或 ! 非

&与:两侧都是boolean,两侧都成立(true),结果才为true。

&&短路与:两侧都是boolean,两侧都成立(true),结果才为true。

& 与 &&区别: &:判断前者为false后,还会判断后者。 &&:判断前者为false后,不会判断后者,效率更高

|或:两侧都是boolean,两侧有一侧成立(true),结果就为true。

|| 短路或:两侧都是boolean,两侧有一侧成立(true),结果就为true。

| 与 ||区别: |:判断前者为true,还会判断后者。 ||:判断前者为true,不会判断后者,效率更高

^ 异或:两侧都是boolean,两侧不一样,结果为true。

! 非:置反


1.逻辑运算符运行结果都是boolean类型

2.&、&&、|、||、^ 两侧都是boolean类型数据

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 面向对象编程的特点: - 封装:将数据和方法组合成一个类,并对外提供接口,隐藏内部实现细节,保证数据安全性和代码的可维护性。 - 继承:通过子类继承父类的属性和方法,实现代码的复用和扩展。 - 多态:同一种行为在不同情境下的不同表现形式,可以通过重载、重写和接口实现。 2. 类和对象: - 类是一种抽象的概念,是描述对象具有的属性和方法的模板。 - 对象是类的一个实例,具有这个类所描述的属性和方法。 3. 成员变量和成员方法: - 成员变量是描述对象状态的数据,可以是基本类型、对象类型或数组类型。 - 成员方法是描述对象行为的操作,可以是构造方法、普通方法、静态方法和抽象方法。 4. 构造方法和析构方法: - 构造方法是创建对象时调用的特殊方法,用于初始化对象的成员变量。 - 析构方法是销毁对象时调用的特殊方法,用于释放对象占用的资源。Java中不需要显式地调用析构方法,由垃圾回收器自动回收。 5. 访问控制: - 访问控制可以限制类的成员变量和成员方法的访问范围,保证数据的安全性和代码的可维护性。 - Java中有四种访问控制修饰符:public、protected、default、private。 6. 静态变量和静态方法: - 静态变量属于类,不属于对象,被所有对象共享。 - 静态方法可以通过类名调用,不需要创建对象。 7. final关键字: - final可以修饰类、成员变量和成员方法。 - final修饰的类不能被继承,修饰的变量是常量,修饰的方法不能被重写。 8. 抽象类和接口: - 抽象类是一种不能被实例化的类,只能作为父类被继承,可以包含抽象方法和普通方法。 - 接口是一种完全抽象的类型,只包含抽象方法和常量,用于定义规范和约束。类可以实现多个接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值