Java流程控制

Java流程控制

1、Scanner对象

  ①java.util.Scanner是Java5的新特性,可以通过Scanner类来获取用户的输入。

  ②基本语法: 

1 Scanner s=new Scanner(System.in);

  ③通过next()和nextLine()方法接受用户输入,通过hasNext()和hasNextLine()方法来判断用户是否输入

    next()要点:

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

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

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

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

    nextLine()要点:

           1.以Enter为结束符,返回的是输入回车之前的所有字符

           2.可以获得带有空格的字符串

 1      //创建一个扫描器对象,用于接收键盘数据
 2         Scanner scanner=new Scanner(System.in);
 3  4         System.out.print("用next方式接收:");
 5         //判断用户有没有输入字符串
 6         if(scanner.hasNext()){
 7             String str=scanner.next();
 8             System.out.print("输出的内容为:"+str+"\n");
 9         }
10 11         System.out.print("用nextLine方式接收:");
12         if(scanner.hasNextLine()){
13             String str=scanner.nextLine();
14             System.out.print("输出的内容为:"+str+"\n");
15         }
16 17         //凡是属于IO流的类如果不关闭会一直占用资源,要用完就关掉
18         scanner.close();

 

2、顺序结构

  Java的基本结构就是顺序结构,任何算法都离不开这种结构。

  语句与语句之间,框与框之间是按从上到下的顺序进行的。

          

 

3、if选择结构

  ①if单选择结构

if(布尔表达式){
    //表达式为true则执行语句
}

  ②if双选择结构

if(布尔表达式){
    //表达式为true则执行语句
}else{
    //表达式为false则执行语句
}

  ③if多选择结构

if(布尔表达式1){
    //表达式1为true则执行语句
}else if(布尔表达式2){
    //表达式2为true则执行语句
}else if(布尔表达式3){
    //表达式3为true则执行语句
}else{
    //如果以上表达式都为false则执行语句
}

  ④嵌套的if结构

    可以在if语句中再添加if语句,也就是嵌套使用

 

   注意点:1.if语句至多有一个else语句,else语句在所有的else if语句之后

       2.if语句可以有多个else if语句,但必须在else语句前面

       3.一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行

 

4、switch多选择结构

  switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

swicth(expression){
    case value1:
        //语句
        break;//可选
     case value2:
        //语句
        break;//可选
    //你可以有任意数量的case语句
    default://可选
        //语句
}

 

  注意点:1.switch就相当于匹配一个具体的值

      2.每个case后面都应当匹配一个break,否则会出现穿透现象,也就是某个case匹配符合后,会一直从上往下运行,直到遇到一个break语句或者语句执行完成

      3.switch语句中的变量类型可以是byte、short、int、char,从Java SE7开始支持字符串String类型

 

5、while循环结构

  while是最基本的循环,只要布尔表达式是true,循环就会一直执行下去。大多数情况下是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。while循环先判断后执行。

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

 

6、Do—while循环结构

  Do—while循环先执行后判断;即使不满足条件,也至少执行一次

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

 

7、for循环结构

  for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构;for循环的执行次数在执行前就已经确定

for(初始化;布尔表达式;更新){
    //代码语句
}

  注意点:1.初始化、布尔表达式、更新都可以是空语句

      2.布尔表达式值为true则执行语句,否则结束执行

练习题:打印九九乘法表

 1 public class Demo3 {
 2     //打印九九乘法表
 3     public static void main(String[] args) {
 4         for(int i=1;i<=9;i++){
 5             for(int j=1;j<=i;j++){
 6                 System.out.print(i+"*"+j+"="+i*j+"\t");
 7             }
 8             System.out.print("\n");
 9         }
10     }
11 }

 

  增强for循环

    声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配;其作用域限定在循环语句块,其值与此时数据元素的值相等

    表达式:要访问的数组名,或者是返回值为数组的方法

for(声明语句:表达式){
    //代码句子
}

 

8、break和continue

  break语句是结束循环

1 for(int i=0;i<=5;i++){
2     if(i==3){
3          break;
4      }
5     System.out.print(i+" ");
6 }     //输出结果为0 1 2 

 

  continue语句是结束本次循环

1 for(int i=0;i<=5;i++){
2     if(i==3){
3          continue;
4     }
5     System.out.print(i+" ");
6 }      //输出结果为0 1 2 4 5

 

  练习题:打印三角形

 1 public class Triangle {
 2     //打印三角形
 3     public static void main(String[] args) {
 4         for(int i=1;i<=5;i++){
 5             for(int j=5;j>=i;j--){              //打印每行空格
 6                 System.out.print(" ");
 7             }
 8             for(int k=1;k<=i;k++){             //打印中间及左边部分
 9                 System.out.print("*");
10             }
11             for(int k=1;k<i;k++){              //打印右边部分
12                 System.out.print("*");
13             }
14             System.out.print("\n");
15         }
16     }
17 }
18 19 /*运行结果:
20      *
21     ***
22    *****
23   *******
24  *********
25 */

 

 

 

 

posted @ 2021-02-07 18:44  sumAll  阅读(68)  评论(0编辑  收藏  举报