嘉明的Java学习(6)之Scanner与if...语句

嘉明的Java学习(6)

学习资料来源:B站传智博学谷

内容:
(1)Scanner的使用步骤与语句
(2)使用Scanner做一次简单的计算
(3)流程控制结构
(4)if语句的运用
(5)switch语句的运用

(1)Scanner的使用步骤与语句

Scanner(扫描仪,扫描器)到底有什么用呢?
通常我们定义一个变量时,比如a = 10,b = 20,这时a与b都是我们在程序运行前输入的数据,这样显得十分的死板,那么我们如何像QQ登录页面一样,在程序运行中在键盘输入数据让计算机读取在运用呢?
这时就需要用到Scanner功能其作用就是在程序运行的过程中在控制台上输入数据,然后再根据输入的数据运行程序,让程序像喝了益力多一样更有“活力”
废话少说,直接进入正题吧!
使用Scanner的步骤
1.导包
2.创建键盘录入对象
3.接受数据

(1.导包
所谓导包,就是引用,既然是导包,那肯定要有一个package(包)作为前提,然后再输入 import java.util.scanner (前面我写的文章,我发现每一个.都代表这递进的关系,翻译过来就是:导入java里实用程序里的scanner功能理解好功能学好英语就不用去盲目记忆)

科普: import(导入的意思)
util是utility的缩写,也就是下图的意思,相当于java的工具包
在这里插入图片描述 java.util是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。

(2.创建键盘录入对象
在main函数里输入一串代码

public static void main(String args[]){
Scanner sc = new Scanner(System.in);}

就可以完成键盘的录入对象
科普:1.Scanner 后面是你取的名字,Scanner sc 与 Scanner input 里的sc与input 和 int c 与int b 里的c与b概念差不多,只是对象不同
2.System函数有out 有 in out是输出,in是输入,Scannet类可以读取控制台输入的内容,system.in 会阻塞当前执行,直到获取控制台有内容输入

(3.接受数据
输入以下代码

int i = sc.nextInt();

注意:int i=sc.nextInt()的意思就是 获取键盘的输入
因为前面Scanner sc,这个sc是你已经定义的对象,所以这里也要用sc.nextInt

完整代码:

package cn.util.demo1;

//输入导包语句(一定要在package(包)的前提下):import java.util.Scanner;
import java.util.Scanner;

public class ScannerDemo {
    //输入程序入口main方法
    public static void main(String[] args) {
        //输入输出语句
        System.out.println("请输入一个数字:");
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //接受数据
        int i = sc.nextInt();
        System.out.println("i的值为:" + i);
    }

}

运行结果(1000是我自己输入的数字)
在这里插入图片描述总结: 使用Scanner的步骤
1.导包 :import java.util.Scanner;
2.创建键盘录入对象 :Scanner sc = new Scanner(System.in);
3.接受数据 :int i = sc.nextInt();

(2)使用Scanner做一次简单的计算

这里没什么好说的,直接上代码
这些是我随意设计的

package cn.util.d51emo1;

//输入导包语句(一定要在package(包)的前提下):import java.util.Scanner;
import java.util.Scanner;

public class ScannerDemo {
    //输入程序入口main方法
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //接受数据i,加上说明语句
        System.out.println("请输入一个数字给i:");
        int i = sc.nextInt();
        //接受数据b,加上说明语句
        System.out.println("请输入一个数字给b:");
        int b = sc.nextInt();
        //随意定义一些值,设计一些计算
        int c = i + b;
        int d = 20;
        int max = (i > b) ? i : b;
        //输出结果
        System.out.println("i = " + i);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d大于b吗?" + (d>b));
        System.out.println("max = " + max);
    }

}

以下是结果 (i = 1,b = 2 时的)
在这里插入图片描述(i = 50,b = 60的)
在这里插入图片描述完毕!!!!

(3)流程控制结构

流程控制结构是什么?
程序的结果受其执行程序的顺序影响,而程序的顺序又通过一些特定的语句操控来完成,这就是流程控制结构。

流程结构有哪些
1.顺序结构(一般的结构都属于是顺序结构)
2.选择(判断)结构(ife lse、switch…break或者continue语句)
3.循环结构(for、while…语句)

(4)if语句的运用

if语句有三种格式

第一种:if(关系表达式){(内容)}

package cn.ifgrammar.demo;
//结合之前的Scanner一同运用
import java.util.Scanner;

public class IfGammar {
    public static void main(String[] args) {
        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("开始执行");
        System.out.println("请输入一个数字给i:");
        //定义一个i变量
        int i = sc.nextInt();
        /*
        这是if第一种语句
        if(关系表达式){(内容)}
         */
        if (i > 5) {
            System.out.println("-----------");
            System.out.println("i = " + i);
        }
    }

}

(i = 5时,无结果)
在这里插入图片描述(i = 6时)
在这里插入图片描述
if第二种语句,格式:if(关系表达式){内容}else{内容}

package cn.ifgrammar.demo;
//结合之前的Scanner一同运用

import java.util.Scanner;

public class IfGammar {
    public static void main(String[] args) {
        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("开始执行");
        System.out.println("请输入一个数字给i:");
        //定义一个i变量
        int i = sc.nextInt();
        /*
        这是if第二种语句
        if(关系表达式){(内容)}
        else{内容}
         */
        if (i > 5) {
            System.out.println("-----------");//打印一些分界线,使程序美观
            System.out.println("i = " + i);//打印i的值
        } else {
            System.out.println("-----------");
            System.out.println("输入的i小于等于5");//i<5的结果
        }
        System.out.println("-----------");
        System.out.println("执行结束");//讲明程序已经结束
    }

}

结果(i = 4时)
在这里插入图片描述(i = 6时)
在这里插入图片描述if的第三种语句,格式:if(关系式1){(内容)}else if{(关系式2)}…
下面我用第三种做一个学生成绩判断等级的查询系统

package cn.ifgrammar.demo;
//结合之前的Scanner一同运用

import java.util.Scanner;

public class IfGammar {
    public static void main(String[] args) {
        /*
        这是if第三种语句
        if(关系表达式){(内容)}
        else if{内容}
        else if{内容}
        ........
         */
        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("开始执行");
        System.out.println("请输入一个数字给i:");
        //定义一个i变量,代表着你考试的成绩
        int i = sc.nextInt();
        //就设计一个成绩是否及格的判定系统吧qwq
        if (i < 60) {
            System.out.println("-----------");//打印一些分界线,使程序美观
            System.out.println("你的成绩为: " + i);//打印你的成绩
            System.out.println("嘻嘻嘻,您的成绩不及格,请准备补考");
        } else if (i >= 60 && i < 70) {
            System.out.println("-----------");
            System.out.println("你的成绩为:" + i);
            System.out.println("您的成绩为及格,加把劲");
        } else if (i >= 70 && i < 80) {
            System.out.println("-----------");
            System.out.println("您的成绩为:" + i);
            System.out.println("您的成绩为中等,继续努力");
        } else if (i >= 80 && i < 90) {
            System.out.println("-----------");
            System.out.println("您的成绩为:" + i);
            System.out.println("您的成绩为良好,再往前冲冲");
        } else if (i >= 90 && i < 100) {
            System.out.println("-----------");
            System.out.println("您的成绩为:" + i);
            System.out.println("您的成绩为优秀,继续保持");
        } else if (i == 100) {
            System.out.println("-----------");
            System.out.println("您的成绩为:" + i);
            System.out.println("您考了满分,超神辣!!!");
        }
        System.out.println("-----------");
        System.out.println("执行结束");
    }
}

注意不能用(90<i<80)这样是错误的要用&&才可以
以下随便选取一些结果
(i = 50)
在这里插入图片描述(i = 100时)
在这里插入图片描述大概就是这样啦

(5)switch语句的应用

switch的语句格式
switch(表达式){----------->表达式取值类型:1.byte、short、int、char
2. 枚举:是一系列数目可数的数据,比如每周的星期与每年的月
3. String(字符串)
case 值1:语句1;break(结束,可以结束switch语句);
case 值2:语句2;break;

defalut(当与所有case都不匹配时执行该语句,与if else差不多):语句n;break;
}

下面用switch也做一个月份翻译表

package cn.switchgrammar.demo;
//结合之前的Scanner一同运用

import java.util.Scanner;

public class SwtichGrammar {
    public static void main(String[] args) {
        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("欢迎来到月份英文翻译器");
        System.out.println("请输入您要查询的月份的英文:");
        System.out.println("比如一月代表数字1\n二月代表数字2");
        int i = sc.nextInt();
        switch (i) {
            case 1:
                System.out.println("January");
                break;
            case 2:
                System.out.println("February");
                break;
            case 3:
                System.out.println("March");
                break;
            case 4:
                System.out.println("April");
                break;
            case 5:
                System.out.println("May");
                break;
            case 6:
                System.out.println("June");
                break;
            case 7:
                System.out.println("July");
                break;
            case 8:
                System.out.println("August");
                break;
            case 9:
                System.out.println("September");
                break;
            case 10:
                System.out.println("October");
                break;
            case 11:
                System.out.println("November");
                break;
            case 12:
                System.out.println("December");
                break;
            default:
                System.out.println("您输入的字不在1-12的范围");break;
        }
    }
}

结果大致如下
在这里插入图片描述在这里插入图片描述在这里插入图片描述完毕!!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值