5 结构体(流程控制)
5.1 顺序结构
下面我是在某B上面一个大佬up狂神学习时截图的,关于这个基本结构顺序结构的介绍,这个结构体没什么好说的。
package com.zlx.struct;
//顺序结构
public class OrderDemo01 {
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
}
5 .2 选择结构
5.2.1 if单选择结构
哈哈,if都学烂了,还有什么好说的,多用就完事咯
package com.zlx.struct;
import java.util.Scanner;
//选择结构:
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//equals:判断字符串是否相等
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
5.2.2 if双选择结构
双选择结构就是if。。。else,有啥好说的?就是if 判断语句里面如果bool值为true那么就是执行他里面的,否则执行else里面的语句。
package com.zlx.struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
if (score>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
}
}
5.2.2 if多选择结构
这个多选择结构有一点值得注意的,就是如果一条else if被执行了那么后面的都不会被执行,OK咯兄弟们!
package com.zlx.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/*
if 语句至多有1个else语句,else语句在所有的else if语句之后,
if 语句可以有若干个else if语句,他们必须在else语句之前
一旦其中的一条else if语句检测为true那么后面的else if 与else语句将不会执行
*/
System.out.println("请输入成绩:");
double score = scanner.nextDouble();
if (score==100){
System.out.println("恭喜满分!");
}else if (score<100 && score>=90){
System.out.println("A级");
}else if (score<90 && score>=80){
System.out.println("B级");
}else if (score<80 && score>=70){
System.out.println("C级");
}else if (score<70 && score>=60){
System.out.println("D级");
}else if (score<60 && score>=0){
System.out.println("成绩不及格");
}else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
5.2.3 Switch多选择结构
Switch多选择结构就很曰怪,case的穿透性就顾名思义,你调用了一个case后面的值,那么后面所有的case与default语句都会得到调用,所以必须加break;在每条case末尾后面。
对咯,这个case里面的值,你还可以用字符串等等,不仅限与这个字符。
package com.zlx.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case:穿透 //switch 匹配一个具体的值
char grade = 'C'; //grade:成绩
switch (grade){
case 'A':
System.out.println("优秀");
break; //可选
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再厉");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
}
}
5.2 循环结构
5.2.1 while循环
while循环,也就是之后while语句后面满足了条件的语句全都执行了,只要不满足循环条件了就跳出去。
package com.zlx.struct;
public class WhlieDemo01 {
public static void main(String[] args) {
//输出1~100
int i = 0;
while (i<100){
i++;
System.out.println(i);
}
}
}
5.2.2 do。。while循环
执行一次do后面的语句然后再开始判断是否满足继续循环的条件,就挺曰怪的。
package com.zlx.struct;
//do···while至少循环语句要执行一次
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum + i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
5.2.3 for循环
属实没什么好说的了,自己看下面的注释吧哈哈哈哈哈
package com.zlx.struct;
//for循环语句是支持迭代的一种通用结构
//是最有效、最灵活的循环结构
//for循环执行次数是在执行之前就确定的
public class ForDemo01 {
public static void main(String[] args) {
int a = 1; //初始化条件
while (a<=100){//条件判断
System.out.println(a);//循环体
a+=2;//迭代
}
System.out.println("循环结束");
//初始化值;条件判断;迭代
for (int i=1;i<=100;i++){
System.out.println(i);
}
System.out.println("for循环结束");
/*
for语句最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空循环。
*/
}
}
送各位一个用for语句打印的九九乘法表小套餐。。。。。
package com.zlx.struct;
public class ForDemo04 {
public static void main(String[] args) {
//九九乘法表
//for循环的嵌套使用,首先外面一层遍历一次,里面一层遍历完
//下面这种方法是每一行每一行的输出,
for (int j = 1; j <= 10; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println();
}
}
}
for在数组中的应用,关于遍历的:
package com.zlx.struct;
public class ForEnhancedemo01 {
public static void main(String[] args) {
int[] numbers = {1,2,3,4,5,6,7,8};//定义了一个数组
//遍历数组元素
for (int x:numbers){
System.out.println(x);
}
System.out.println("============================================================");
for (int i = 0; i < 8; i++) {
System.out.println(numbers[i]);
}
}
}
5.3 break;语句
自己看注释,就不多bb了我累了。
package com.zlx.struct;
//break用于强行退出循环,不执行循环中剩余的语具
public class BreakDemo01 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
System.out.println(i);
if (i==22){
break;
}
}
System.out.println(i);
}
}
5.4 continue 语句
我觉得在continue语句中值得注意的就是这个比如在下面这段代码中的if语句中,如果成功执行了这条if语句,执行了continue后,但是他还是会输出空格,所以说。。。你懂得
package com.zlx.struct;
//continue用于在循环语句中,终止某次循环过程
//及跳过循环体中尚未执行的语句,接着进行下一次循环是否执行的判定
//continue也是跳出的是后面的执行语句,如果在continue前面依旧会被执行
public class ContinueDemo01 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
//System.out.println(i);
if (i%10==0){
System.out.println();
continue;
}
System.out.print(i+"\t");
}
}
}