第五天、方法

一、死循环

  1. 无法终止该循环,在开发中用于阻塞等待,监听结果;
  2. for(;😉{循环体}
  3. do{循环体}while(true)
  4. while(true){循环体}

二、for循环嵌套

package com.la;
import java.util.Scanner;
public class TwoFori {
    public static void main(String[] args) {
        double  sum=0;
        Scanner scanner = new Scanner(System.in);
        for (int i = 1; i <=3; i++) {
            for (int j = 1; j <=3; j++) {
                System.out.println("请输入"+i+"班的第"+j+"个同学");
                int i1 = scanner.nextInt();
                sum+=i1;
            }
            System.out.println("第"+i+"班的平均分为:"+sum/3);
            sum=0;
        }
    }
}

三、流程控制总结

3.1 顺序结构

代码从左到右、从上到下执行

3.2 分支结构
  1. if
  2. if……else
  3. if……else if……else
  4. switch ……case……default
3.3 循环结构
  1. for
  2. while
  3. do……while
3.4 代码
package com.la;
import java.util.Scanner;
public class Area {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        boolean flag = true;
        do {
            System.out.println("\t\t计算面积");
            System.out.println("1.矩形\t2.三角形\t3.圆\t4.退出");
            System.out.println("请选着你要操作的数字");
            int i = scanner.nextInt();
            switch (i) {
                case 1:
                    System.out.println("你选着了矩形");
                    System.out.println("请输入矩形长");
                    int i1 = scanner.nextInt();
                    System.out.println("请输入矩形的宽");
                    int i2 = scanner.nextInt();
                    System.out.println("矩形面积为:" + i1 * i2);
                    break;
                case 2:
                    System.out.println("你选着了三角形");
                    System.out.println("请输入三角形的宽");
                    int i3 = scanner.nextInt();
                    System.out.println("请输入三角形的高");
                    int i4 = scanner.nextInt();
                    System.out.println("三角形的面积为:" + (i3 * i4) / 2);
                    break;
                case 3:
                    System.out.println("你选着了圆");
                    System.out.println("请输入圆的半径");
                    int i5 = scanner.nextInt();
                    System.out.println("圆的面积为:" + 3.14 * i5 * i5);
                    break;
                case 4:
                    flag = false;
                    break;
            }
        } while (flag);
    }

    public static void test() {
        boolean flag = true;
        Scanner scanner = new Scanner(System.in);
        while (flag) {
            System.out.println("\t\t计算面积");
            System.out.println("1.矩形\t2.三角形\t3.圆\t4.退出");
            System.out.println("请选着你要操作的数字");
            int i = scanner.nextInt();
            switch (i) {
                case 1:
                    System.out.println("你选着了矩形");
                    System.out.println("请输入矩形长");
                    int i1 = scanner.nextInt();
                    System.out.println("请输入矩形的宽");
                    int i2 = scanner.nextInt();
                    System.out.println("矩形面积为:" + i1 * i2);
                    break;
                case 2:
                    System.out.println("你选着了三角形");
                    System.out.println("请输入三角形的宽");
                    int i3 = scanner.nextInt();
                    System.out.println("请输入三角形的高");
                    int i4 = scanner.nextInt();
                    System.out.println("三角形的面积为:" + (i3 * i4) / 2);
                    break;
                case 3:
                    System.out.println("你选着了圆");
                    System.out.println("请输入圆的半径");
                    int i5 = scanner.nextInt();
                    System.out.println("圆的面积为:" + 3.14 * i5 * i5);
                    break;
                case 4:
                    flag = false;
                    break;
            }
        }
    }
}

四、方法

  1. 定义:具有特定功能的代码
  2. 代码
package com.la;
import java.util.Scanner;
public class IsScore {
    public static void main(String[] args) {
        System.out.println("请输入你的成绩:");
        int i = new Scanner(System.in).nextInt();
        int score = score(i);
        System.out.println(score);

    }
    public static int score(int grade){
        if (grade>=60&&grade<=100){
            System.out.println("及格");
            return grade;
        }else {
            System.out.println("不及格");
            return grade;
        }
    }
}

  1. 方法重载

    • 同一个类中,方法名相同,参数列表不同,且与返回值和修饰符无关
  2. 方法在内存运行结构

    • 栈是一种先进后出的数据结构,而java虚拟机栈就是用来描述java方法执行的模型。且是线程独有的。

    • 总体模型为:每个方法在执行的过程中会创建一个栈帧用于存储{局部变量表、操作数栈、动态链接、方法出口等信息}。每个方法的调用到结束都对应者一个栈帧从入栈到出栈的过程;

五、练习

5.1 打印右三角形
package com.la;
public class Work1 {
    public static void main(String[] args) {
        for (int i = 1; i <=5; i++) {
            for (int j = 1; j <=5 ; j++) {
                if (j>(5-i)){
                    System.out.print("*");
                }else System.out.print(" ");
            }
            System.out.println();
        }
    }
}
5.2 打印1~5的五层
package com.la;
public class Work2 {
    public static void main(String[] args) {
        for (int i = 1; i < 6; i++) {
            for (int j = 1; j < 6; j++) {
                if (j==i){
                    for (int k = 0; k < 5; k++) {
                        System.out.print(i+"\t");
                    }
                }
            }
            System.out.println();
        }
    }
}

5.3 公鸡5元,母鸡3元,3只小鸡1元,100元买100只,有多少购买方式
package com.la;
public class Work3 {
//    int a;
//    int b;
//    int c;
//    a*5+b*3+c/3=100;
//    a+b+c=100;
//    a<100/5;
//    b<100/3;
//   c<100;
public static void main(String[] args) {
    int count=0;
    for (int i = 0; i < 20; i++) {
        for (int j = 0; j <33; j++) {
            for (int k = 0; k < 100; k++) {
                if (i+j+k==100&&i*5+j*3+k/3==100){
                    count++;
                    System.out.println("公鸡:"+i+"  母鸡:"+j+"  小鸡"+k);
                    System.out.println(count);
                }
            }
        }
    }
}
}

5.4 定义方法、打印0~n的正整数
package com.la;
import java.util.Scanner;
public class Work4 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        int i = new Scanner(System.in).nextInt();
        test(i);
    }
    public static void test(int n){
        if (n<0){
            System.out.println("输入有误");
        }
        for (int i = 0; i <=n ; i++) {
            System.out.println(i);
        }
    }
}
5.5 判断成绩是否及格
package com.la;
import java.util.Scanner;
public class Work5 {
    public static void main(String[] args) {
        System.out.println("请输入你的成绩");
        int i = new Scanner(System.in).nextInt();
        String answer = test(i);
        System.out.println(answer);
    }
    public static String test(int score){
        if (score>=60) return "及格";
        else return "不及格";
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值