*语法结构:
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);
}
}
}