一条咸鱼的java学习笔记第3天

1.for(;; ){}和while(true){}这两个死循环那个执行效率高?(总结调查,验证)

for(;;)死循环里的两个;;代表两个空语句,编译器一般会优化掉它们,直接进入循环体。
while(true)死循环里的true被看成表达式,每循环一次都要判断表达式是否真。
即,相对来说for式死循环更加高效一点。

2.break和continue关键字的区别?什么是位置标签?(break、continue和位置标签搭配可以达到goto的效果,非常非常非常不推荐使用)

break:用于跳出当前所在循环体,去执行循环后面的语句。
continue:用于结束本次循环,继续执行下一次循环。

注意:
break关键字可以用在switch–case的分支结构和循环结构。
continue关键字只能用于循环中。

3.形参和实参?

形参:方法定义时给定的参数列表
实参:方法被调用时,主方法传递给子方法参数

4.void类型的返回方法是否可以使用return关键字?

Java中的函数除了构造方法没有返回类型之外,其他的方法都是又返回类型的,例如显示的标注了int、String、boolean等,注意标注了void不代表没有返回类型,只是返回类型为空,这一点要区别于类的构造方法,构造方法是没有写明返回类型关键字的。

   我们在void返回类型的方法中有时看得到return关键字,有时又看不到,这分两种情况。

1.return在方法体的最后一行

public void method(){
//…
//…
//…
return;
}
最后一行的return可写可不写,如果写就写成“return;”,返回类型为空。

2.return在方法体的中间

public void method(){
//…
//…
return;
//…
}
在中间的情况表示退出方法的意思,后面的代码就不执行了。

5.java中实参和形参的参数值的传递方式?java传值的方式? java是如何传值的?

在这里插入图片描述

6.什么是方法的重载?重载的条件?重载的调用方式?什么是方法的重写?重写的条件? 二者的异同点?

在这里插入图片描述
在这里插入图片描述
重写与重载的区别
override重写
重写是子类对父类的方法进行重新实现
overload重载
重载是同一个类中几个相同名称的方法

重写的方法名称、返回类型、参数列表必须完全相同,子类的异常不能更广泛,子类方法的访问修饰符不能小于父类
重载的方法名称必须相同,参数列表必须不同,返回类型、异常、访问修饰符可以不同

方法的重写和重载具有以下相同点:

1.都要求方法同名
2.都可以用于抽象方法和非抽象方法之间

7.什么是变长参数(jdk1.5+?)?变长参数和重载的关系?

在这里插入图片描述
例:
public void add(int a,int… b) {
float c=a;
for (int i : b) {
c=c+i;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值