Java全栈JavaSE:7.流程控制
Posted new nm个对象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java全栈JavaSE:7.流程控制相关的知识,希望对你有一定的参考价值。
声明:本节内容为本人观看“遇见狂神说”Java教学视频后总结,仅供学习参考。
1.顺序结构
package com.oy.流程控制;
public class ShunXunJieGou {
public static void main(String[] args) {
System.out.println("Hello1");
System.out.println("Hello2");
System.out.println("Hello3");
System.out.println("Hello4");
}
}
运行结果如下:
Hello1
Hello2
Hello3
Hello4
2.选择结构
(1)if单选择结构
package com.oy.流程控制;
import java.util.Scanner;
public class OneIf {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
String s = scanner.nextLine();
if (s.equals("Hello")){
System.out.println("输入正确");
}
scanner.close();
}
}
运行结果如下:
请输入:
Hello
输入正确
(2)if双选择结构
package com.oy.流程控制;
import java.util.Scanner;
public class TwoIf {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int cj = scanner.nextInt();
if (cj >= 60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
}
运行结果如下:
请输入成绩:
80
及格
(3)if多选择结构
注意:按照上下顺序,主要有一个if表达式符合要求,后续的if无论是否满足要求都不会再执行。
package com.oy.流程控制;
import java.util.Scanner;
public class MoreIF {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int cj = scanner.nextInt();
if (cj<=100 && cj>=90){
System.out.println("优秀");
}
else if (cj<90 && cj>=80){
System.out.println("良好");
}
else if (cj<80 && cj>=60){
System.out.println("及格");
}
else if (cj<60 && cj>=0){
System.out.println("不及格");
}
else {
System.out.println("成绩不合法,请重新输入");
}
scanner.close();
}
}
运行结果如下:
请输入成绩:
76
及格
(4)switch选择结构
switch就是匹配表达式(expression)的值,当匹配到哪个值时,就执行对应case下的代码。当所有case都未匹配到时,则执行default下的代码。
package com.oy.流程控制;
public class SwitchDemo1 {
public static void main(String[] args) {
char ch = 'C';
switch (ch){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("弄啥呢");
}
}
}
switch穿透
注意:
- case代码块中,最后的break也可以不要。当不加break则会产生穿透:也就是当匹配到的case未加break时,那么下一个case无论是否匹配都会被执行。如果后续的case仍然未加break,那么会继续向下穿透。直到switch语句结束或者遇到有break语句的case(一般情况下都最好加上break)
- default语句与case语句一样也会被穿透
package com.oy.流程控制;
public class SwitchDemo1 {
public static void main(String[] args) {
char ch = 'B';
switch (ch){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
//break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("弄啥呢");
}
}
}
运行结果如下:
良好
及格
不及格
3.循环结构
(1)while循环
package com.oy.流程控制;
public class While {
public static void main(String[] args) {
//计算1到100的和
int i = 0;
int sum = 0;
while (i<100) {
i++;
sum += i;
}
System.out.println(sum);
}
}
运算结果如下:
5050
(2)do-while循环
package com.oy.流程控制;
public class DoWhile {
public static void main(String[] args) {
//计算1到100的和
int i = 0;
int sum = 0;
do {
i++;
sum += i;
} while (i<100);
System.out.println(sum);
}
}
运行结果如下:
5050
(3)for循环
练习1:计算0到100之间的奇数和偶数的和
package com.oy.流程控制;
public class ForDemo1 {
public static void main(String[] args) {
int jishu_sum = 0;
int oushu_sum = 0;
for (int i=0;i<=100;i++){
if (i%2==0){
oushu_sum += i;
}else {
jishu_sum += i;
}
}
System.out.println(jishu_sum);
System.out.println(oushu_sum);
}
}
运算结果如下:
2500
2550
练习2:循环输出1-1000之间能被5整除的数,并且每行输出3个
package com.oy.流程控制;
public class ForDemo2 {
public static void main(String[] args) {
int count = 1;
for (int i=0;i<=1000;i++){
if (i%5==0){
System.out.print(i+" "); //print与println的区别:print输出完不会换行,而println输出完会换行
if (count % 3==0){
System.out.println();
}
count++;
}
}
}
}
运行结果如下:
0 5 10
15 20 25
30 35 40
45 50 55
60 65 70
75 80 85
90 95 100
105 110 115
120 125 130
135 140 145
150 155 160
165 170 175
180 185 190
195 200 205
210 215 220
225 230 235
240 245 250
255 260 265
270 275 280
285 290 295
300 305 310
315 320 325
330 335 340
345 350 355
360 365 370
375 380 385
390 395 400
405 410 415
420 425 430
435 440 445
450 455 460
465 470 475
480 485 490
495 500 505
510 515 520
525 530 535
540 545 550
555 560 565
570 575 580
585 590 595
600 605 610
615 620 625
630 635 640
645 650 655
660 665 670
675 680 685
690 695 700
705 710 715
720 725 730
735 740 745
750 755 760
765 770 775
780 785 790
795 800 805
810 815 820
825 830 835
840 845 850
855 860 865
870 875 880
885 890 895
900 905 910
915 920 925
930 935 940
945 950 955
960 965 970
975 980 985
990 995 1000
Process finished with exit code 0
练习3:打印九九乘法表
package com.oy.流程控制;
public class ForDemo3 {
public static void main(String[] args) {
for (int i=1;i<=9;i++){
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"\\t");
}
System.out.println();
}
}
}
运行结果如下:
1*1
1*2 2*2
1*3 2*3 3*3
1*4 2*4 3*4 4*4
1*5 2*5 3*5 4*5 5*5
1*6 2*6 3*6 4*6 5*6 6*6
1*7 2*7 3*7 4*7 5*7 6*7 7*7
1*8 2*8 3*8 4*8 5*8 6*8 7*8 8*8
1*9 2*9 3*9 4*9 5*9 6*9 7*9 8*9 9*9
(4)增强for循环
package com.oy.流程控制;
public class ForDemo4 {
public static void main(String[] args) {
int[] num = {10,20,30,40,50};
//遍历num中的每一项,并赋值给x
for (int x:num){
System.out.println(x);
}
}
}
运行结果如下:
10
20
30
40
50
4.break和continue
- break:在循环体中使用,用于强制退出循环。
- continue:在循环体中使用,用于退出当前循环,执行下一次循环。注意:不是与退出循环语句,而是结束当前循环,继续下一次循环。
- 注意:如果是嵌套的循环语句,break不能退出所有循环语句。只能退出最近的循环语句。
break练习
package com.oy.流程控制;
public class BreakDemo {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
System.out.println(i);
if (i==10){
break;
}
}
}
}
运行结果如下:
0
1
2
3
4
5
6
7
8
9
10
continue练习
package com.oy.流程控制;
public class ContinueDemo {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i%2==0){
continue;
}
System.out.println(i);
}
}
}
运行结果如下:
1
3
5
7
9
以上是关于Java全栈JavaSE:7.流程控制的主要内容,如果未能解决你的问题,请参考以下文章