基本语法:
for (初始化;条件判断;迭代){
//代码块
}
关于for的几点声明 1 首先最先执行初始化步骤,可以声明一种类型,可以初始化一个或多个循环控制变量,也可以是空语句 2 然后检查布尔表达式 如果T 则执行 如果F则寻循环终止,开始执行循环体后面的语句 3 执行一次循环之后更新控制循环变量(迭代因子控制循环变量的增减) 4再次检测布尔表达式的值,循环执行上面的过程
//1 遍历循环1-100
public static void main(String[] args) {
//初始化;条件判断;迭代
for (int i =1 ; i<=100;i++){
System.out.println(i);
}
//快捷键 100.for
}
}
//2 计算0--100之间所有奇数和所有偶数的
public static void main(String[] args) {
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if ((i % 2) != 0) {//如果i mod 2 的结果不是0 则i为奇数
oddSum+=I; // oddSum = oddSum+I;//下面同理
}else {
evenSum+=i;
}
}System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
}
//3 输出0--1000之间能被5整除的数,并且每行输出三个数
public static void main(String[] args) {
//println 输出完会换行
//print 输出完不会换行
for (int i = 0; i < 1000; i++) {
if (i%5==0){//筛选被5整除的数
System.out.print(i+"t");
}
if (i%(5*3)==0){//判断换行时机 每输出三数换行可以这样处理
System.out.print("n");
}
}
}
//4 打印 九九乘法表
public static void main(String[] args) {
for (int j = 1; j<=9; j++) {//外层循环j控制层数 总共有九行
for (int i = 1; i <= j; i++) {//内层循环i控制 每一行的打印个数
//条件i<=j 控制每一行循环j次 第n行输入n个等式
System.out.print(i+"*"+j+"="+(j*i)+"t");
//调整样式
}
System.out.println();//每行输出完换行
}
}
//5 增强for循环
public static void main(String[] args) {
int[] numbers = {1,2,3,4,5};//定义了一个数组
for (int i = 0; i < 5; i++) {//正常的遍历
System.out.println(numbers[i]);
}
System.out.println("=========");
//遍历数组的元素 foreach 遍历
for (int x:numbers) {
//增强for循环,多用于数组和集合
System.out.println(x);
}
}
//6 打印三角形
//三角形的 每一行由 空格+星星(左)+星星(右)三个部分组成
public static void main(String[] args) {
//两种理解 1 图形角度 总的三角形是 三个部分拼接的
// 2 代码角度 每一行分别打印空格和星星(空格用来占位 星星部分 分两次打印)
//外层for i 控制每一行 ,每一行打印完之后输出换行 进入下一行的循环
//内层for j 控制每一列(本质上也是控制每一行) ,每一列的循环分三部分打印出空格和*
for (int i = 0; i <= 5; i++) {
for (int j = 5; j>i; j--) {//先打印空格占位
System.out.print(" ");
//打印第一行第一部分 空格
//分析:空格数量从多到少 所以让j从5开始慢慢减少
//这里循环多少次(即(j-i)表示将打印多少个空格)
//且在一定相对程度上停止(本题中在i=j时停止 即每行打印(j-i)个空格)
}
//在上面打印一系列空格 下面和上面相反即可
for (int j = 1; j<=i ; j++) {//再补全下面的星号
System.out.print("*");
//与上面相反 星星数量从少到多 所以让j从1开始输出星星
//这里循环多少次(即(j=i)表示此次循环将打印多少个星星)
}
for (int j = 1; j < i ; j++) {//最后从第5列开始 补上右边的三角部分
System.out.print("*");
//与第2步一样 每次循环打印(j=i-1)个星星
}
System.out.println();//内层循环的三次打印完成之后换行
}
}



