第三天学习Scanner及循环控制结构

Scanner及循环控制结构

Scanner对象

Scanner s1 = new Scanner(System.in);
        if (s1.hasNext()) {    //hsaNext()表示还有没有下一个
            String str = s1.next();  //通过next()来接收用户输入的字符串
        }
        s1.close();  //IO流类,用完就关
//---------------------------------------------------------------------------------------
        Scanner s2 = new Scanner(System.in);
        if (s2.hasNextLine()) {    //hsaNextLine()表示判断是否还有输入
            String str = s2.nextLine();  //通过nextLine()来接收用户输入的字符串
        }
        s2.close();  //IO流类,用完就关
  • Scanner提供的方法

    1. 输入String类型next()、nextLine()
    2. 输入数字类型nextInt()、nextFloat()...
  • next():

    1. 读取到有效字符之后才可以结束输入。
    2. 输入有效字符前遇到的空白,next()方法会自动将其去掉。
    3. 输入有效字符之后,后面遇到的空白作为分隔符或结束符(不输入)。
    4. next()不能得到带有空格的字符串。
  • nextLine():

    1. 以Enter为结束符。
    2. 可以得到空白。

switch分支选择

  • 可接收的变量类型byte、short、int、char、String。
  • case标签必须为字符串常量或字面量。
char grade = 'A';
       //switch 匹配一个具体值
       switch (grade){
           case 'A':
               System.out.println("优秀");
               break;//可选,没有break;的话就直接后面的case全部执行(case穿透)
           case'B':
               System.out.println("良好");
               break;
           case'C':
               System.out.println("及格");
               break;
           default:
               System.out.println("完了你挂了");
       }
// String类型是java编译成class文件后根据字符串的hashCode识别的

循环结构

//增强for循环,foreach
for(int x:number){
   System.out.println(x); 
}
//int为遍历后得到的元素的类型,X为得到后的元素名,number为集合名
        /*
         * 99乘法表
         * 1 先使用一个循环打印第一列
         * 2 在循环里套一层循环
         * 3 修改内层循环条件,去除重复
         * 4 修改格式
         * */
        for (int i = 1;i <= 9;i++){
            for (int j = 1;j<=i;j++){
                System.out.print(j+"*"+i+"="+(j*i)+" ");
            }
            System.out.println();
        }
        /*
         * 打印三角形
         */
        for (int i = 1; i <= 5; i++) {  //一共打印5行
            for (int j = 5; j >= i; j--) {    //控制三角左边的空白处
                System.out.print("1");
            }
            for (int j = 1; j <= i; j++) {    //打印三角的左半边
                System.out.println("左三角的i:" + i);
                System.out.print("*");
            }
            for (int j = 1; j < i; j++) {     //第二行开始打印三角的右半边
                System.out.println("右三角的i:" + i);
                System.out.print("x");
            }
            System.out.println();
        }

break和continue

  • break:强行退出循环。循环中遇到if中的break;会直接退出循环。
  • continue:终止某次循环。循环中遇到if中的continue;会退出if继续循环。
  • break和continue可返回至标签处。
posted @ 2020-05-11 20:54  yukinon  阅读(281)  评论(0编辑  收藏  举报