首页 > 其他分享 >流程控制,if、switch、while、dowhile、for

流程控制,if、switch、while、dowhile、for

时间:2023-02-01 23:12:52浏览次数:32  
标签:判断 while System dowhile switch 循环 println out

流程控制,if、switch、while、dowhile、for


if

// if
// 条件判断,如果括号内的判断条件 1 为:ture,则执行后面花括号内的代码,打印:判断条件 1 成立
// 如果判断条件 1 为:false,则执行判断条件 2 ,如果判断条件 2 为:true,则执行后面花括号内的代码,打印:判断条件 2 成立
// 代码从上往下依次执行,如果某一个条件成立,执行完后面花括号的内容后,直接跳出整个 if 判断
// if (判断条件 1) {
//   System.out.println("判断条件 1 成立");
// } else if (判断条件 2) {
//   System.out.println("判断条件 2 成立");
// }
// .
// .
// .
// else {
//   System.out.println("条件不通过");
// }

// 创建一个扫描器对象,用于接受键盘数据
Scanner scanner = new Scanner(System.in);
// 监听控制台键盘输入,回车结束
String str = scanner.nextLine();

if (str.equals("1")) {
  // 如果输入的文字是 1
  System.out.println("你输入了数字 1 ");
} else if (str.equals("a")) {
  // 如果输入的文字是 a
  System.out.println("你输入了字符 a ");
} else {
  // 如果都不是,则直接输出
  System.out.println("你输入了:" + str);
}

scanner.close();

switch

// switch
// 与 if else 类似,所有的结果都是同一个条件的不同反应结果
// switch(判断内容)
// case "条件一",类似 if 语句中 if ((判断内容 == 条件一) == true)
// 如果以上条件成立,则执行冒号后面与下一个 case 之间的代码
Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();

switch (str){
  case "1":
    System.out.println("你输入了数字 1 ");
    break;
  case "a":
    System.out.println("你输入了字符 a ");
    break;
  default:
    System.out.println("你输入了:" + str);
    break;
}

scanner.close();

while

// 循环操作
// while (判断条件) {
//   循环内容
// }
// 如果判断条件成立,则执行花括号内的代码,直到判断条件不成立

// 创建一个初始值
int i = 0;
// 循环开始前,首先判断,如果 i 小于 3 ,则会循环执行花括号内的代码,i 会一直自增并打印,直到 i 小于 3 不成立,则跳出循环
while (i < 3) {
  i ++;
  System.out.println(i);
}
// 输出:
// 1
// 2
// 3

dowhile

// 循环操作
// do {
//   循环内容
// } while (判断条件)
// 如果判断条件成立,则执行花括号内的代码,直到判断条件不成立

// 创建一个初始值
int i = 0;
// 先默认执行一次循环体,然后判断是否再次循环,如果 i 小于 3 成立,则再次执行循环体,然后依次判断再循环
do {
  i ++;
  System.out.println(i);
} while (i < 3);
// 输出:
// 1
// 2
// 3

for

// for 循环语句是支持迭代的一种通用结构,是最有效】最灵活的循环结构
// for 循环执行的次数在执行前有确定了,如下:
// for (初始化; 布尔表达式; 更新) {
//   循环体
// }
for (int i = 0; i < 3; i ++) {
  System.out.println(i);
}
// 输出:
// 0
// 1
// 2

// 嵌套使用 for 循环打印 99 乘法表
for (int i = 1; i <= 9; i++) {
  for (int l = 1; l <= i; l++) {
    // 打印不换行
    System.out.print(l + "*" + i + "=" + (l * i) + "\t");
  }
  // 换行
  System.out.println();
}
// 输出:
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6	3*3=9
// 1*4=4 2*4=8	3*4=12	4*4=16
// 1*5=5 2*5=10	3*5=15	4*5=20	5*5=25
// 1*6=6 2*6=12	3*6=18	4*6=24	5*6=30	6*6=36
// 1*7=7 2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49
// 1*8=8 2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64
// 1*9=9 2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81


// 增强 for 循环
// for (声明语句 : 表达式) {
//   循环体
// }
// 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块中,其值与此时数组元素的值相等。
// 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
String[] arr = {"a", "b", "c", "d", "e"};

// 遍历数组的元素
for (String str : arr) {
  System.out.println(str);
}
// 输出:
// a
// b
// c
// d
// e

break、continue、goto

// break
// 用于强制退出循环,用于各种循环体
int i = 0;
while (i < 100) {
  i++;
  System.out.println(i);
  if (((Integer) i).equals(3)) {
    break;
  }
}
// 输出:
// 1
// 2
// 3

// continue
// 用于跳过本次循环当前位置之后到循环体结束之间的代码,直接开始下一次循环
int i = 0;
while (i < 3) {
  i++;
  if (((Integer) i).equals(2)) {
    continue;
  }
  System.out.println(i);
}
// 输出:
// 1
// 3

// goto
// 它并未在 Java 中得到正式使用,然而在 break 和 continue 这两个关键字的身上,我们仍然能看出一些 goto 的影子,带标签的 break 和 continue 。
// 标签是指后面跟一个冒号的标识符,例如:label 。
// 对 Java 来说,唯一用到标签的地方是在循环语句之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于 break 和 continue 关键字通常只中断当前循环,但若是同标签使用,它们就会终端到存在标签的地方。
// 不推荐使用

// 例子
// 打印 101 - 150 之间的质数
// 质数是指在大于 1 的自然数中,除了 1 和它本身意外不再有其他因数的自然数
int count = 0;

outer:
for (int i = 101; i < 150; i++) {
  for (int j = 2; j < (i / 2); j++) {
    if (((Integer) (i % j)).equals(0)) {
      continue outer;
    }
  }
  System.out.print(i + "  ");
}
// 输出:101  103  107  109  113  127  131  137  139  149 

标签:判断,while,System,dowhile,switch,循环,println,out
From: https://www.cnblogs.com/Struggle-Hard/p/17084440.html

相关文章