一条咸鱼的java学习笔记第三天
- 1.for(;; ){}和while(true){}这两个死循环那个执行效率高?(总结调查,验证)
- 2.break和continue关键字的区别?什么是位置标签?(break、continue和位置标签搭配可以达到goto的效果,非常非常非常不推荐使用)
- 3.形参和实参?
- 4.void类型的返回方法是否可以使用return关键字?
- 5.java中实参和形参的参数值的传递方式?java传值的方式? java是如何传值的?
- 6.什么是方法的重载?重载的条件?重载的调用方式?什么是方法的重写?重写的条件? 二者的异同点?
- 7.什么是变长参数(jdk1.5+?)?变长参数和重载的关系?
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;
}