码迷,mamicode.com
首页 > 编程语言 > 详细

Java——流程控制

时间:2021-01-14 11:03:27      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:item   opera   使用   pair   -o   输入   小练习   rgs   获取   

流程控制

Scanner对象

使用hasNext()或者hasNextLine()判断是否有数据输入

使用next()方法或者nextLine()方法接收数据

public class Test01 {
   public static void main(String[] args) {
       //创建一个扫描器用于接收键盘数据
       Scanner scanner = new Scanner(System.in);
?
       //判断用户有没有输入数据
       //输入数据hello world
       if(scanner.hasNext()){
           //使用next方法接收
           String s = scanner.next();
           System.out.println(s);//hello
      }
       //关闭防止占用资源
       scanner.close();
  }
}
public class Test02 {
   public static void main(String[] args) {
       //创建扫描器获取键盘数据
       Scanner scanner = new Scanner(System.in);
       //判断用户有没有输入数据
       //输入数据为hello world
       if(scanner.hasNextLine()){
           //使用nextLine方法接收数据
           String s = scanner.nextLine();
           System.out.println(s);//hello world
      }
       scanner.close();
  }
}

next():

  1. 一定要读取到有效字符才会结束输入

  2. 对输入有效字符之前的空白,next()方法会自动将其去掉

  3. 只有输入有效字符后才会将后面输入的空白作为分隔符或者结束符

  4. next()方法不能输出带有空白的字符串

nextLine():

  1. 以Enter作为结束符,也就是可以输出按下回车键之前输入的所有字符

  2. 可以获得空白

小练习

public class Test03 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
?
       double sum = 0;//总和
       int m =0;//个数
?
       //循环判断是否还有输入,并进行求和计算
       while(scanner.hasNextDouble()){
           double x = scanner.nextDouble();
           m = m + 1;//个数加一
           sum += x;//总和加上输入的数据
           System.out.println("输入第"+m+"个数,总和为:"+sum);
      }
       System.out.println(m+"个数的和为:"+sum);
       System.out.println(m+"个数的平均值为:"+(sum/m));
?
       scanner.close();
  }
}

顺序结构

选择结构

循环结构

while循环和do...while循环

while循环

public class WhileTest01 {
   public static void main(String[] args) {
       //计算1+2+3+4+...+100 = ?
       int i = 0;
       int sum = 0;
       while(i<101){
           sum += i;
           i++;
      }
       System.out.println(sum);//5050
  }
}

do...while循环

public class DoWhileTest02 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do{
           sum += i;
           i++;
      }while(i<101);
       System.out.println(sum);//5050
  }
}

while循环和do...while循环的区别:

  1. while循环是先判断后执行,do...while循环是先执行后判断

  2. do...while循环总是会让循环体至少执行一次!!!

public class DoWhileTest03 {
   public static void main(String[] args) {
       int i = 0;
       while(i<0){
           System.out.println(i);//无输出
           i++;
      }
       System.out.println("========");
       do{
           System.out.println(i);//0
           i++;
      }while(i<0);
       System.out.println(i);//1
  }
}

for循环

一般For循环

public class Test04 {
   public static void main(String[] args) {
       //计算0~100之间的奇数和偶数和
       int oddsum = 0;
       int evensum = 0;
       for (int i = 0; i < 100; i++) {
           if(i%2!=0){
               oddsum += i;//奇数
          }else{
               evensum += i;//偶数
          }
      }
       System.out.println("奇数和为:"+oddsum);//2500
       System.out.println("偶数和为:"+evensum);//2450
  }
}
public class Test05 {
   public static void main(String[] args) {
       //用循环输出1~1000之间能被5整除的数,并且每行输出3个
       //System.out.println();输出完换行
       //System.out.print();输出完不换行
       for (int i = 0; i <= 1000; i++) {
           if(i%5==0){
               System.out.print(i+"\t");
          }
           if(i%(5*3)==0){
               System.out.println();//换行
//               System.out.print("\n");
          }
      }
  }
}
public class Test06 {
   public static void main(String[] args) {
       //输出九九乘法表
       for (int j = 1; j <= 9; j++) {
           for (int i = 1; i <= j; i++) {
               System.out.print(j+"*"+i+"="+(j*i)+"\t");
          }
           System.out.println();
      }
  }
}

增强的For循环

public class Test07 {
   public static void main(String[] args) {
       int[] numbers = {10,20,30,40,50,60};
       //一般的For循环
       for(int i = 0;i < numbers.length;i++){
           System.out.println(numbers[i]);
      }
       System.out.println("========");
       //增强的For循环
       for(int x : numbers){
           System.out.println(x);
      }
  }
}

break 和 continue

break用于强制退出循环,不执行循环中剩余的语句(break语句也可以在switch语句中使用)

continue语句在循环体中用于终止某次循环,即跳过循环体中未执行的语句,接着进行下一次是否执行循环的判定

public class BreakTest {
   public static void main(String[] args) {
       int i =0;
       while(i<100){
           i++;
           System.out.println(i);
           if(i==40){
               break;
          }
      }
  }
}
public class ContinueTest {
   public static void main(String[] args) {
       int i =0;
       while(i<100){
           i++;
           if(i%10==0){
               System.out.println();
               continue;
          }
           System.out.print(i+"\t");
      }
  }
}
public class LabelTest {
   public static void main(String[] args) {
       //打印101~150之间的所有质数
       int count = 0;
       outer : for (int i = 101; i < 150; i++) {
           for(int j = 2;j < i/2; j++){
               if(i%j==0){
                   continue outer;
              }
          }
           System.out.print(i+"\t");
      }
  }
}

小练习:打印三角形

public class Test08 {
   public static void main(String[] args) {
       //打印三角形
       //5行
       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();
      }
  }
}

Java——流程控制

标签:item   opera   使用   pair   -o   输入   小练习   rgs   获取   

原文地址:https://www.cnblogs.com/cmcstudy/p/14272035.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!