嘉明的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;
}
}
}
结果大致如下
完毕!!!!!!