语法:
for (表达式1; 表达式2; 表达式3;) {
循环体
}
表达式1:初始化语句
表达式2:条件表达式(执行循环体的条件)
表达式3:迭代语句(使循环趋于结束)
循环体(希望多次执行的程序)
第一次循环之后,迭代语句是每次循环的开始语句
练习题:
/*
打印一个20*8的矩形
*/
class LoopTest6 {
public static void main(String[] args) {
//可以称i为循环因子
for (int i = 0; i < 20; i++) {
//循环体
System.out.println("********");
}
}
}
/*
打印一个n*8的矩形
*/
class LoopTest7 {
public static void main(String[] args) {
//从命令行获取n
int n = Integer.parseInt(args[0]);
//for循环
for (int i = 0; i < n; i++) {
//循环体
System.out.println("********");
}
}
}
/*
n!利用for循环打印n!
*/
class LoopTest8 {
public static void main(String[] args) {
//从命令行获取n
int n = Integer.parseInt(args[0]);
//声明result变量,保存积
int result = 1;
//for循环
for (int i = 1; i <= n; i++) {
//循环体
result *= i;
}
//输出结果
System.out.println(n + "!=" + result);
}
}
/*
打印输出200以内能被7整除的数,并统计
*/
class LoopTest9 {
public static void main(String[] args) {
/*
打印输出200以内能被7整除的数,并统计个数
*/
//声明计数变量count初始化值为0
int count = 0;
//设置循环
for (int i = 0; i < 200; i++) {
//循环输出是有条件的,判断i能否被7整除
if(i % 7 == 0) {
//循环体
System.out.println(i);
//计数器增加是有条件的
count++;
}
}
//统计计算结果一定要在循环结束后
System.out.println("count:" + count);
}
}
/*
计算300以内能被13整除的数的平均值 sum / 个数
*/
class LoopTest10{
public static void main(String[] args) {
//设置计数器,并初始化赋值
int count = 0;
//声明sum变量保存和,并初始化赋值
int sum = 0;
//声明avg变量保存平均值
double avg = 0;
for(int i = 0; i < 300; i++){
//设置条件判断能被13整除的数
if(i % 13 == 0) {
//System.out.println(i);
//将能被13整除的数进行累加
sum += i;
//计数
count++;
}
}
//求平均数
//avg = sum /count; //若不在这加double,sum和count没有升级,只是最后结果升级,因此avg得到的还是149.0
avg = sum /(double) count;
//System.out.println("sum:" + sum);
//System.out.println("count:" + count);
System.out.println("300以内能被13整除的数的平均值=" + avg);
}
}
/*
打印20*8矩形(利用嵌套循环)
*/
class LoopTest11{
public static void main(String[] args) {
//外循环控制行数(外循环循环体是一个内循环)
for (int j = 0; j < 20; j++) {
//内循环控制列数
for (int i = 0; i < 8; i++) {
//内循环循环体
System.out.print("*");
}
//内循环执行完成后进行换行
System.out.println();
}
}
}
/*
打印n*m矩形
*/
class LoopTest12{
public static void main(String[] args) {
//从命令行获取n,m
int n = Integer.parseInt(args[0]);
int m = Integer.parseInt(args[1]);
//外循环控制行数
for (int j = 0; j < n; j++) {
//外循环控制列数
for (int i = 0; i < m; i++) {
System.out.print("*");
}
System.out.println();
}
}
}
/**
打印n*m的空心矩形
*/
public class TestFor {
public static void main(String[] args) {
//从命令行获取n,m
int n = Integer.parseInt(args[0]);
int m = Integer.parseInt(args[1]);
for (int i = 0; i < n; i++) {
//将首尾行与其他行分开打印
if (i == 0 || i == n-1) {
//打印首尾行
for (int j = 0; j < m; j++){
System.out.print("*");
}
}else {
//打印其他行
for (int j = 0; j < m; j++) {
//其他行,控制首列和尾列的打印
if(j == 0 || j == m-1) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
System.out.println();
}
}
}