Java 循环跟函数(方法)

Java 循环跟函数(方法)

Java 循环和函数(方法)

1 for循环嵌套

  • 简而言之,就是一个for循环语句里面,还有一个for循环语句。
  • 外层循环,每循环一次,内层循环,循环一周。

 

  • 示例
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForDemo {
    public static void main(String[] args) {
        for(int x = 0;x<= 3 ;x++){
            System.out.print("x="+x+" ");
            for(int y = 0;y<=4;y++){
                System.out.print("y="+y);
            }
            System.out.println();
        }

    }
}

Java 循环跟函数(方法)

 

  • 练习:打印一个四行5列的矩形
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 4; x++){
            for(int y = 1; y<= 5;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

Java 循环跟函数(方法)

 

  • 示例:
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = 0; y<= 5 - x;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = x; y<= 5 ;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

Java 循环跟函数(方法)

 

  • 示例:
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1; x <= 5; x++){
            for(int y = 1; y<= x ;y++){
                System.out.print("*");
            }
            System.out.println();

        }
    }
}

Java 循环跟函数(方法)

 

  • 示例:九九乘法表
package java003;

/**
 * 2017/9/1.
 * 说明:
 */
public class ForForTest {
    public static void main(String[] args) {
        for(int x = 1;x<=9;x++){
            for(int y = 1; y <= x; y++){
                System.out.print(y +"*" +x +"="+(y*x)+"\t");
            }
            System.out.println();

        }
    }
}

Java 循环跟函数(方法)

 2 其他的流程控制语句(break和continue)

  • break(跳出)
    • 应用范围:
      • switch语句
      • 循环语句
    • 注意
      • break语句单独存在的时候,break语句下面不能定义其他语句,因为执行不到。
      • 当循环为多层循环的时候,break默认跳出的是内层循环。        
  • continue(继续)
    • 应用范围:
      • 循环语句  

 

  • 示例:
package java004;

/**
 * 2017/9/2
 * 说明:
 */
public class BreakContinueDemo {
    public static void main(String[] args) {

        for (int x = 0 ;x <=5;x++){
            if(x == 2){
                break;
            }
            System.out.println("x="+x);

        }

    }
}

x=0
x=1

 

3 函数(方法)

3.1 函数的定义

  • 什么是函数?
    • 函数就是定义在类中的具有特定功能的一段独立小程序。
    • 函数也称为方法。  
  • 函数的格式:
访问修饰符 返回值类型 函数名(参数类型 形式参数1,,参数类型 形式参数2,……){
    执行语句;
    return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用来存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该函数运算后的结果,该结果会返回给调用者。

 

  • 示例:
package java004;

/**
 * 2017/9/3
 * 说明:
 */
public class FunctionDemo {
    public static void main(String[] args) {
        int result = FunctionDemo.add(1,2);
        System.out.println("result="+result);
    }
    public static int add(int a,int b){
        return a + b;
    }

}

 

3.2 函数的特点

  • 如果函数没有具体的返回值
    • ①return后面直接用分号;结束。
    • ②返回值的类型为void,Java中用void表示该函数没有具体的返回值。 
    • ③如果返回值的类型是void,那么函数中的return语句可以省略不写(具体问题具体分析)。 
  • 定义函数可以将功能代码进行封装。
  • 便于对该功能进行复用。
  • 函数只有被调用才会被执行。
  • 函数的出现提高了代码的复用性。
  • 注意
    • 函数中不能调用函数,不可以在函数内部定义函数。
    • 定义函数的时候,函数的结果应该返回给调用者,交由调用者处理。  

 

3.3 函数的重载(overload) 

  • 重载:
    • 概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
    • 特点:与返回值无关,只看参数列表和函数名字。
    • 重载的好处:方便于阅读,优化了程序设计。  

 

  • 示例:
package java004;

/**
 * 2017/9/3
 * 说明:重载
 */
public class OverLoad {
    public static void main(String[] args) {
        int result = add(1,2);
        System.out.println("两个整数的和:"+result);
        
        result = add(1,2,3);
        System.out.println("三个整数的和:"+result);

        double d = add(3.0,4.0);
        System.out.println("两个浮点数的和:"+d);

    }

    /**
     * 求两个整数的和
     * @param a
     * @param b
     * @return
     */
    public static int add(int a,int b){
        return a + b;
    }

    /**
     * 求两个浮点数的和
     * @param a
     * @param b
     * @return
     */
    public static double add(double a ,double b){
        return a + b;
    }

    /**
     * 求三个整数的和
     * @param a
     * @param b
     * @param c
     * @return
     */
    public static int add(int a,int b,int c){
        return  a + b + c;
    }


}