一、控制台输入:
Scanner:对象的常用方法包括:
方法 | 说明 |
scanner.nextLine() | 读取一行文本,以换行作为分隔符 |
scanner.next() | 读取一个单词,以空格作为分隔符 |
scanner.nextInt() | 读取一个整数 |
scanner.nextDouble() | 读取一个浮点数 |
Scanner input = new Scanner(System.in);
import java.util.Scanner;
public class ScannerDemo{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("您贵姓?");
String surname = input.next();
System.out.println("欢迎您, " + surname + " 先生。");
}
}
因为Scanner类不属于java.lang包,因此必须通过import语句引入到源代码中;
通过系统标准输入设备构造一个Scanner对象(获得一个输入工具);
读取用户输入的内容。
二、循环拓展
1、while循环
引出求1到100的和
while (循环条件) {
循环体语句;
}
while (i < 100) {
sum += i;
i++;
}
2、do……while循环
do-while循环总是执行它的循环体至少一次,因为它的条件表达式在循环的结尾
do {
// 循环体
} while (循环条件);
3、三种循环体的使用场景
语句 | 场景 |
---|---|
for | 当应用次数是明确的情况,一般使用for |
while | 不确定具体循环次数的情况下使用 |
do...while | 无论条件是否成立都要执行一次的情况下使用 |
三、控制结构
1、if语句
1.1只关注条件成立
if(条件){
//条件成立做某个件事情
}
示例:
String key1 = "无门钥匙";
if(key1=="大门钥匙") {
System.out.println("进入家中");
}
1.2即关注成立又关注不成立
if(条件){
//条件成立做某件事情
}else{
//条件不成立时做某件事情
}
示例:
String key1 = "无门钥匙";
if(key1=="大门钥匙") {
System.out.println("进入家中");
}else {
System.out.println("只能在门口等待");
}
1.3嵌套if
if(条件){
if(条件){
}else{
}
}else{
}
示例:
String key1 = "大门钥匙";
String key2 = "无房门钥匙";
if(key1=="大门钥匙") {
if(key2 == "房门钥匙") {
System.out.println("上床睡觉");
}else {
System.out.println("进入院子,吃葡萄");
}
}else {
System.out.println("只能在门口等待");
}
1.4多条件
if(条件){
条件成立做某个事情
}else if(条件2){
}else if(条件3){
}.....
else{
}
示例:
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("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else if (score >= 0) {
System.out.println("不及格");
} else {
System.out.println("请输入正确的成绩");
}
scanner.close();
}
2、switch(分支)-控制结构
switch语句可以实现多分支结构
- default就是如果没有符合的case就执行它,default并不是必须的.
- case后的语句可以不用大括号.switch语句的判断条件可以接受int,byte,char,short,String,不能接受其他类型.
- 一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一周的某一天");
int day = scanner.nextInt();
switch (day) {
case 1:
System.out.println("蓝色");
break;
case 2:
System.out.println("白色");
break;
case 3:
System.out.println("绿色");
break;
case 4:
System.out.println("粉色");
break;
case 5:
System.out.println("红色");
break;
case 6:
case 7:
System.out.println("大红色");
break;
default:
System.out.println("无色");
}
System.out.println("end");
}
}
3、break和continue
- break:跳出循环,不再执行剩余部分。
- continue:停止当次循环,回到循环起始处,进入下一次循环操作。
for (int i = 1; i < 6; i++) {
/*if(i==2) {//表示 肚子疼了
System.out.println("不能坚持 跑步");
break;
}*/
if(i%2==0) {//偷懒,不想跑了
System.out.println("躲在大树后面");
continue;
}
System.out.println("跑第"+i+"圈");
}