Scanner的使用
1打包:import java.util.Scanner;
2创建Scanner对象:Scanner input = new Scanner(System.in);
3使用Scanner对象完成用户从键盘的输入信息接收
int i =input.nextInt();
double i =input.nextDouble();
String i=input.next();
import java.util.Scanner;
public class jianbanshuru {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
Scanner out =new Scanner(System.in);
System.out.println("请输入一个int值");
int a = input.nextInt();
System.out.println("请输入一个double值");
double b =input.nextDouble();
System.out.println("请输入一个字符串");
String c=input.next();
System.out.println("请输入一个带有间隔符的字符串");
String d=out.nextLine();
System.out.println("请输入一个Boolean值");
boolean f=input.nextBoolean();
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
//System.out.println(e);
System.out.println(f);
}
}
分支结构
if语句
1:
if(条件){
代码
}
public class fenzhijiegou {
public static void main(String[] args) {
int a=95;
if(a>90){
System.out.println("A");
}
}
}
2:if(条件){ // 如果条件为true,则执行代码1
代码1;
}else{ // 否则执行代码2
代码2;
}
public class fenzhijiegou {
public static void main(String[] args) {
int a=67;
if(a>90){
System.out.println("A");
}else{
System.out.println("B");
}
}
}
3:if(条件1){ // 条件1成立,执行代码1,执行完成后,if结构结束
代码1;
}else if(条件2){ // 条件1不成立,条件2成立,则执代码2,代码2执行完,if结构结束
代码2;
}else if(条件3){ // 条件2不成立,条件3成立,则执代码3,代码3执行完,if结构结束
代码3;
}
....
else{ // 以上所有条件都不成立,则执行代码n,这个if结构结束
代码n;
}
public class fenzhijiegou {
public static void main(String[] args) {
int a=67;
if(a>90){
System.out.println("A");
}
else if(a>80){
System.out.println("B");
}
else if(a>70){
System.out.println("c");
}
else if(a>60){
System.out.println("D");
}
else{System.out.println("E");}
}
}
2:switch....case
条件:必须要等值类型(int ,short,char, byte)
jdk1.5后可以使用枚举类型
jdk1.7后可以使用String类型
switch(表达式/变量){
case 分支1:
代码1;
break;
case 分支2:
代码2;
break;
case 分支3:
代码3;
break;
...........
default:
缺省代码;
break;
}
import java.util.Scanner;
public class fenzhijiegou2 {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入星期");
int week = input.nextInt();
switch(week){
case 0:
System.out.println("星期日");
break;
case 1:
System.out.println("星期1");
break;
case 2:
System.out.println("星期2");
break;
case 3:
System.out.println("星期3");
break;
case 4:
System.out.println("星期4");
break;
case 5:
System.out.println("星期5");
break;
case 6:
System.out.println("星期6");
break;
default:
System.out.println("请输入正确的星期数值(0 - 6)");
break;
注意点
-
各个case分支的值不能重复
-
如果每个case分支都不包含break,则后面的case分支以及default分支都会被穿透而执行
-
default的位置可以很随意,可以放在case最后,也可以放在case中间,也可以switch开头,注意,如果没有break,同样会面临各个条件的穿透执行
-
jdk1.7之后switch结构中可以使用字符串
-
jdk1.5之后可以使用枚举类型
-
对于多个不同分支,但是执行操作完全一致的代码,可以进行case分支的简化,让多个不同的case分支走相同的代码分支
import java.util.Scanner;
public class fenzhijiegou2 {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入月份");
int mounth = input.nextInt();
switch(mounth){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30");
break;
default:
System.out.println("28");
break;
}
}
}