欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(边学边练)JAVA基础学习第四天

程序员文章站 2022-06-11 21:59:06
...

第四天笔记

1.for循环

做一些有规律的连续的操作

for(初始条件;终止条件;步长){

	//循环体

}

注意:循环层数不能超过三次

一个数的因子数不会超过他的一半

练习题

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
        要点:找到i与j i与k的关系式 通过自定义i范围来更好的找到关系
 
for (int i = -4 ; i<=4;i++){
            for (int j = 1;j<=Math.abs(i);j++){
                System.out.print(" ");
            }
            for (int k = 1 ;k<=9-2*Math.abs(i);k++){
                System.out.print("*");
            }
            System.out.println();
        }

while和for是否可以互相转换?

import java.util.Scanner;

/**
 * while和for是否可以互相转换???
 * 小数点后保留两位???
 * 杨辉三角
 */
public class day4 {
    /*
     if  switch
     循环:有规律的连续的操作
     1,for(初始条件;终止条件;步长){
            循环体;
        }
       注意:循环层数不能超过三层(效率极低)
       查询循环次数
     */

    public static void main(String[] args){
         /*一维
         int sum = 1;
         for(int i=1;i<=10;i+=1){
             sum *= i;
         }
         System.out.println(sum);*/

         /*
         ******
         ******
         ******
         ******
         ******
         ******
          */
         /*for(int i=0;i<6;i++){
//             System.out.println("******");
             for(int j=0;j<6;j++){
                 System.out.print("*");
             }
             System.out.println();
         }*/

         /*for(int i=1;i<=9;i++){
             for(int j=1;j<=i;j++){
                 System.out.print(j+"*"+i+"="+(i*j)+"  ");
             }
             System.out.println();

         }*/
//        for(int i=1;i<=5;i++){
//            for(int j=1;j<=i;j++){
//                System.out.print("*");

//            }
//            System.out.println();
//
//        }
        /*

             *
            **
           ***
          ****
         *****
         */
        /*for(int i=1;i<=5;i++){
            for(int k=1;k<=5-i;k++){
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }*/
       /*
               *
              ***
             *****
            *******
           *********
        */
        /*for(int i=1;i<=5;i++){
            for(int k=1;k<=5-i;k++){
                System.out.print(" ");
            }
            for(int j=1;j<=2*i-1;j++){
                System.out.print("*");
            }
            System.out.println();
        }*/
        /*
             *                         *
            ***                       * *
           *****                     *   *
          *******                   *     *
         *********                 *       *
          *******                   *     *
           *****                     *   *
            ***                       * *
             *                         *
         */
        /*for(int i=-4 ;i<=4 ;i++){
            for(int j=1 ;j<=Math.abs(i) ;j++){
                System.out.print(" ");
            }
            for(int k=1 ;k<=9-2*Math.abs(i) ;k++){
                if(k==1||k==9-2*Math.abs(i)){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }*/
      //有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,
        // 以后每天卖剩下的一半多两个,问几天以后能卖完
//        int count = 1020;
//        int days = 0;
//        for(count=1020;count>0;count-=count/2+2){
//            days++;
//        }
//        System.out.println(days);

        //猴子吃桃问题: 猴子第一天摘下若干个桃子,
        // 当即吃了一半,还不过瘾,又多吃了一个,
        // 第二天早上又将剩下的桃子吃了一半,
        // 又多吃一个,以后每天都吃了前一天剩下的一半零一个。
        // 到第10天早上想再吃时,见只剩下一个桃子。
        // 求第一天共摘了多少个?
        /*int count = 1;
        for(int days=9;days>0;days--){
            count = 2*(count+1);
        }
        System.out.println(count);*/
        /*int c = 0;
        for(int i=3;i<=1000;i++){
            int sum = 0;
            for(int j=1;j<=i/2;j++){
                c++;
               if(i%j==0){
                   sum+=j;
               }
            }
            if(sum==i){
                System.out.println(i);
            }
        }
        System.out.println(c);*/
        /*Scanner sc = new Scanner(System.in);
        int total_score = 0;
        boolean flag = false;
        for(int i=0;i<5;i++){
            int score = sc.nextInt();
            if(score>=0){
                total_score += score;
            }else{
                flag = true;
                System.out.println("成绩非法");
                break;
            }
        }
        if(!flag){
            System.out.println(total_score/5);
        }*/
        /*int count = 0;
        Scanner sc = new Scanner(System.in);
        for(int i=0;i<5;i++){
            int score = sc.nextInt();
            if(score<80){
                continue;
            }
            count++;
        }
        System.out.println(count);*/
        /*
        百钱买百鸡,有100元钱,要去买100只鸡,公鸡5元一只,母鸡3元一只,
        小鸡1元3只,问公,母,小鸡各买多少只。
         */
        /*for(int i=0;i<20;i++){
            for(int j=0;j<33;j++){
                for(int k=0;k<100;k+=3){
                    if(i+j+k==100&&i*5+j*3+k/3==100){
                        System.out.println(i+"  "+j+"   "+k);
                    }
                }
            }
        }*/
//  求300-400之间的素数

        /*for(int i=300;i<=400;i++){
            boolean flag = false;
            for(int j=2;j<=i/2;j++){
                if(i%j==0){
                    flag = true;
                    break;
                }
            }
            if(!flag){
                System.out.println(i+"是素数");
            }
        }*/
        /*on:
        for(int i=0;i<10;i++){
            for(int j=0;j<10;j++){
                System.out.println(j);
                if(j==5){
                    break on;
                }
            }
        }*/
         /*for(int i=0;i<4;i++){
             for (int j=0;j<3-i;j++){
                 System.out.print(" ");
             }
             for (int k=0;k<6;k++){
                 System.out.print("*");
             }
             System.out.println();
         }*/
        //计算2/1+3/2+4/3+…+(n+1)/n,写出算法的程序
        /*double sum = 0;
        for(int i=1;i<=20;i++){
            sum+= ((double)(i+1))/i;
        }
        System.out.println(sum);*/

        /*
        初始条件;
        while(终止条件){
            循环体;
            步长;
         }
         */
         /*long p = 1300000000L;
         int year = 2000;
         while(p<1500000000){
             p = (long)(p*(1+0.07));
             year++;
         }
        System.out.println(year);*/
      /* int sum = 1;
       int d = 1;
       for(int i=1;i<50;i++){
           d = d+i;
           System.out.println(d);
           sum+=d;
       }

        System.out.println(sum);*/

      /*int a1 = 1;
      int a2 = 1;
      int a3 = 0;
      for(int i=3;i<=12;i++){
          a3 = a1+a2;
          a1 = a2;
          a2 = a3;
      }
      System.out.println(a3);*/
    /* for(int i=100;i<=999;i++){
         int a = i%10;
         int b = (i/10)%10;
         int c = i/100;
         if(i==(int)(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))){
             System.out.println(i);
         }
     }*/

//    Scanner sc = new Scanner(System.in);
//    int a = sc.nextInt();
        /*Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        while (num > 0) {
            int j = num % 10;
            System.out.print(j);
            num /= 10;
        }
*/
        /*Scanner sc = new Scanner(System.in);
        String s = sc.next();
        StringBuffer sb = new StringBuffer(s);
        int a = Integer.parseInt(sb.reverse().toString());
        System.out.println(a);*/
    }
}

2.数组

相同类型元素的集合

int[] 变量名 = {数据}

int 变量名[] = {数据}

int 变量名[] =new int[size]

int[] 变量名 =new int[size]

int age1[] = {1,2,3,4,5,6,7};
//遍历
for(int a:age){
    System.out.print(a + " ");
}
//排序
Arrays.sort(age);
//八大排序算法:冒泡排序,选择排序,插入排序,快速排序,基数排序,归并排序,希尔排序,堆排序(大根堆小跟堆)
相关标签: java