0基础学java day04(Scanner,switch...case,while,do...while)

建项目请参考之前的博客。还是先写代码,笔记在最后面。

1、Scanner的运用

package day04;
import java.util.Scanner;//1.导入一个扫描仪
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);//新建一个扫描仪scan
        System.out.println("请输入一个年份");
        int year=scan.nextInt();//扫描仪扫描一个整数并赋值给year
        System.out.println("请输入一个价格");
        double price=scan.nextDouble();
        System.out.println("您好今年是"+year+"年");
        System.out.println("您输入的价格为"+price+"元");
    }
}

2、Switch...case的运用

package day04;
/*
switch...case结构:多条路
优点:效率高、结构清晰
缺点:只对整数判断相等
switch能用的数据类型---byte,short,int,char,String,枚举
 */

public class SwitchCaseDemo {
    public static void main(String[] args) {
        int num=21;
        switch (num){
            case 1://if(num==1)
                System.out.println(111);
                break;
            case 2://if(num==2)
                System.out.println(222);
                break;
            case 3://if(num==3)
                System.out.println(333);
                break;
            default://所有case都没有匹配默认输入
                System.out.println(886);
        }
    }
}

循环三要素:---非常重要

1.循环变量的初始化
2.循环的条件(以循环变量为基础)
3.循环变量的改变

3、While的运用

while先判断再执行,有可能一次都不执行

public class WhileDemo {
    public static void main(String[] args) {
        //1)输出5次“行动是成功的阶梯”
        int times =0;
        while (times<5){//循环条件
            System.out.println("行动是成功的阶梯");
            times++;//3)循环变量的改变
        }
        System.out.println("继续执行");

        //2)输出9的乘法表
        int num=1;
        while (num<=9){
            System.out.println(num+"*9="+num*9);
           // num++;
            num+=2;
        }
        System.out.println("继续执行");
    }

   /* 1)执行过程
                             times=0
     times<5     true    输出     times=1
     times<5     true    输出     times=2
     times<5     true    输出     times=3
     times<5     true    输出     times=4
     times<5     true    输出     times=5
     times<5     false   while循环结束
     输出继续执行

      2)执行过程
                                              num=1
     num<9      true     输出num+"*9"=num*9    num+=1  (num=2)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=3)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=4)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=5)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=6)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=7)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=8)
     num<9      true     输出num+"*9"=num*9    num+=1  (num=9)
     num<9      false    while循环结束
    输出继续执行

4、do...while的运用

do...while:先执行后判断,至少执行一次

1)语法:

do

{

语句块

}

while(boolean)

package day04;
/*3. Guessing猜数字之do...while版:随机生成一个数,
        由用户来猜,猜不对则反复猜,并给出大小提示,
        猜对的则结束,用do...while来实现。*/

 import java.util.Random;
 import java.util.Scanner;
public class Test3 {
    public static void main(String[] args) {
        int num=(int)(Math.random()*1000+1);
        System.out.println(num);//看一下给的数是多少
        Scanner scan=new Scanner(System.in);
        int guess;
        do {
            System.out.println("请输入一个1-1000的数");
            guess=scan.nextInt();
            if(guess>num)
                System.out.println("输入的数大了");
            else if (guess<num){
                System.out.println("输入的数小了");
            }else
                System.out.println("猜对了");
        }while(guess!=num);

    }
}

5、分别用Switch...case,for循环实现银行业务功能

package day04;
import java.util.Scanner;
//模拟银行ATM机服务
public class CommandBySwitch {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请选择功能:1.存款 2.取款 3.转账 4.退出");
        int command=scan.nextInt();
        //用Switch case实现业务
        switch (command) {
            case 1:
                System.out.println("存款业务...");
                Scanner scan1=new Scanner(System.in);
                System.out.println("请选择存款金额:1.10000 2.1000 3.500 4.100");
                int command1=scan.nextInt();
                System.out.println("请放入您的存款金额");
                break;
            case 2:
                System.out.println("取款业务...");
                break;
            case 3:
                System.out.println("转账业务...");
                break;
            case 4:
                System.out.println("退出成功");
                break;
            default:
                System.out.println("输入错误,请重新输入");
        }

        //用if...else实现业务
      /*  if(command==1) {
            System.out.println("存款业务...");
        }else if(command==2){
            System.out.println("取款业务...");
        }else if(command==3){
            System.out.println("转账业务...");
        }else if(command==4){
            System.out.println("退出成功");
        }else {
            System.out.println("输入错误,请返回重新输入");
        }*/

    }

}

day04笔记

1. Scanner接收用户输入的数据:------共3步
     import java.util.Scanner
     Scanner sc=new Scanner(System.in);
     int a=sc.nextInt();
2. 分支结构(下):
       switch...case结构:多条路
       优点:效率高、结构清晰
       缺点:只能对整数判断相等
       break:跳出switch
       switch中数据的类型:byte,short,int,char,String,枚举
3. 循环:反复多次执行一段相同或相似的代码
4. 循环三要素:------------------------非常重要
       循环变量的初始化
       循环的条件(以循环变量为基础)
       循环变量的改变
       循环变量:在整个循环过程中所反复改变的那个数
5. 循环结构:
       while结构:先判断后执行,有可能一次都不执行
       do...while结构:先执行后判断,至少执行一次
       当第1要素的代码与第3要素的代码相同时,首选do...while
       for结构:应用率最高,适合与次数相关的
6. 三种循环结构如何选择:
       先看循环是否与次数有关:
       若有关--------------------------------------直接上for
       若无关,再看第1要素与第3要素的代码是否相同:
       若相同--------------------------------直接上do...while
       若不同--------------------------------直接上while
       Match.random()------0.0到0.99999999999999...
       *1000---------------0.0到999.999999999999...
       +1------------------1.0到1000.99999999999...
       int num=(int) (Math.random()*1000+1);//1到1000之间的数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值