Java流程控制

Scanner对象

基本语法

  
Scanner scanner=new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

  1. next()方法:

    • next()不能得到带有空格的字符串

      
    package com.baidu.scanner;
    import java.util.Scanner;
    public class Demo01 {
       public static void main(String[] args) {
           //创建一个扫描器对象,用于接收键盘数据
           Scanner scanner = new Scanner(System.in);
           System.out.println("使用next方式接收:");
           //使用next()方式接收
           String str1=scanner.next();
           System.out.println("输出内容为:"+str1);
           scanner.close();
      }
    }

  2. nextLine()方法:

    • 以Enter结束符,也就是说next Line()方法返回的是输入回车之前的所有字符;

    • 可以获得空白;

      
    package com.baidu.scanner;
    import java.util.Scanner;
    public class Demo02 {
       public static void main(String[] args) {
         //创建一个扫描器对象,用于接收键盘数据
         Scanner scanner = new Scanner(System.in);
         System.out.println("使用nesxtline()方法接收:");
         //使用nextLine()方式接收
         String str2=scanner.nextLine();
         System.out.println("输出内容为:"+str2);
         scanner.close();
      }
    }

举一个栗子

输入多个数字 并求其和与平均数 通过非数字来结束输入并执行输出结果

  
package com.baidu.scanner;
import java.util.Scanner;
public class Demo04 {
   public static void main(String[] args) {
       //输入多个数字 并求其和与平均数 通过非数字来结束输入并执行输出结果
       Scanner scanner = new Scanner(System.in);
       double sum=0;
       int count=0;
       System.out.println("输入数据");
       while (scanner.hasNextDouble()){
           double x = scanner.nextDouble();
           sum+=x;
           count++;
           System.out.println("你输入了第"+count+"个数据,当前结果是sum="+sum);
      }
       System.out.println(count+"个数字总和为"+sum);
       System.out.println(count+"个数字平均数为"+(sum/count));
       scanner.close();
  }
}

顺序结构

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

  • 语句与语句之间是按从上到下的顺序进行的,它是任何一个算法都离不开的一种基本结构。

选择结构

if单选择结构

  
if(条件1){
 ```
}

if双选择结构

  if(条件1){
 ```
}else{
 ```
}

if多选择结构

  if(条件1){
 ```
}else if(条件2){
 ```
}else if(条件3){
 ````
}else{
 ```
}

Switch结构

switch case语句中的变量类型可以是:

  1. byte,short,int或者char;

  2. **从JavaSE 7开始 switch支持字符串String类型了;

  3. 同时case标签必须为字符串常量或者自变量 ;

  switch(experssion){
 case value1:
   //语句
   break;//可选
 case value2:
   //语句
   break;//可选
 default://可选
   //语句
}

循环结构

while循环

  
while(条件){
 //循环体
}

do while循环(至少执行一次)

  
do{
 //循环体
}while(条件);

For循环

  
for(初始化; 布尔表达式; 更新){
 //循环体
}

三个栗子

  1. 输出1-1000之间能被5整除的数 且每行输出3个

      
    package com.baidu.scanner;
    //输出1-1000之间能被5整除的数 且每行输出3个
    public class Demo06 {
       public static void main(String[] args) {
           int count=0;
           for (int i=1;i<=1000;i++){
               if (i%5==0){
                   count++;
                   System.out.print(i+"\t");
              }
               if (count==3){
                   System.out.println();
                   count=0;
              }
          }
      }
    }
  2. 打印九九乘法表

      
    package com.baidu.scanner;
    //打印九九乘法表
    public class Demo07 {
       public static void main(String[] args) {
           for (int m = 1; m <=9; m++) {
               for (int n = 1; n <=9; n++) {
                   if (n<=m){
                       System.out.print(n+"*"+m+"="+(m*n)+"\t");
                  }
              }
               System.out.println();
          }
      }
    }
  3. 打印三角形

      
    package com.baidu.scanner;
    public class Demo10 {
       public static void main(String[] args) {
           for (int i = 1; i <=5; i++) {
               for (int j=5;j>=i;j--){
                   System.out.print(" ");
              }
               for (int j=1;j<=i;j++){
                   System.out.print("*");
              }
               for (int j=1;j<i;j++){
                   System.out.print("*");
              }
               System.out.println();
          }
      }
    }

增强for循环

这里先见一面 举个栗子:

  
package com.baidu.scanner;
public class Demo08 {
   public static void main(String[] args) {
       int numbers[]={1,2,3,4,5};//定义了一个数组
       //遍历数组的元素
       for (int x:numbers){
           System.out.println(x);
      }
  }
}

 

posted @ 2022-01-16 22:48  让代码改变世界  阅读(29)  评论(0)    收藏  举报