Java流程控制

JAVA流程控制

1.scanner

next();

  • 一定要读取到有效字符后才可以结束输入。

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

  • 只有输入有效字符后才将其后面的空白作为分隔符或者结束符。

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

    Hello World ---> Hello

nextLine();

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

  • 可以获得空白。

    Hello World ---> Hello World

     

hasNext();

案例

//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果。
       Scanner scanner = new Scanner(System.in);
       double sum=0;//总和
       int a=0; //计数器
       while(scanner.hasNextDouble()){
           double x = scanner.nextDouble();
           a++;
           //a=a+1;----> a+=1;---->>> a++;
           sum+=x;
      }
       System.out.println("总和是:"+sum);
       System.out.println("平均数是:"+(sum/a));
       scanner.close();

注意事项

scanner.close();//凡是属于io流的类,用完关闭节省资源.

 

2.选择结构

  • if单选择结构

  • if双选择结构

  • if多选择结构

  • if嵌套结构

  • switch多选择结构

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

    • byte、short、int或者char。

    • 从javase7开始

    • switch支持字符串String类型了

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

      注意case穿透,最好每一个case后面都写break

3.循环结构

while循环

do...while循环

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

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

  • while和do...while的区别:

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

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

do{
   //代码语句
}while(布尔表达式);

 

for循环

在java5中引进了一种主要用于数组的增强型for循环。

for( ; ; ){
   
}//死循环

练习

//用for循环和while循环输出1-1000能被5整除的数,并且每行输出3个。
public class ForDemo02 {
   public static void main(String[] args) {
       for (int i = 0; i <=1000; i++) {
           if(i%5==0){
               System.out.print(i+"\t");
          }
           if(i%(5*3)==0){
               System.out.println();
          }
      }
  }
}
//打印九九乘法表
public class ForDemo03 {
   public static void main(String[] args) {
       for (int i = 1; i <= 9; i++) {
           for (int j = 1; j <= i; j++) {
               System.out.print(i+"*"+j+"="+(i*j)+"\t");
          }
           System.out.println();
      }
  }
}

增强for循环

public class ForDemo05 {
   public static void main(String[] args) {
       int[] numbers={10,20,30,40};
       //遍历数组的元素
       for (int i = 0; i <numbers.length; i++) {
           System.out.println(numbers[i]);
      }
       //增强for循环
      for(int x : numbers){
          System.out.println(x);
      }
  }
}

break、continue

  • break主要用于循环和switch中,强制终止循环,不执行循环剩余的语句,不退出程序。

  • continue用于循环中,用于终止某次循环,跳过循环中尚未执行的语句,接着下一次循环。

练习小结

//打印三角形
public class TestDemo {
   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();
      }
  }
}

 

posted @ 2021-09-08 14:52  阿林学习笔记  阅读(82)  评论(0)    收藏  举报