Scanner对象(键盘输入)
基本语法:
Scanner sc = new Scanner(System.in);
.next()方法
- 对输入的有效字符之前的空白,next() 方法会自动将其去掉;
- 第一个有效字符后有空白的,后面的字符会自动去掉;
- next() 不能得到带有空格的字符串;
Scanner sc = new Scanner(System.in);
String a = sc.next();
System.out.println(a);
例:运行上面代码,如果键盘输入为:(空格)hello(空格)world!
则输出结果为:hello
.nextLine()方法
- 以Enter为结束符,.nextLine()方法返回的是输入回车前的所有字符;
- 可以获得空白;
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
System.out.println(a);
例:运行上面代码,如果键盘输入为:(空格)hello(空格)world!
则输出结果为:(空格)hello(空格)world!
.hasNext()方法
返回一个Boolean类型值,意思是判断是否有下一个输入项,如果有,返回true,否则返回false
switch多选择结构
switch (expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default: //expression的值在上面没有的话,执行这个语句
//语句
}
- switch语句,匹配一个具体的值;
- switch语句中的变量类型可以是:byte,short,int,char 等基本类型,或者 string(jdk7新特性);
- case具有穿透功能,如果case里没有加break,则就会执行下面一个case或者default中的语句,直到出现break为止。
switch (90){
case 60:
System.out.println("你的分数及格!");
break;
case 90:
System.out.println("你的分数优秀!");
case 100:
System.out.println("恭喜你满分!");
break;
default:
System.out.println("不合格!");
}
例:运行上面代码,由于case90 中的语句没有break,所以执行完case90 中的语句后,还会执行case100 中的语句,由于case100语句中有break,所以执行完case100后,停止执行;
输出结果为: 你的分数优秀!
恭喜你满分!
循环结构
1. while 循环
while(布尔表达式){
//循环内容
}
- 只要布尔表达式的结果为true,循环就会一直进行下去;
- 通过让布尔表达式失效(结果为false)的方式结束循环。
2. do…while 循环
do{
//循环内容
}while(布尔表达式);
- do…while循环,至少循环一次,先执行,再判断;
- 即使布尔表达式为false,也会执行一次。
3. for 循环
for(初始化表达式;布尔表达式;循环后的操作表达式){
//循环内容
}
- 初始化以后,进行判断布尔表达式,如果为true,执行循环内容,为false结束循环;
例子:打印九九乘法表(循环嵌套)
public class ForTest {
public static void main(String[] args) {
//打印九九乘法表
for (int i=1;i<=9;i++){ // 外层循环控制打印行数
for (int a = 1;a<=i;a++){ //内层循环控制打印内容
System.out.print(i+"*"+a+"="+ a*i+"\t");
}
System.out.println(); //换行
}
}
}
运行上面代码,控制台输出内容如下:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
4. 控制跳转语句 break 和 continue
- break语句,作用于switch和循环中,用于强行退出循环,不执行剩余的语句;
- continue语句,只作用于循环中,用于终止本次循环跳转下次循环;