Day03

循环结构

  • 1.for循环:

    A.在一些特定的情况下,需要重复执行一段代码时,需要使用到for循环。

    ​ 1+2+3+4+5+.......+100

public class ForDemo { 
    public static void main(String[] args) { 
        int result = 0; 
        for(int i =1;i<=100;i++){ 
            result+=i; 
        }
    System.out.println("result="+result); 
    }
}
  • B.for循环的格式:

    for(初始化表达式①;条件表达式②;修改表达式的值③){    
        循环体④; 
    }

    执行顺序①②④③②④③

  • C.for循环的嵌套:

    public class ForDemo01 { 
        public static void main(String[] args) { 
            // 倒三角形 
            for(int i=1;i<=5;i++){ 
                for(int j=5;j>=i;j--){ 
                   System.out.print("*"); 
                } 
            System.out.println(); 
            }     
            // 正三角形 
            for(int i=1;i<=5;i++){ 
                for(int j=1;j<=i;j++){ 
                    System.out.print("*"); 
                }
                System.out.println(); 
            } 
        } 
    }
    • D:break和continue的区别:

      • continue:用在循环结构中,用于结束当前本次循环,继续下一次循环。

      • break:用于跳出当前循环。

  • 2.while循环

    while(){ 
        循环体; 
    }
    • 猜数字

      import java.util.Scanner; 
      public class WhileDemo { 
          @SuppressWarnings("resource") 
          public static void main(String[] args) { 
              int num =(int)(Math.random()*200); 
              System.out.println("num="+num); 
              Scanner sc =new Scanner(System.in); 
              int guess =sc.nextInt(); 
              while(guess!=num){ 
                  if(guess>num){ 
                      System.out.println("猜大了"); 
                      break; 
                  }else if(guess<num){ 
                      System.out.println("猜小了"); 
                      break; 
                  } 
              System.out.println("再猜:"); 
              guess =sc.nextInt(); 
              } 
              if(guess==num){ 
                  System.out.println("猜对了"); 
              }else{ 
                  System.out.println("下次继续吧"); 
              } 
          } 
      }

       

  • do-while循环

    do{ 
        循环体; 
    }while(布尔表达式);
    • 猜数字

      import java.util.Scanner; 
      public class DoWhileDemo { 
          public static void main(String[] args) { 
              int num =(int)(Math.random()*200); 
              System.out.println("num="+num); 
              Scanner sc =new Scanner(System.in); 
              int guess =sc.nextInt(); 
              do{ 
                  if(guess>num){ 
                      System.out.println("猜大了"); 
                  }else if(guess<num){ 
                      System.out.println("猜小了"); 
                  } 
                   System.out.println("再猜:"); 
                  guess =sc.nextInt(); 
              }while(guess!=num); 
              if(guess==num){ 
                  System.out.println("猜对了"); 
              }else{ 
                  System.out.println("下次继续吧"); 
              } 
          } 
      }

       

数组:

  • 1.概念:是一种引用数据类型,相同数据元素的集合。

  • 2.定义:int[ ] arr = new int arr[ ];

  • 3.初始化:

    • 动态初始化:初始化的时候指定了数组的长度,初始化的值是由系统来分配决定的。

    • 静态初始化:初始化的时候指定了元素的初始值,长度由系统决定的。

  • 4.java内存分配

    • 栈:存储的是局部变量,局部变量定义在方法中的变量,使用完毕后立即被销毁,进行回收。

    • 堆:存储的是new出来的对象,每一个对象都是有地址的,每一个对象都有默认值;使用完毕后,会让垃圾回收器空闲的时候进行回收。

    • 方法区:OOP

    • 本地方法区:和系统有关系

    • 寄存区:给cpu使用

    利用数组计算身份证的最后一位:

    /** 
    * 
    * 利用身份证号的前17位计算第十八位数字 
    */ 
    import java.util.Scanner; ​ 
    public class CardDemo { 
        public static void main(String[] args) { 
            int[] card = new int[17]; 
            int[] data = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; 
            char code[] = {'1','0','x','9','8','7','6','5','4','3','2'}; 
            Scanner sc =new Scanner(System.in); 
            int sum=0; 
            for(int i = 0;i<17;i++){ 
                System.out.println("请依次输入前17位:"); 
                card[i]=sc.nextInt(); 
            } 
            for(int i = 0;i<17;i++){ 
                sum += card[i] * data[i]; 
            } 
            System.out.println("你的身份证最后一位是"+code[sum%11]); 
        } 
    } ​

     

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值