Java基础补习---Day 04

一、循环结构

  1. for循环

  1. while循环

  1. do while 循环

二、for循环

  1. 格式

格式 :
for(初始化语句; 判断条件语句; 控制语句){
    循环体;
}
  1. 执行流程

1:执行初始化语句 ,只执行一次
2:执行判断语句,结果为true 或false
    如果是false 循环结束
    如果是true 执行循环体
3:执行控制语句
4:再执行判断语句 回到步骤2执行

案例演示:

public static void main(String[] args) {
//        //打印1~10
//        for (int i=1;i<11;i++){
//            System.out.println(i);
//        }
//        //打印10~1
//        for (int i=10;i>0;i--){
//            System.out.println(i);
//        }
//        //打印1~10的和
//        int sum = 0;
//        for (int i=1;i<11;i++){
//            sum += i;
//            System.out.println(i);
//        }
//        System.out.println("1~10的和为"+sum);

        //打印1~100的偶数和、奇数和、所以有和
        int sum = 0;
        int sum1 = 0;
        for (int i=1;i<101;i++){
            sum1 += i;
            if (i%2==0){
                sum += i;
            }
//            System.out.println(i);
        }
        System.out.println("1~100的偶数和为"+sum);
        System.out.println("1~100的奇数和为"+(sum1-sum));
        System.out.println("1~100的和为"+sum1);
    }

二、while循环

  1. 格式

while循环语句格式:
初始化语句;
while(判断条件语句) {
    循环体语句;
    控制条件语句;
}
  1. for和while的区别: for 循环的循环变量在循环外不能访问,while 循环的循环变量在循环外能访问

案例演示:

//while版本的1~100的和
public class Demo07 {
    public static void main(String[] args) {
        int i = 1;
        int sum = 0;
        while(i<101){
            sum += i;
            i++;
        }
        System.out.println("1~100的和:"+sum);
    }
}

三、do while循环

  1. 格式

初始化语句
do{
    循环体;
    控制条件变量
}while(条件判断语句);

注意:do while 循环至少会执行一次循环体,它是先执行循环体再判断

案例演示

//do while 打印1~10
public class Demo09 {
    public static void main(String[] args) {
        int i = 1;
        int sum = 0;
        do{
            System.out.println(i);
            sum += i;
            i++;
        }
        while (i<11);
        System.out.println(sum);
    }
}

四、嵌套循环

案例演示

//打印九九乘法表
public class Demo10 {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            for (int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
}

五、控制跳转

  1. break :中断

  1. continue :停止当前循环 继续下一次循环

public static void main(String[] args) {
        for (int i = 1;i<=10;i++){
            if(i == 3){
//                break;
                System.out.println("i:"+i);
                continue;
            //    break;

            }
           System.out.println(i);
        }

    }

六、方法

具有一定功能的代码块 {} ,在其他语言里被称为函数(C语言)

定义格式:
访问修饰符   返回值类型  方法名(参数类型1   参数名1,参数类型2   参数名2...){
    方法体
    return 值;
 }

访问修饰符:目前用 public static

返回值类型:基本数据类型 +String +void

方法名,参数名1 :自定义的 符合标识符命名规则【1:数字 字母 下划线 $ 组成 2:不能以数字开头 3:不能是java中的关键字或保留字【goto const】 】

参数类型1: 基本数据类型 +String

return:当有返回值类型的时候写

方法体:拥有功能的代码块

方法定义位置:类里 方法外

方法的调用

1:直接调用 :方法名()

2:输出调用 : 在输出语句里调用

3:赋值调用 :

注意:方法不调用不执行

案例演示:

    // 程序入口
    public static void main(String[] args) {
//        getSum();
        // 输出调用
        System.out.println(getSum());
        // 赋值调用
        int c = getSum();
        System.out.println(c/2);
    }
    // 方法定义位置    返回值类型  int   不要参数
    public  static int getSum(){
        int a = 10;
        int b = 20;
        int sum = a+b;
        return sum;
    }
}

课后练习:

//for循环打印1000以内的水仙花数
public static void main(String[] args) {
        int count = 0;
        for (int i=100;i<1000;i++){
            if (i==((i/100)%10)*((i/100)%10)*((i/100)%10)+((i/10)%10)*((i/10)%10)*((i/10)%10)+(i%10)*(i%10)*(i%10)){
                count++;
                System.out.println("1000以内的水仙花数有:"+i);
            }
        }
        System.out.println("1000以内的水仙花数有"+count+"个");
    }
//while版本的水仙花数
    public static void main(String[] args) {
        int i = 100;
        while (i<1000){
            int a = i/100%10;
            int b = i/10%10;
            int c = i%10;
            if (i==a*a*a+b*b*b+c*c*c){
                System.out.println(i+"是水仙花数");
            }
            i++;
        }
    }
//打印直角三角形12345
public class Test01 {
    public static void main(String[] args) {
        for (int i=1;i<6;i++){
            for (int j =1;j<=i;j++){
                System.out.print(j);
            }
            System.out.println();
        }
    }
}
//打印等腰三角形
public class Test02 {
    public static void main(String[] args) {
        for (int i=1;i<5;i++){
            for (int k=1;k<=4-i;k++) {
                System.out.print(" ");
            }
            for (int j =1; j <= 2*i-1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
//打印菱形
public class Test03 {
    public static void main(String[] args) {
        for (int i=1;i<5;i++){
            for (int k=4-i;k>0;k--) {
                System.out.print(" ");
            }
            for (int j=1; j<=2*i-1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        for (int i=3;i>0;i--){
            for (int k=4-i;k>0;k--) {
                System.out.print(" ");
            }
            for (int j=1; j<=2*i-1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
//计算2+22+222+2222+22222
public class Test04 {
    public static void main(String[] args) {
        int sum = 0;
        int a = 0;
        for (int i=1;i<6;i++){
            a = (a*10)+2;
            sum += a;
        }
        System.out.println("2+22+222+2222+22222="+sum);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值