For循环
- 所有循环都可以用while和do…while表示,但java提供了另一种语句——for循环,使一些循环结构更简单。
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
- for循环执行次数是在执行前就确定的,语法结构:
for循环
package struct;
public class ForDemo01 {
public static void main(String[] args) {
//for循环结构;
//1到100;
//初始化;条件判断;//迭代
for (int i=0;i<=100;i++){
System.out.println(i);
}
}
//for (;;){}
//死循环
*/
/*
* 关于for循环有以下几点说明:
*
* 最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
* 然后检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行循环提后面的语句。
* 执行一次循环后,更新循环变量(迭代因子控制循环变量的增减)
* 再次检查布尔表达式,循环执行上面的过程
* */
}
练习一
package struct;
public class ForDemo02 {
public static void main(String[] args) {
// 用for循环计算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);
}
}
练习二
package struct;
public class ForDEemo03 {
public static void main(String[] args) {
//用while或for循环输出1~1000之间能被5整除的数,并且每行输出3个
for(int i=0;i<=1000;i++){
if (i%5==0){
System.out.print(i+"\t");//ln自动转行
}if(i%15==0) {
System.out.print("\n");//转行
// println输出完会换行
//print输出完不会换行
}
}
}
}
九九乘法表
package struct;
/**
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
1*10=10 2*10=20 3*10=30 4*10=40 5*10=50 6*10=60 7*10=70 8*10=80 9*10=90 10*10=100
**/
public class ForDemo04 {
public static void main(String[] args) {
// 打印九九乘法表
//1.先打印第一列;
//2.再把固定的1用for循环包起来;
// 3. 去掉重复的部分;
// 4.排版;
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();
// System.out.print("\n");
}
}
}
了解:增强for循环
package struct;
public class ForDemo05 {
public static void main(String[] args) {
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);
}
}
}
- 练习:用for循环打印一个三角形
package struct;
public class PracticeDemo {
public static void main(String[] args) {
// 打印三角形5行
//将三角形分三部分,其中一部分用空表示;
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");//第一部分不表示
}for (int j= 1; j<= i; j++){
System.out.print("*");//第二部分
}for (int j= 1; j< i; j++){
System.out.print("*");//第三部分去掉与第二部分重复的地方
}
System.out.print("\n");
//结果三角形
}
}
}