java流程控制
scanner
创建一个新的扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
//使用next方式接收
String srt = scanner.next();
//使用nextLine方式接收
String srt = scanner.nextLine();
next():
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白符作为分隔符或者结束符
- next()不能得到带有空格的字符串
nextLine():
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所以字符
- 可以获得空白
输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字在结束并输出结果
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m =0;
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m + 1;
sum = sum + x;
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close();
顺序结构
java的基本结构就是顺序结构,除非特别指明,否则就是按照顺序一句一句执行。---它是任何一种算法都离不开的一种基本算法结构。
选择结构
-
if单选择结构
if(){ }
-
if双选择结构
if(){ }else{ }
-
if多选择结构
if(){ }else if(){ }else{ }
-
if嵌套选择结构
if(){ if(){ } }else{ }
-
switch多选择结构
switch(expression){
case value:
//语句
break;// 可选
case value:
//语句
break;//可选
default ://可选
}
没有break会导致case穿透
switch语句中的变量类型可以是:byte、short、char
从java SE 7开始switch支持字符串String类型了
同时case标签必须为字符串常量或字面量
循环结构
-
while循环
while(布尔表达式){ } while(ture){ //死循环 }
-
do...while
do{ }while()
while和do...while的区别
while先判断再执行,do...while先执行再判断
-
for循环
for(初始化;布尔值;更新){
}
for (int i=1;i<=9;i++){ for (int j=1;j<=i;j++){ System.out.print(i + "*" + j + "=" + i * j + "\t"); } System.out.println(); }
是最有效最灵活的循环结构
println 输出玩会换行
print 输出完不换行
-
增强for循环
for(声明语句:表达式){
代码句子
}int[] numbers={10,20,30,40,50}; //定义了一个数组 //遍历数组 for(int x:numbers){ System.out.println(x); }
-
break continue
break在任何循环语句的主体部分,均可用break控制循环流程。break用于强行退出循环
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行的循环判定。
int count = 0;
outer:for(int i=101;i<150;i++){
for(int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.print(i+" ");
}
练习
public static void main(String[] args) {
//打印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();
}
}
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决