Java教程

Java流程控制

本文主要是介绍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);
          }
      }
  }

 

这篇关于Java流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!