Java_For循环
语法
for(初始化;布尔表达式;更新){
//代码语句
}
package struct;
public class ForDemo1 {
public static void main(String[] args) {
int i =1;
while(i<=100){
System.out.println(i);
i++;//迭代
}
System.out.println("while循环结束");
for(int a=1;a<=100;a++){
System.out.println(a);
}
System.out.println("for循环结束");
}
}
for循环是最有效的循环
IDEA快捷:100.for 自动生成100次的for循环
x.for :自动生成x次循环的for循环
且:for中,初始化可以为空白,布尔表达式可以为空白,迭代更新也可空白:此时即死循环
练习1
计算0-100之间的奇数和偶数的和
package struct;
public class ForDemo2 {
public static void main(String[] args) {
int sumJ = 0;
int sumO = 0;
for (int i = 0; i < 100; i++) {
if(i%2==1){
sumJ = sumJ+i;
}else{
sumO = sumO+i;
}
}
System.out.println("奇数和为"+sumJ+"偶数和为"+sumO);
}
}
输出:奇数和为2500偶数和为2450
练习2
用循环输出1-1000之间能被5整除的数,且每行输出三个
package struct;
public class ForDemo3 {
public static void main(String[] args) {
int j =1;
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+" ");
j++;
}
if(j%4==0){
System.out.println();
j = 1;
}
}
}
}
package struct;
public class ForDemo3 {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(3*5)==0){//3个5换行
System.out.println();
}
}
}
}
练习3
打印9*9乘法表
package struct;
public class ForDemo4 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
增强for循环
用于遍历数组/集合对象
for循环每次的循环为从数组/对象中取值
for(声明语句 : 表达式){
//执行语句
}
package struct;
public class ForDemo5 {
public static void main(String[] args) {
int[] numbers = {10, 20, 30};//定义了一个数组
for(int x: numbers){//即遍历数组的元素
System.out.println(x);
}
}
}//每次循环x都依次取出numbers数组中的一个元素
输出:
10
20
30
break、continue
break终止整个循环,强制退出,不再进行下一次循环
continue终止单次循环,会继续执行下一次循环
package struct;
public class ForDemo6 {
public static void main(String[] args) {
for (int i = 0; i < 50; i++) {
System.out.println(i);
if(i==30){
break;
}
}
System.out.println("break结束整个循环,不再进行当前循环块在break后的循环次数");
}
}
28
29
30
break结束整个循环,不再进行当前循环块在break后的循环次数
continue即满足条件是,跳过此轮循环中continue后面的语句,而下一轮循环中会继续正常执行。
for (int i = 0; i < 4; i++) {
System.out.println(i);
if(i==2){
continue;
}
System.out.println("abcdefg");
}
System.out.println("continue只终止当前次的循环,循环块内continue后的本次不执行,下一轮循环中会继续正常执行");
0
abcdefg
1
abcdefg
2 2这里缺了abcdefg,因为此处continue了
3
abcdefg
continue只终止当前次的循环,循环块内continue后的本次不执行,下一轮循环中会继续正常执行
goto
并未正式使用,但是有此保留字,可以使用
练习4
打印三角形