控制流程简单总结

控制流程简单总结

1.用户交互Scanner

  • break & continue.md 跳出循环 顺序 等等
  • new 新生的意思
  • in 输入的意思
  • if () 如果的意思
  • close(); 关掉的意思
  • IO流 输入输出意思
  • next()获取输入字符串
  • nextLine() 获取输入字符串
  • hasNext() 还是否还有下一个
  • hasNextLine() 还是否还有下一行
package com.garfield.copy;

import java.util.Scanner;

public class Demo04 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); //创建扫描器对象,用于接收
        System.out.println(" next 或者是nextLine 请输入内容:"); //输出

        if (scanner.hasNextLine()){   //判断 输入是否还有下一行
            String str = scanner.nextLine(); //接收用户的输入
            System.out.println(" next或者nextLine 输出的内容为:"+str);  //输出
        }

        scanner.close();  //结束
    }
}

进阶Scanner

package com.garfield.scanner;

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //从键盘接收数据
        int i = 10;
        float f = 0.0f;

        System.out.println("请输入数据:");

        //如果
        if (scanner.hasNextInt()){ //判断是否还有整数Int
            i = scanner.nextInt();  // 接收是否下一个整数Int
            System.out.println("整数数据:"+ i);
        }else {  //否则
            System.out.println("输入的不是整数数据:!");
        }
        System.out.println("请输入小数:");

        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数数据:"+ f);
        }else {  //否则
            System.out.println("输入的不是小数数据:!");
        }

        scanner.close();
    }
}

顺序结构

java的基本结构就是顺序 结构,除非特别指明,否则就按照顺序一句一句执行。

顺序结构是最简单的算法结构。

顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

if选择结构

if单选择结构

  • equals
if (s.equals("hello")){}  // equals 判断字符串是否相等
package com.garfield.struct;

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一个内容:");

        String s = scanner.nextLine();  //接收,是否还有下一行

        // equals 判断字符串是否相等
        if (s.equals("hello")){  //如果这个字符串等于 hello

            System.out.println(s); // 如果这个字符串等于hello就输出,就是hello
        }
        System.out.println("错的"); // 如果这个字符串不等于hello就输出这一句话错的

        scanner.close();
    }
}

if双选择结构

package com.garfield.struct;

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        //分数大于60分就是及格,小于60分就是不及格。

        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入成绩:");
        int score = scanner.nextInt();

        if (score>60){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }

        scanner.close();

if多选择结构

package com.garfield.struct;

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);  //扫描接收

        System.out.println("请输入成绩:");   //接收
        
        int scotr = scanner.nextInt();  //判断是否还有下一行
33
        if (scotr==100){     //如果等于100分

            System.out.println("满分"); //如果等于100分这里就输出等于满分

        }else if (scotr<100 && scotr>=90){  // 小于100大于90
            System.out.println("A级");  //如果分数在100到90之间这里就输出A级

        }else if (scotr<90 && scotr>=80){   //小于90 大于80
            System.out.println("B级");  //如果分数在90到80之间这里就输出A级

        }else if (scotr<80 && scotr>=70){   //小于80 大于70
            System.out.println("C级");  //如果分数在80到70之间这里就输出A级

        }else if (scotr<70 && scotr>=60){   //小于70 大于60
            System.out.println("D级");  //如果分数在70到60之间这里就输出A级

        }else if (scotr<60 && scotr>=0){   //小于60 大于0
            System.out.println("不及格"); //如果分数在60到0之间这里就输出A级
        }else {
            System.out.println("请输入100到0之间的成绩");

        scanner.close();  //结束
    }
}

选择结构嵌套先了解一下就行了

选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了
代码的从属关系。语法格式如下:

if 表达式 1:
  语句块 1
if 表达式 2:
  语句块 2
else:
  语句块 3
else:
  if 表达式 4:

语句块 4

Switch多选择结构

  • 多选择结构还有一个实现方式就是 awitch case 语句。
  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
  1. grade 分数
  2. char 类
  3. break //可选
  4. scae 判断
  5. default 里面没有的时候就输出宏这一句 相当于 if 的最后一句 else {} System.out.println(“请输入正确的词”);
char grade =  'A';     // 类  分数  等于  c  // 输入A就输出优秀  B就输出良好  
    
switch(判断) (grade){  //  判断  分数  ( 相当于if()那个 )
    case 'A':            //  'A'
    System.out.println("优秀"); // 是A就输出优秀
    break; //可选 
    case 'B': 
    System.out.println("良好"); // 是B就输出良好
    break; //可选 
    
switch(expression){ 
    case value:
      //语句
   break;  //可选
 case value:
 //语句
 break;  //可选
   // 你可以有任意数量的case语句
    default:  // 可选
        // 语句
    }
  • switch 语句中的变量类型可以是:

    扫描二维码关注公众号,回复: 9033777 查看本文章
  • byte. short. int. 或者 char.

  • 从 java SE 7 开始

  • switch 支持字符串 String 类型了。

  • 同时 scae 标签必须为字符串常量或字面量。

//字符
        //  char nume = 'A';

        // 字符串,Srting不是关键字,他是一个类
        // String namea = "加菲猫";


package com.garfield.struct;

public class SwitchDemo01 {
    public static void main(String[] args) {
        //  char穿透    grade分数
        char grade = 'C';

         // switch 意思是匹配每一个值  他下一行要输入 break;不然他后面的都会输出  
        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;  //可选
            case 'B':
                System.out.println("良好");
                break;  //可选
            case 'C':
                System.out.println("及格");
                break;  //可选
            case 'D':
                System.out.println("再接再厉");
                break;
            case 'E':
                System.out.println("持科");
                break;  //可选
            default:
                System.out.println("请输入正确");
        }
    }
}

