一条咸鱼的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是如何传值的?

java 递归写了死循环_变长参数

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

java 递归写了死循环_java_02


java 递归写了死循环_死循环_03


重写与重载的区别

override重写

重写是子类对父类的方法进行重新实现

overload重载

重载是同一个类中几个相同名称的方法

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

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

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

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

java 递归写了死循环_java_04


例:

public void add(int a,int… b) {
 float c=a;
 for (int i : b) {
 c=c+i;
 }