流程控制
流程控制
Scanner对象
我们可以通过Scanner类来获取用户的输入
基本语法:Scanner s = new Scanner(System.in)
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
最后需关闭 scanner.close()
Scanner scanner = new Scanner(System.in);
/*
代码段
*/
scanner.close();
顺序结构
除非特别指明,否则就按照顺序一句一句执行
选择结构
if 单选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
if 双选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}else{
//如果布尔表达式为false将执行的语句
}
if 多选择结构
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else{
//如果布尔表达式都不为true将执行的语句
}
注意事项:
- if语句至多有1个else语句,else语句在所有的else if语句之后
- if语句可以有若干个else if语句,它们必须在else语句之前
- 一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
嵌套的 if 结构
if(布尔表达式1){
//如果布尔表达式1的值为true执行
if(布尔表达式2){
//如果布尔表达式2的值为true执行
}
}
switch多选择结构
注意点:
-
switch语句中的变量类型可以是
byte、short、int、char或者String
String是jdk7之后支持的
用反编译可以看出还是比较的数字
-
case标签必须为字符串常量或字面量
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default;//可选
//语句
}
循环结构
while循环
while(布尔表达式){
//循环内容
}
do...while 循环
对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do{
//执行语句
}while(布尔表达式);
For循环
for(初始化;布尔表达式;更新){
//代码语句
}
快键键:100.for+回车
注意点:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
- 然后检测布尔表达式的值。如果为true,循环体被执行;如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
- 再次检测布尔表达式。循环执行上面的过程。
//打印九九乘法表
for(int j=1;j<=9;j++){
for(int i=1;i<=j;i++){
System.out.print(j+"*"+i+"="+(j*i)+"\t")
}
System.out.println();
}
增强for循环
一种主要用于数组或集合的增强型for循环
for(声明语句 : 表达式){
//代码语句
}
int[] numbers = {10,20,30,40,50};
//遍历数组的元素
for (int x : numbers){
System.out.println(x);
}
break和continue
break在任何循环语句的主体部分,均可用break控制循环的流程。
break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
打印三角形
//打印三角形 5行
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.println();
}

浙公网安备 33010602011771号