51,407
社区成员
发帖
与我相关
我的任务
分享应用场景:重复性的工作
for(初始化变量;判断条件;更新变量){
...代码块/循环体...
}
1.初始化变量 2.判断条件 -- 必须是boolean值 true -- 执行代码块 -> 更新变量 -> 重复第2个步骤 false - 跳出整个循环语句
1.打印5遍"努力学习,天天向上"
public class 文件名{
public static void main(String[] args){
for(int i = 1;i<=5;i++){
System.out.println("努力学习,天天向上");
}
}
}
2.打印0~10的数字
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<=10;i++){
System.out.println(i);
}
}
}
3.打印0~10之内的偶数
public class 文件名{
public static void main(String[] args){
//解决方案1:
for(int i = 0;i<=10;i++){
if(i % 2 ==0 ){
System.out.println(i);
}
}
/**解决方案2:
for(int i = 0;i<=10;i+=2){
System.out.println(i);
}
*/
}
}
4.打印10~0的数字
public class 文件名{
public static void main(String[] args){
for(int i = 10;i>=0;i--){
System.out.println(i);
}
}
}
5.打印10~0之内的奇数
public class 文件名{
public static void main(String[] args){
//解决方案1:
for(int i = 10;i>=0;i--){
if(i % 2 != 0){
System.out.println(i);
}
}
/**解决方案2:
for(int i = 9;i>=0;i-=2){
System.out.println(i);
}
*/
}
}
初始变量不一定从1开始
更新变量不一定++,也可以--,还可以+=、-=
public class 文件名{
public static void main(String[] args){
for(;;){
System.out.println("死循环");
}
}
}
public class 文件名{
public static void main(String[] args){
for(int i = 10;i>0;i++){//考虑int的取值范围:达到最大值再++就变成负数了
System.out.println("伪死循环");
}
}
}
public class 文件名{
public static void main(String[] args){
int i = 0;
for(;i<5;){
System.out.println(i);
//i++;和++i;没有区别(因为分号为执行语句的结束,不管先加还是后加都给我加)
//i++;
++i;
}
System.out.println("i = " + i);
}
}
1.循环录入5次int类型的数字,输出总和
import java.util.Scanner;
public class 文件名{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int sum = 0;
for(int i = 1;i<=5;i++){
System.out.println("请输入第" + i + "个数字:");
int num = scan.nextInt();
sum += num;//累加总和
}
System.out.println("总和为:" + sum);
}
}
2.循环录入5门课成绩,计算平均分
import java.util.Scanner;
public class 文件名{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
double sum = 0;
for(int i = 1;i<=5;i++){
System.out.println("请输入第" + i + "门成绩:");
double score = scan.nextDouble();
sum += score;//累加总和
}
System.out.println("平均分为:" + (sum/5));
}
}
3.循环录入5次int类型的数字,输出最大值
import java.util.Scanner;
public class 文件名{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
//假设输入的第一个数字为最大值
System.out.println("请输入第1个数字:");
int max = scan.nextInt();
for(int i = 2;i<=5;i++){
System.out.println("请输入第" + i + "个数字:");
int num = scan.nextInt();
if(max < num){
max = num;
}
}
System.out.println("最大值为:" + max);
}
}
需求1:打印下列图形3*4矩形
****
****
****
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<3;i++){//控制行数
//方案一:System.out.println("****");//输出+换行
//方案二:
for(int j = 0;j<4;j++){//控制列数
System.out.print("*");
}
System.out.println();//换行
}
}
}
需求2:打印下列图形靠左直角三角形
* i = 0
** i = 1
*** i = 2
**** i = 3
***** i = 4
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<5;i++){
for(int j = 0;j<=i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
需求3:打印下列图形倒靠左直角三角形
*****
****
***
**
*
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<5;i++){//i = 0
for(int j = 0;j<5-i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
需求4:打印下列图形倒靠右直角三角形
*****
****
***
**
*
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<5;i++){
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<5-i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
需求5:打印下列图形三角形
*
***
*****
*******
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<4;i++){
for(int k = 0;k<3-i;k++){
System.out.print(" ");
}
for(int j = 0;j<i*2+1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
需求6:打印下列图形倒三角形
*******
*****
***
*
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<4;i++){
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<7-i*2;j++){
System.out.print("*");
}
System.out.println();
}
}
}
需求7:打印下列图形空心三角形
*
* *
* *
*******
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<4;i++){
for(int k = 0;k<3-i;k++){
System.out.print(" ");
}
for(int j = 0;j<i*2+1;j++){
//第一行 或 最后一行 或 每行的第一列 或 每行的最后一列
if(i==0 || i==3 || j==0 || j==i*2){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
需求8:打印下列图形倒空心三角形
*******
* *
* *
*
public class 文件名{
public static void main(String[] args){
for(int i = 0;i<4;i++){
for(int k = 0;k<i;k++){
System.out.print(" ");
}
for(int j = 0;j<7-i*2;j++){
//第一行 或 最后一行 或 每行的第一列 或 每行的最后一列
if(i==0 || i==3 || j==0 || j==7-i*2-1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
需求9:打印九九乘法表
public class 文件名{
public static void main(String[] args){
/**方式1:
for(int i = 1;i<=9;i++){
for(int j = 1;j<=i;j++){
System.out.print(j + "x" + i + "=" + (i*j) + "\t");
}
System.out.println();
}
*/
方式2:
for(int i = 1;i<=9;i++){
for(int k = 1;k<i;k++){
System.out.print("\t");
}
for(int j = i;j<=9;j++){
System.out.print(i + "x" + j + "=" + (i*j) + "\t");
}
System.out.println();
}
}
}