java常用知识点系列-6

知识点整理Day_06:

1 易错题整理

① 下面关于if的说法错误的是:

A.if是一种分支结构

B.if常常用于实现2条路结构

C.在if结构中,若条件为true则执行语句块

D.在if结构中,若条件为false则不会执行语句块

【正确答案】B

【答案解析】在java中,if是一种分支结构,用于实现1条路结构,实现满足条件时则做操作,不满足条件时不做操作。题目中说if常常用于实现2条路结构是错误的。

② 判断年龄age在18到50之间的正确代码是(包含18和50):

A.age>=18 && age<=50

B.age>=18 || age<=50

C.age>18 || age<50

D.age>18 && age<50

【正确答案】A

【答案解析】在java中,连接多个条件运算必须使用逻辑运算符&&或||,若想表示在18到50之间(包含18到50)的话,需要age>=18并且age<=50。表达并且使用&&,所以本题正确 的代码是age>=18 && age<=50。

③ 下列选项中()是java的关键字:

A.break

B.Class

C.Continue

D.PUBLIC

【正确答案】A

【答案解析】在java中,是严格区分大小写的,大写字母也小写字母是完全不同的东西,如果选项中只有break是关键字。

④ 如下代码会发生编译错误的是:

A.short s1 = 5; short s2 = 6; int s3 = s1+s2;

B.byte b1 = 5; byte b2 = 6;

C.short s = 5;

D.short s1 = 5; short s2 = 6; short s3 = s1+s2;

【正确答案】D

【答案解析】在java中规定,整数直接量可以直接赋值给byte,short,char,但一定要在范围内,而byte,short,char型数据参与运算时会一律先转换为int再运算,而int是不能赋值给short的, 所以案例中的s1+s2的值为int,是不能直接赋值给short型变量s3的。

⑤ 关于switch说法错误的是:

A.当所有case都未匹配时,才会执行default后的语句

B.switch中必须有default

C.switch是一种分支结构

D.case后的数据不能重复

【正确答案】B

【答案解析】在java中,switch是一种特殊的分支结构 ,可以根据一个整数的值来贯穿执行switch,规定case后的数据是不能重复的,可以包含default,也可以不包含default, 但是无论default写在什么位置,也是会先匹配case,当所有case都未匹配时才执行。所以选项中说switch中必须有default是错误的。

2 引用类型与引用类型数组赋值区别

① 引用类型:通过栈中局部变量b的地址指向Bomb对象的成员变量

//初始化语句
Bomb b=new Bomb(100,200);//局部变量b1指向Bomb对象

② 引用类型数组:通过栈中局部变量stus的地址指向Student引用数组类型对象的成员变量stus[0]、stus[1],通过存储的地址指向Student对象的成员变量

Student[] stus=new Student[2];
stus[0]=new Student("李四",20,"JMS");
stus[1]=new Student("张三",25,"LF");

3 空指针异常

 4 超类和派生类中的变量如果同名,默认就近原则

案例分析:因为派生类Boo中声明了x,根据就近原则,优先指向Boo的x,而Boo中没有声明y,则派生类Boo接收到y后指向了超类Aoo的y

Class Aoo{
    int x;
    int y;
    Aoo(int x,int y){
        this.x=x;
        this.y=y;
    }
}
​
Class Boo extends Aoo{
    int x;
    Boo(int x,int y){
        super(x,y);
    }
}

5 区分构造方法与普通方法

//语法:
Class Aoo{
    Aoo{//构造方法
    }
    void Aoo{//普通方法
    }
}
//调用:普通方法打点,构造方法new对象时自动调用

6 重载与重写案例

//重载
Class Aoo{
   void show(){}
}
Class Boo extends Aoo{
    void show(int a){}
}
//此时在派生类Boo中发生了重载,因为Boo继承了Aoo也就拥有了Aoo中无参的show方法,与自己有参的show方法形成重载
​
//重写
Class 餐馆{
    void 做餐(){
        做中餐;
    }
}
Class Aoo{
    Aoo(){
        super.做餐();
        做西餐;
    }
}//我想在中餐基础上加入做西餐------需要重写(先super中餐,再加入西餐)

7 switch与default案例

注意:

① switch中可以没有default

② default可以在任意位置,注意break的位置

③ switch为顺序结构,且以case为入口,想要结束:要么遇到break,要么运行到语句末端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷叫曹小仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值