Java的第四天–(输入–条件)
输入控制台
使用标准输入串System.in
使用Scanner
取得一个字符串或一组数字
在新增一个Scanner
对象时需要一个System.in
对象,但实际上还是System.in
在取得用户的输入。
Scanner
的next()方法有:
1.next()
用于取得字符串;
2.nextInt()
取得的输入字符串转换为整数类型;
3.nextFloat()
将取得的输入字符串转换成浮点型;
4.nextBoolean()
将取得的输入字符串转换成布尔型。
在使用Scanner对象时,需要在文件头带入 java.util.Scanner;
写法为: `import java.util.Scanner;`
示例:
/*在自己的类中使用别的类,需要使用import 导入别的类
在这里使用的是java.util包中的Scanner类,因此要用import导入这个类*/
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
//创建一个Scanner对象 ,传入一个输入流对象
Scanner a = new Scanner(System.in);
//利用一个Scanner对象可以创建多个实例化对象
system.out.println("请输入你的名字:");
String name = a.next();
System.out.println("请输入你的年龄:");
int age = a.nextInt();
}
}
条件语句
根据不同的场景选取不同的样式:
if(条件表达式){
条件表达式返回true时才会执行该语句块
};
if(条件表达式){
条件表达式返回true时执行该语句块
}else{
否则执行该语句块
};
if(条件表达式1){
条件表达式1返回true时执行该语句块
}else if(条件表达式2){
条件表达式2返回true时执行该语句块
}else{
否则执行该语句块
};
注意: 条件表达式必须是一个可以返回boolean型的表达式。
分支语句(switch):
多分支的选择语句,通过表达式的值来执行多个操作中的一个。
switch(表达式){
case 值: 语句块 [break];
case 值: 语句块 [break];
.
.
.
[defaule: 默认语句块;]
}
switch中的表达式值得类型:byte,short,int,char,枚举,String;
case后面的值必须是个常量;
值也不能重复;
如果case语句块中没有break,则将继续执行下一个case语句,直到遇到break;
当所有的case都不匹配时,将执行defaule;若没有defaule语句,则将结束switch语句。
if和switch语句很像,具体什么场景下,应用哪个语句呢?
1.如果判断的具体数值不多,而且符合byte、 short 、int、 char这四种类型。虽然两个语句都可 以使用,建议使用swtich语句。因为效率稍高。
2.对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
示例:
//引用java.util包中的Scanner类
import java.util.Scanner;
/*用if判断今天星期几*/
public class Demo{
public static void main(String[] args) {
//重建一个Scanner对象
Scanner a = new Scanner(System.in);
system.out.println("请输入今天星期为:")
//利用Scanner对象创建一个day对象
int day = a.nextInt;
if(day==1){
System.out.println("星期一");
}else if(day==2){
System.out.println("星期二");
}else if(day==3){
System.out.println("星期三");
}else if(day==4){
System.out.println("星期四");
}else if(day==5){
System.out.println("星期五");
}else if(day==6){
System.out.println("星期六");
}else if(day==7){
System.out.println("星期七");
}else{
System.out.println("非法日期");
}
}
}