java全栈javase:7.流程控制(代码片段)

newnm个对象 newnm个对象     2022-12-18     682

关键词:

声明:本节内容为本人观看“遇见狂神说”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

javase-流程控制(代码片段)

流程控制用户交互Scanner获取用户键盘输入顺序结构程序按顺序执行流程选择结构if,switch循环结构for,dowhile,whileBreak&Continue所有的流程控制语句都可以相互嵌套而互不影响ScannerScanner,java.util.Scanner是Java5的新特征,通过此类... 查看详情

java全栈javase:9.java数组详解(代码片段)

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。1.什么是Java数组2.如何声明创建数组packagecom.oy.arrays;publicclassDemo1publicstaticvoidmain(String[]args)//1.声明数组int[]num1;//方式1,推荐这种方式int[]... 查看详情

java全栈javase:5.基本运算符(代码片段)

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。(1)加减乘除运算package运算符;publicclassdemo1publicstaticvoidmain(String[]args)inta=10;intb=20;System.out.println(a+b);System.out 查看详情

java全栈javase:24.数据结构下(代码片段)

1栈和队列堆栈是一种先进后出(FILO:firstinlastout)或后进先出(LIFI:lastinfirstout)的结构。队列是一种(但并非一定)先进先出(FIFO)的结构。1.1Stack类java.util.Stack是Vector集合的子类。所以 查看详情

java全栈javase:8.java方法详解(代码片段)

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。1.Java中什么叫做方法方法就是实现某一个功能的一堆代码,当我们想要使用这个功能时,直接调用方法即可。而不需要每次都去写那... 查看详情

java全栈javase:11.idea详细介绍(代码片段)

IDEA全称IntelliJIDEA,是Java语言开发的集成环境,目前已经渐渐代替了Eclipse的使用。IntelliJ在业界被公认为最好的Java开发工具之一,因其功能强悍、设置人性化,而深受Java、大数据、移动端程序员的喜爱。本着"... 查看详情

java全栈javase:15.异常(代码片段)

第八章异常8.1异常概述引入异常在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入... 查看详情

java全栈javase:6.java包机制,javadoc命令(代码片段)

声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。1.什么是java中的包(1).新建包(2)包下新建java类(3)导入其他包下的类2.什么是javadoc(1)在类文件中所有... 查看详情

java全栈javase:16.多线程(代码片段)

第九章多线程我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.9.1... 查看详情

java全栈javase:22.泛型(代码片段)

1泛型的概念1.1泛型的引入例如:生产瓶子的厂家,一开始并不知道我们将来会用瓶子装什么,我们什么都可以装,但是有的时候,我们在使用时,想要限定某个瓶子只能用来装什么,这样我们不会装错... 查看详情

java全栈javase:17.基础api与常见算法(代码片段)

学习目标了解数学相关API了解日期时间API了解系统类API掌握数组基础算法掌握数组工具类的使用熟练掌握String类的API熟练掌握StringBuilder和StringBuffer类的API能够处理字符串相关的算法处理1.和数学相关的类1.1java.lang.Mathjava.lang.Math... 查看详情

java全栈javase:10.idea简单使用(代码片段)

1.选择模板idea中支持集成不同模板,这些模板的快捷键也有不同的区别。我们这里以eclipse模板为例。选择eclipse模板:2.常用快捷键(1)系统快捷键CTRL+C:复制CTRL+V:粘贴CTRL+Z:撤销CTRL+Y:取... 查看详情

java全栈javase:21.集合之map(代码片段)

1.Map1.1概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关... 查看详情

java全栈javase:14.面向对象下(代码片段)

一.抽象类1.1由来抽象:即不具体、或无法具体例如:当我们声明一个几何图形类:圆、矩形、三角形类等,发现这些类都有共同特征:求面积、求周长、获取图形详细信息。那么这些共同特征应该抽取到一个... 查看详情

java全栈javase:12.面向对象上(代码片段)

1.什么是面向对象(1)面向对象与面向过程面向对象:简单的可以理解为将复杂的事情分解为许多简单的事情。再将这些简单的事情的解决办法封装到类对象中。就像我们造汽车一样,并不会一步一步的去造,... 查看详情

java全栈javase:13.面向对象中(代码片段)

一.封装1.1封装概述1、为什么需要封装?我要用洗衣机,只需要按一下开关和洗涤模式就可以了。有必要了解洗衣机内部的结构吗?有必要碰电动机吗?我们使用的电脑,内部有CPU、硬盘、键盘、鼠标等等࿰... 查看详情

java全栈javase:23.数据结构上(代码片段)

1数据结构数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据的逻辑结构指反映数据元素之间的逻... 查看详情

java全栈javase:2.数据库之mysql下(代码片段)

第七章关联查询(联合查询,多表联查)7.1关联查询的七种结果(1)A∩B(2)A(3)A-A∩B(4)B(5)B-A∩B(6)A∪B(7)A∪B-A∩B或者(A-A∩B)∪(B-A∩B)7.2如何... 查看详情