java流程控制
Scanner对象
scanner是一个用于计算机与用户交互的一个工具类。 我们可以通过scanner来获取用户输入。
//基础语法
Scanner s = new Scanner(System.in);
//可以通过Scanner类的next()与nestLine()方法获取输入的字符串
//在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
scanner进阶演示
package processContral;
import java.util.Scanner;
//计算m 个数的和与平均值
public class Demo03 {
public static void main(String[] args) {
double sum = 0.0;
int m = 0;
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum +=x;
System.out.println("你输入了第"+m+"个数据");
}
System.out.println(m+"个数的和是"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close();
}
}
顺序结构
除非特别指明否则程序按照语句顺序一句一句执行,这是任何 一个算法都离不开的一种基本算法结构。
选择结构
### if 语句
//语法结构
if(布尔表达式){
//如果布尔表达式为true就执行此间语句
}else{
//如果布尔表达式为false就执行此间语句
}
//多选择if语句
/*
if 与else 语句之间可以有多条else if语句,但是只能有一个else语句且else语句只能放在最后
一旦一个else if语句为真,则以后的语句都不执行
*/
if(布尔表达式1){
//如果布尔表达式1为true就执行此间语句
}else if(布尔表达式2){
//如果布尔表达式2为true就执行此间语句
else if(布尔表达式3){
//如果布尔表达式3为true就执行此间语句
else if(布尔表达式4){
//如果布尔表达式4为true就执行此间语句
else{
//其余情况执行此间语句
}
//嵌套if语句
if(布尔语句1){
if(布尔语句2){
// 既满足布尔语句 1 又满足布尔语句 2
}
}
switch case选择语句
switch case语句用于判断一个变量与一系列值是否相等,每个值称为一个分支
switch的变量类型可以试
*byte 、short、int或char
*从java SE7开始,switch支持string类型
*case标签必须为字符串常量或者字面值
语法
switch(expression){
case value:
//语句
break;
case value2;
//语句
break;
default:
//语句
}
//case穿透现象
//如果没有break语句的话,会将匹配case之后的所有case对应的执行语句执行一遍,直到switch语句结束或遇见break
循环结构
### while循环
- ```java
while(布尔表达式){
//循环内容
}
//只要布尔表达式为true,循环就会一直执行
//大多数时候我们需要一个让while循环停下来的方式来结束循环
//少部分需要循环一直执行,列入服务器的请求响应监听等
//编程时要注意可能的死循环
do while 循环
while 与do while循环的区别
对于while循环来说如果不满足条件就不会进入循环,但do while循环至少执行一次。
while:先判断,在执行
do while ;先执行一次循环体,在判断,
//语法
do{
//循环代码
}while(布尔表达式);
for循环
for循环是支持迭代的一种最灵活的一种通用结构,最有效最灵活的循环结构。
for循环的执行此时是在执行前就已经确定的
//语法
for(初始化;布尔表达式;更新){
//代码语句
}
//初始化可以为空语句
增强型for循环
java5引入的主要用于数组和集合的增强型for循环
//语法
for(声明语句:表达式){
//代码句子
}
/*
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型相匹配其作用于限定在循环语句块,其值与此时数组元素的值相等
表达式:表达式是要访问的数组名,或者是返回值是数组的方法。
*/
break和continue
break和continue都用于循环语句的主题部分,但break用于强行退出循环,不在执行剩余语句。而continue只用于跳过本次循环执行下一次循环。