码迷,mamicode.com
首页 > 其他好文 > 详细

第三天 Scanner和流程控制

时间:2021-06-13 10:37:55      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:循环控制   打印   文件复制   死循环   print   成绩   执行   for循环   break   

Java流程控制

用户交互Scanner

技术图片

技术图片

package com.zhang.scanner;

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {
        //创建一个扫描器对象,接收键盘数据
        Scanner scan = new Scanner(System.in);
        System.out.println("使用next方式接收");
        //判断用户有没有输入字符串
        if(scan.hasNext()){
            //接收用户的输入
            String str =scan.next(); // 程序会等待用户输入完毕
            System.out.println("输入的内容为:"+str);
        }
        //凡是IO流的类如果不关闭,会一直占用资源。养成好习惯,用完就关掉
        scan.close();
    }
}

package com.zhang.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用NextLine接收:");
        if (scanner.hasNextLine()){ // 判断是否还有输入
            String str = scanner.nextLine();
            System.out.println("输出内容为:"+str);
        }
        scanner.close();
    }
}
package com.zhang.scanner;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double sum = 0,x;
        int m = 0;
        System.out.println("输入数字");
        while (scanner.hasNextDouble()){//输入是否为数字
            x = scanner.nextDouble();
            sum+=x;
            m++;
            System.out.println("你输入了第"+m+"个数"+x);
        }
        scanner.close();
        System.out.println("总共输入了"+m+"个数,平均值为"+(sum/m)+",和为"+sum);
    }
}

顺序结构

技术图片

选择结构

if单选择结构

技术图片

技术图片

package com.zhang.struct;

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容");
        String s = scanner.nextLine();
        //s.equals 字符串比较函数
        if(s.equals("Hello")){//单项选择结构
            System.out.println(s);
        }
        System.out.println("END");
        scanner.close();
    }
}

if双选择结构

技术图片

技术图片

package com.zhang.struct;

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        //小于60不及格
        if(score>=60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

if多选择结构

技术图片

技术图片

只会选择其中一个分支执行

package com.zhang.struct;

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩");
        int score = scanner.nextInt();
        if(score==100){
            System.out.println("满分");
        }else if(score<100 && score>=90){
            System.out.println("A级");
        }else if(score<90 && score>=80){
            System.out.println("B级");
        }else if(score<80 && score>=60){
            System.out.println("C级");
        }else if(score<60 && score >=0){
            System.out.println("D级");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

嵌套的if结构

技术图片

switch多选择结构

技术图片

package com.zhang.struct;

import java.util.Scanner;

public class SwitchDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String grade = scanner.next();
        // case穿透,匹配项没有break,会执行之后的所有语句
        switch (grade){ // switch 匹配一个具体的值
            case  "A":
                System.out.println("优秀");
                break; // 可选
            case  "B":
                System.out.println("良好");
                break;
            case  "C":
                System.out.println("一般");
                break;
            case  "D":
                System.out.println("差");
                break;
            default: // 可选
                System.out.println("未知等级");
                break;
        }
    }
}

循环结构

循环有以下三种:

技术图片

while循环

技术图片

package com.zhang.struct;

public class WhileDemo02 {
    public static void main(String[] args) {
        //1+2+3+..+100的和
        int num = 0;
        double sum = 0;
        while (num<100){
            num++;
            sum+=num;
        }
        System.out.println(sum);
    }
}

do...while循环

技术图片

package com.zhang.struct;

public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a = 0;
        while (a<0){    //不会执行
            a++;
            System.out.println(a);
        }
        System.out.println("=========================");
        do{             // 会先执行一次,再判断
            a++;
            System.out.println(a);
        }while(a<0);
    }
}

for循环

技术图片

package com.zhang.struct;

public class ForDemo01 {
    public static void main(String[] args) {
        /*
        * for循环说明:
        * 最先开始执行初始化步骤,可以声明一种类型,但可以初始化一个或多个循环控制变量,也可以是空语句
        * 然后检测布尔表达式,如果为true,执行循环体,如果为false,循环终止
        * 执行一次循环后更新循环控制变量(迭代因子控制循环变量的增减)
        * 再次检测布尔表达式,循环上面过程
        */
        //    初始化      条件判断  迭代
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
        System.out.println("for循环结束");
        /*
        for (; ; ){  死循环
        }
        
         初始化多个循环控制变量
        for (int a=1,b=1;;){
        }
         */
    }
}

九九乘法表

package com.zhang.struct;

public class ForDemo04 {
    public static void main(String[] args) {
        //九九乘法表
        for (int i=1;i<=9;i++){
            for (int j=1;j<=i;j++)
                System.out.print(j+"*"+i+"="+i*j+"\t");
            System.out.println();
        }
    }
}

增强for循环

主要用来遍历数组和集合

技术图片

package com.zhang.struct;

public class ForDemo05 {
    public static void main(String[] args) {
        int[] num = {1,2,3,4,5,6,7,8,9};
        //增强for循环
        for (int x:num) //将数组遍历,把值赋给x
            System.out.print(x+" ");
        System.out.println("\n========================");
        //使用普通for循环
        for (int i=0;i<9;i++)
            System.out.print(num[i]+" ");
    }
}

break和continue

技术图片

break

package com.zhang.struct;

public class BreakDemo01 {
    public static void main(String[] args) {
        int i=0;
        while (i<1000){
            i++;
            System.out.println(i);
            if (i==15)
                break;  // 使用break退出循环
        }
    }
}

continue

package com.zhang.struct;

public class ContinueDemo01 {
    public static void main(String[] args) {
        int i=0;
        while (i<30){
            i++;
            if(i%5==0){
                continue; //跳过本次循环,直接开始下一次循环
            }
            System.out.println(i);
        }
    }
}

打印三角形

package com.zhang.struct;

public class TestDemo01 {
    public static void main(String[] args) {
        //练习题 打印三角形
        for (int j=1;j<=5;j++){ //控制三角形高度
            for (int i=5;i>=j;i--) //打印每一行开始的空格5,4,3,2,1
                System.out.print(" ");
            for (int a=1;a<=j;a++) //打印左半个三角形1,2,3,4,5
                System.out.print("*");
            for (int x=1;x<j;x++)   //打印右半个三角形0,1,2,3,4
                System.out.print("*");
            System.out.println(); //换行
        }

    }
}

反编译

将Class文件复制到IDEA工作文件夹中可以查看源码

技术图片

第三天 Scanner和流程控制

标签:循环控制   打印   文件复制   死循环   print   成绩   执行   for循环   break   

原文地址:https://www.cnblogs.com/qlstudy/p/14878843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!