For循环
- 虽然所有的循环结构都可以用 while 或者 do...while 表示,但是 Java 提供了另外一种语句 —— for 循环,使一些循环结构变得简单。
- for 循环语句是支持迭代的一种通用结构,是最有有效、最灵活的循环结构。
- for 循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化; 布尔值表达式; 更新){ //代码语句 }
快捷键
//快捷键100.for for (int i = 0; i < 100; i++) { }
代码示例:
int a = 1;//初始化条件 while (a<=100){ System.out.println(a); a += 2;//迭代 } System.out.println("While 循环结束\n"); //快捷键100.for for (int i = 0; i < 100; i++) { System.out.println("100.for"); } for (int i = 1; i<=100; i++){ System.out.println(i); } System.out.println("for 循环结束"); for ( ; ; ){ //死循环 }
关于 for 说明一下几点: /*最先执行初始化步骤,可以初始话一种类型,可初始化一个或多个循环变量,也可以是空语句。 然后检索布尔表达式的值。如果为 true,循环被执行。如果为 false,循环终止,开始执行下面的语句。 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。 再次检查布尔表达式的值,执行以上的操作 */
Demo02:0~100之间的奇数和与偶数和
代码:
int oddsum = 0; int evensum = 0; for (int i = 0; i <= 100; i++) { if (i%2!=0){//奇数 oddsum+=i; }else {//偶数 evensum+=i; } } System.out.println("奇数的和"+oddsum); System.out.println("偶数的和"+evensum);
Demo03:1~1000之间能被 5 整除的数,并且每行输出 3 个
for (int i = 0; i < 100; i++) { if (i%5==0){ System.out.print(i+"\t"); } if (i%(5*3)==0){ System.out.println(); //or System.out.print("\n"); } //println 输出完换行 //print 输出完不换行
Demo04:九九乘法表
for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(i+"*"+j+"="+(j*i)+"\t"); } System.out.print("\n"); } //将大项目化小
增强 for 循环
- Java5 引入了一种主要用于数组或集合的增强型 for 循环
- Java 增强 for 循环语法如下:
for(申明语句 : 表达式){ //代码语句 }
int[] numbers = {10,20,30,40,50};//定义一个数组 for (int i = 0; i < 5; i++) { System.out.println(numbers[i]); } System.out.println("------------------------"); //遍历数组的元素 for (int x:numbers){ System.out.println(x); }
break & continue
- break 在任何循环语句的主体,均可用 break 控制循环。break 用于强行退出循环,不执行循环中剩余语句。(break 语句也在 switch 语句中使用)。
int i = 0; while (i<100){ System.out.println(i); i++; if (i==30){ break;//在30的时候跳出循环 } }
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
int i = 0; while (i<100){ i++; if (i%10==0){ System.out.println(); continue; } System.out.print(i+"\t"); }
关于 goto 关键字
label标签使用,例如下:
- goto 关键字很早就在程序设计语言中出现。尽管 goto 仍是 Java 保留字,但并未在语言中正式使用。Java 没有 goto。然而,在 break 和 continue 这两个关键字的身上,我们仍能看出一些 goto 的影子——带标签的 break 和 continue。
- ”标签“是指后面跟一个冒号的标识符,例如:label
- 对 Java 来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套一个循环,由于 break 和 continue 关键字通常只中断当前循环,但随同标签使用,它会中断到存在标签的地方。
public static void main(String[] args) { //打印101~150之间的质数 //不建议使用! 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+"\t"); } }