循环结构

顺序结构就只能执行一次,所以不行。这就用到了我们的循环结构。

(jdk)java5 中引入了一种主要用于数组的增强型 for循环 

while 循环

 // while是基本的循环,它的结构为:
    
while(布尔表达式){
    //循环内容 
}
  // 
  • 只要布尔表达式 true, 循环应付一直执行下去。
  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
  • 少部分情况需要一直执行,比如说服务器的请求响应监听等。
  • 循环条件一直为true应付造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环,会影响性能或者造成程序卡死崩溃
  • 思考:计算机1+2+3+…+100=?
  1. while () 循环
     package com.garfield.struct;

public class WhileDemo01 {
    public static void main(String[] args) {

        // 输出 1~100 ?

        // true 正确。
        //false 错的。


        int i = 0;  //先定义 i 为 0
        
        //// true 正确应付一直循环。
        while (i<100){   // 循环  i小于100  ,只要他小于100就不停不停的循环。  (false 错的。i大于100就会停止循环)
            i++;   // i + 1
            System.out.println(i);   //输出这个 i   他这里会输出  01到100
        }

    }
}    

do…while 循环

  • do…while () 循环

  • 对于while语句而且,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件也至少执行一次。所以我们要用到do…while

  • do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。

// while 循环
while(布尔表达式){
    //循环内容 
}

// do..while 循环
do{
    //代码语句
}while(布尔表达式):

While和do…While的区别:

  1. while行判断后执行。dowhile是先执行后判断!

  2. Do…while总是保证循环体会被人至少执行一次!这是他们的主要差别。

  3. do-while循环与while循环的不同在于:它先执行循环体中的语句,然后再判断条件是否为真。如果为真则继续循环,如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。同样当有许多语句参加循环时,要用“{”和“}”把它们括起来。
    
    do-while循环的一般语法是:
        
    do{
     语句;
    }while(条件)
    
    注意:在do-while语句的表达式后面必须加分号。
    

for 循环

  • 虽然所有循环都可以用while 或者 do…while 表示,但java提供了另外一种语句——for循环,使一些循环结构变得更加简单。
  • for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
  • for循环执行的次数是在执行前就确定的,语法格式如下:
for(初始化; 布尔表达式; 更新){
    代码语句
}
  // for循环他有一个快捷键  比如是拿 100 来用。
    // 100加一个.再加一个for 可生成如下
  for (int i = 0; i < 100; i++) {

  }

   // 死循环
for (;;) {

  }
package com.garfield.struct;

public class ForDemo01 {
    public static void main(String[] args) {

         int a = 1; //初始化条件

        // while循环
        
        while (a<=100){ // 条件判断
            System.out.println(a); // 循环体
            a+=2; // 迭代
        }
        System.out.println("while循环结束!");


         // for循环
        
        // 初始化; 条件判断 ; 迭代
        for (int i =1;i<=100;i++){
            System.out.println(i);
        }
        System.out.println("for循环结束!");
    }
}

增强for循环

package com.garfield.struct;

public class ForDemo05 {
    public static void main(String[] args) {
        int[] numbers = {10,20,30,40,50};  //定义了一个数组

        for (int i = 0; i<5;i++){   //输出五次
            System.out.println(numbers[i]);   //  numbers  数组
            /* (numbers[i])就是取出每一个数字  这个 i 从0到5  相当于numbers0到numbers5
           就是把{10,20,30,40,50}里面的数取出来,最后输出宏了。  */
        }
        System.out.println("==========");
        
        // 遍历数组的元素  增强for循环 就是简化for循环
        for (int x :numbers){  // 他这个numbers上面{10,20,30,40,50}全部每一个值直接给了 x  核心跟上面是一样的
            System.out.println(x);
        }
    }
}
  • 声明新的局部变量,该变量的类型必须和数组处理器元素的类型匹配。其作用域限定推理在循环语句块,其值与此时数组元素相等
  • 表达式:表达式是要试问的数组处理器名,或者是返回值为数组处理的方法

打印九九乘法表

  1. 我们打印第一列,
  2. 我们把固定的1再一个循环包起来
  3. 去掉重复项。i< = j i小于等于j
  4. 调整样式

基本思维

  • 将大问题是拆分成若干个小问题
  • 由易到难,个个击破
package com.garfield.struct;

public class ForDemo04 {
    public static void main(String[] args) {
        // 打印九九乘法表。

        for (int j = 1; j <= 9; j++) {
            for (int i = 0; i <= j; i++) {
                System.out.print(j+"*"+i+"="+(j*i) + "\t");
            }
            System.out.println();
        }
    }
}

//输出
1*0=0	1*1=1	
2*0=0	2*1=2	2*2=4	
3*0=0	3*1=3	3*2=6	3*3=9	
4*0=0	4*1=4	4*2=8	4*3=12	4*4=16	
5*0=0	5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*0=0	6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*0=0	7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*0=0	8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*0=0	9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

break && continue

break 在 Switch多选择结构 就可以学到。

continue

continue的用法:

continue的用法1:continue的基本意思是“继续”,指动作或状态的继续或持续不中断。可表示一件事一直在做,中间没有停歇; 也可以表示中间有一个中断,又接着做下去。

continue的用法2:continue可用作不及物动词,也可用作及物动词。用作及物动词时可接名词、动名词、动词不定式或that从句作宾语,也可以接as短语充当补足语的复合宾语。continue还可引出直接引语。

continue的用法3:continue还可用作系动词,接(to be ) adj. 或as n. 作表语, to be常可以省略。

发布了6 篇原创文章 · 获赞 0 · 访问量 102

猜你喜欢

转载自blog.csdn.net/weixin_45255945/article/details/104232155