Java全栈JavaSE:7.流程控制

Posted new nm个对象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java全栈JavaSE:7.流程控制相关的知识,希望对你有一定的参考价值。

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。

1.顺序结构

package com.oy.流程控制;

public class ShunXunJieGou {
    public static void main(String[] args) {
        System.out.println("Hello1");
        System.out.println("Hello2");
        System.out.println("Hello3");
        System.out.println("Hello4");
    }
}

运行结果如下:

Hello1
Hello2
Hello3
Hello4

2.选择结构

(1)if单选择结构

package com.oy.流程控制;

import java.util.Scanner;

public class OneIf {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        String s = scanner.nextLine();
        if (s.equals("Hello")){
            System.out.println("输入正确");
        }
        scanner.close();
    }
}

运行结果如下:

请输入:
Hello
输入正确

(2)if双选择结构

package com.oy.流程控制;

import java.util.Scanner;

public class TwoIf {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        int cj = scanner.nextInt();
        if (cj >= 60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

运行结果如下:

请输入成绩:
80
及格

(3)if多选择结构

注意:按照上下顺序,主要有一个if表达式符合要求,后续的if无论是否满足要求都不会再执行。

package com.oy.流程控制;

import java.util.Scanner;

public class MoreIF {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        int cj = scanner.nextInt();
        if (cj<=100 && cj>=90){
            System.out.println("优秀");
        }
        else if (cj<90 && cj>=80){
            System.out.println("良好");
        }
        else if (cj<80 && cj>=60){
            System.out.println("及格");
        }
        else if (cj<60 && cj>=0){
            System.out.println("不及格");
        }
        else {
            System.out.println("成绩不合法,请重新输入");
        }
        scanner.close();
    }
}

运行结果如下:

请输入成绩:
76
及格

(4)switch选择结构


switch就是匹配表达式(expression)的值,当匹配到哪个值时,就执行对应case下的代码。当所有case都未匹配到时,则执行default下的代码。

package com.oy.流程控制;

public class SwitchDemo1 {
    public static void main(String[] args) {
        char ch = 'C';
        switch (ch){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("不及格");
                break;
            default:
                System.out.println("弄啥呢");
        }
    }
}

switch穿透
注意:

