for的用法

*语法结构:

	for(初始化表达式; 布尔表达式; 更新表达式){
		//循环体:需要重复的代码片段

}

执行过程

**初始化表达式、布尔表达式、更新表达式都不是必须的【但是两个分号 是必须的】

**初始化表达式最先执行,并且在整个for循环当中只执行一次

**布尔表达式必须是true或false,不能是其他值。
在这里插入图片描述

例1:
/*

  • 计算1-100所有奇数的和
    */
public class ForTest02 {

	public static void main(String [] args) {
		
		int sum = 0;
		
		for(int i = 1; i <= 100; i += 2) {
			sum += i;
		}
		
		System.out.println("sum = " + sum);
	}
	
}

for和if的嵌套

例2.
//找出1-100所有的奇数

public class ForTest01 {

	public static void main(String [] args) {
		
		//第一种方案:从1开始,以1递增,每个数据都进行判断,判断标准是该数字对2求余数
		for(int i = 1; i <= 100; i++) {
			if(i % 2 != 0)
			{
				System.out.println(i);
			}
		}
		
		//第二种方案:从1开始,每次递增2
		for(int i = 1; i <= 100; i += 2) {
			System.out.println(i);
		}
		
	}
	
}

* for与for嵌套

//循环体中可以编写其他的控制语句
//控制语句可以嵌套使用
//控制语句可以是:if、 if…else、 switch、 for、 while、 do…while

例3.

public class ForTest03 {

	public static void main(String [] args) {
		
		for(int i = 0; i<10; i++) {
			for(int j = 0; j<3; j++) {
				System.out.println(j);
			}
		}
		
	}
	
}

例4.
//九九乘法表

public class ForTest04 {

	public static void main(String [] args) {
		
		for(int i = 1; i <= 9; i++) {
			for(int j = 1; j <= i; j++) {
				System.out.print(" " + i + "*" + j + "=" + i*j);
			}
			System.out.println();
		}
	}
	
}

运行结果:
在这里插入图片描述

例5.

  • 找出1-100中所有的素数(又称为质数,只能被1和自身整除)
public class ForTest05 {

	public static void main(String [] args) {
		
		for(int i = 1; i <= 100; i++) {
			boolean isSuShu = true;
			for(int j = 2; j < i; j++) {
				if(i % j == 0) {
					isSuShu = false;
					break;
				}
			}
			if(isSuShu) {
				System.out.println(i + "是素数");
			}
		}
	}
}

例5升级版:

  • 找出1-100中所有的素数,要求每8个换一行输出
public class ForTest06 {
	
	public static void main(String [] agrs) {
		
		int count = 0;
		
		for(int i = 1; i <= 100; i++) {
			boolean isSuShu = true;
			
			for(int j = 2; j < i; j++) {
				if(i % j == 0) {
					isSuShu = false;
					break;
				}
			}
			
			if(isSuShu) {
				System.out.print(i + " ");
				count++;
				if(count % 8 == 0) {
					System.out.println();
				}
			}
		}
	}
}

*foreach

  • 语法结构:
for(元素类型 变量名: 数组或集合){
	 System.out.println(变量名)}
package javaCoreTest;

/*
 * JDK5之后推出了一个新特性:增强for循环,foreach
 * 
 * 有一个缺点:没有下标
 */
public class ForEachTest01 {

	public static void main(String [] args) {
		//int 类型数组
		int [] arr = {4, 8, 2};
		
		//普通for循环遍历数组
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
		
		//增强for循环(foreach)
		System.out.println("==========================");
		for(int i : arr) {
			System.out.println(i);
		}
	}
}
package javaCoreTest;

import java.util.ArrayList;
import java.util.List;

/*
 * 集合使用foreach
 */

public class ForEachTest02 {

	public static void main(String [] args) {
		//创建List集合
		List<String> list = new ArrayList<>();
		
		//添加元素
		list.add("hello");
		list.add("world");
		list.add("kitty");
		
		for(String s : list) {
			System.out.println(s);
		}
	}
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值