  • case代码块中,最后的break也可以不要。当不加break则会产生穿透:也就是当匹配到的case未加break时,那么下一个case无论是否匹配都会被执行。如果后续的case仍然未加break,那么会继续向下穿透。直到switch语句结束或者遇到有break语句的case(一般情况下都最好加上break)
  • default语句与case语句一样也会被穿透
package com.oy.流程控制;

public class SwitchDemo1 {
    public static void main(String[] args) {
        char ch = 'B';
        switch (ch){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
            case 'C':
                System.out.println("及格");
                //break;
            case 'D':
                System.out.println("不及格");
                break;
            default:
                System.out.println("弄啥呢");
        }
    }
}

运行结果如下:

良好
及格
不及格

3.循环结构

(1)while循环

package com.oy.流程控制;

public class While {
    public static void main(String[] args) {
        //计算1到100的和
        int i = 0;
        int sum = 0;
        while (i<100) {
            i++;
            sum += i;
        }
        System.out.println(sum);
    }
}

运算结果如下:

5050

(2)do-while循环

package com.oy.流程控制;

public class DoWhile {
    public static void main(String[] args) {
        //计算1到100的和
        int i = 0;
        int sum = 0;
        do {
            i++;
            sum += i;
        } while (i<100);
        System.out.println(sum);
    }
}

运行结果如下:

5050

(3)for循环


练习1:计算0到100之间的奇数和偶数的和

package com.oy.流程控制;

public class ForDemo1 {
    public static void main(String[] args) {
        int jishu_sum = 0;
        int oushu_sum = 0;
        for (int i=0;i<=100;i++){
            if (i%2==0){
                oushu_sum += i;
            }else {
                jishu_sum += i;
            }
        }
        System.out.println(jishu_sum);
        System.out.println(oushu_sum);
    }
}

运算结果如下:

2500
2550

练习2:循环输出1-1000之间能被5整除的数,并且每行输出3个

package com.oy.流程控制;

public class ForDemo2 {
    public static void main(String[] args) {
        int count = 1;
        for (int i=0;i<=1000;i++){
            if (i%5==0){
                System.out.print(i+" "); //print与println的区别:print输出完不会换行,而println输出完会换行
                if (count % 3==0){
                    System.out.println();
                }
                count++;
            }
        }
    }
}

运行结果如下:

0 5 10 
15 20 25 
30 35 40 
45 50 55 
60 65 70 
75 80 85 
90 95 100 
105 110 115 
120 125 130 
135 140 145 
150 155 160 
165 170 175 
180 185 190 
195 200 205 
210 215 220 
225 230 235 
240 245 250 
255 260 265 
270 275 280 
285 290 295 
300 305 310 
315 320 325 
330 335 340 
345 350 355 
360 365 370 
375 380 385 
390 395 400 
405 410 415 
420 425 430 
435 440 445 
450 455 460 
465 470 475 
480 485 490 
495 500 505 
510 515 520 
525 530 535 
540 545 550 
555 560 565 
570 575 580 
585 590 595 
600 605 610 
615 620 625 
630 635 640 
645 650 655 
660 665 670 
675 680 685 
690 695 700 
705 710 715 
720 725 730 
735 740 745 
750 755 760 
765 770 775 
780 785 790 
795 800 805 
810 815 820 
825 830 835 
840 845 850 
855 860 865 
870 875 880 
885 890 895 
900 905 910 
915 920 925 
930 935 940 
945 950 955 
960 965 970 
975 980 985 
990 995 1000 

Process finished with exit code 0

练习3:打印九九乘法表

package com.oy.流程控制;

public class ForDemo3 {
    public static void main(String[] args) {
        for (int i=1;i<=9;i++){
            for (int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"\\t");
            }
            System.out.println();
        }
    }
}

运行结果如下:

1*1	
1*2	2*2	
1*3	2*3	3*3	
1*4	2*4	3*4	4*4	
1*5	2*5	3*5	4*5	5*5	
1*6	2*6	3*6	4*6	5*6	6*6	
1*7	2*7	3*7	4*7	5*7	6*7	7*7	
1*8	2*8	3*8	4*8	5*8	6*8	7*8	8*8	
1*9	2*9	3*9	4*9	5*9	6*9	7*9	8*9	9*9	

(4)增强for循环

package com.oy.流程控制;

public class ForDemo4 {
    public static void main(String[] args) {
        int[] num = {10,20,30,40,50};

        //遍历num中的每一项,并赋值给x
        for (int x:num){
            System.out.println(x);
        }
    }
}

运行结果如下:

10
20
30
40
50

4.break和continue

  • break:在循环体中使用,用于强制退出循环。
  • continue:在循环体中使用,用于退出当前循环,执行下一次循环。注意:不是与退出循环语句,而是结束当前循环,继续下一次循环。
  • 注意:如果是嵌套的循环语句,break不能退出所有循环语句。只能退出最近的循环语句。

break练习

package com.oy.流程控制;

public class BreakDemo {
    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            System.out.println(i);
            if (i==10){
                break;
            }
        }
    }
}

运行结果如下:

0
1
2
3
4
5
6
7
8
9
10

continue练习

package com.oy.流程控制;

public class ContinueDemo {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            if (i%2==0){
                continue;
            }
            System.out.println(i);
        }
    }
}

运行结果如下:

1
3
5
7
9

以上是关于Java全栈JavaSE:7.流程控制的主要内容,如果未能解决你的问题,请参考以下文章

Java全栈JavaSE:2.数据库之Mysql下

我的全栈之路-Java架构师技术栈

Java全栈JavaSE:8.Java方法详解

Java全栈JavaSE:15.异常

Java全栈第一篇-流程控制语句

Java全栈学习路线