• Practice| 流程控制


    若整数a除以非零整数b,商为整数,且余数为零,

    我们就说a能被b整除(或说b能整除a),a为被除数b为除数,即b|a("|"是整除符号),读作"b整除a"或"a能被b整除。

    如:6 | 3,  6能被3整除 或 3能整除6。

    if ( x = y ) {  //--->>报编译的错误

      } 

    /*
    从键盘分别输入年、月、日,判断这一天是当年的第几天 
       注:判断一年是否是闰年的标准:
           1)可以被4整除,但不可被100整除
           2)可以被400整除
    要求:使用switch case实现
    
    class YearMonthDay{
        public static void main(String[] args){
            java.util.Scanner input = new java.util.Scanner(System.in);
            System.out.print("年:");
            int year = input.nextInt();
            
            System.out.print("月:");
            int month = input.nextInt();
            
            System.out.print("日:");
            int day = input.nextInt();
            
            int days = day;
            //月份天数的累加
            switch (month){
                case 12:
                    days += 30; //前11个月份的天数
                case 11:
                    days += 31;//10月份;
                case 10:
                    days += 30;//9月份
                case 9:
                    days += 31;//8月份
                case 8:
                    days += 31;//7月份
                case 7:
                    days += 30;//6月份
                case 6:
                    days += 31;//5月份
                case 5:
                    days += 30;//4月份
                case 4:
                    days += 31;//3月份
                case 3:
                    days += 28;//2月份
                    if((year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
                        days++;
                    }
                case 2:
                    days += 31;//1月份
                
                
            }
            //if((month == 3) && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
                //    days++;  行不通的,如果是month=12,它是不会走这一步的。
                //}
            
            System.out.println(year +"年" + month + "月"+ day + "日" +"至今已过" + days);
            
            
        }
    }
    
    */
    
    
    /*
    2、从键盘分别输入年、月、日,判断这一天是当年的第几天 
       注:判断一年是否是闰年的标准:
           1)可以被4整除,但不可被100整除
           2)可以被400整除
    要求:使用循环实现
    
    class YearMonthDay{
        public static void main(String[] args){
            java.util.Scanner input = new java.util.Scanner(System.in);
            
            System.out.print("年:");
            int year = input.nextInt();
            System.out.print("月:");
            int month = input.nextInt();
            System.out.print("日:");
            int day = input.nextInt();
            int days = day; //累加零头的天数;
            for(int i = 1; i < month; i++){  //累加满月[2~month-1]的天数; 从2月开始计算;;;;
                if(i == 4 || i == 6 || i == 9 || i == 11){
                    days += 30; 
                    
                }else if(i == 2){   //注意注意注意,这里是else if,写成if就是它就会在i==4,6,9,11走else多加31天。
                    if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
                    days += 29;
                    }else{
                        days += 28; 
                    }
                }else{
                    days += 31; 
                }
            
            }System.out.println(year + "年" + month +"月" + "至今已过" + days);
        }
    }
    */
    
    
    
    /*
    从键盘分别输入年、月、日,判断这一天是当年的第几天 
       注:判断一年是否是闰年的标准:
           1)可以被4整除,但不可被100整除
           2)可以被400整除
    要求:使用循环 + 数组实现
    */
    class YearMonthDay{
        public static void main(String[] args){
            java.util.Scanner input = new java.util.Scanner(System.in);
            System.out.print("年:");
            int year = input.nextInt();
            System.out.print("月:");
            int month = input.nextInt();
            System.out.print("日:");
            int day = input.nextInt();
            
            int days = day;
            
            int[] dayOfMonth = {31,28,31,30,31,30,31,31,30,31,30,31};//静态初始化
            for(int i = 1;i < month;i++){
                days += dayOfMonth[i-1];
                if((i == 2) && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)){
                    days++;
                }
            }
            System.out.println(year +"年" + month + "月"+ day + "日" +"至今已过" + days + "天" + "仅剩" + (365-days) +"天");
            
        }
        
    }
    class Forloop{
        public static void main(String[] args){
            /*
            int sum = 0;
            for(int i = 1; i <=100; i++){
                sum += i;
            }
            System.out.println(sum);
            */
            
            /*
            int count = 0;
            for (int i = 1; i <= 100;i++){
                
                if(i % 3 == 0){
                    System.out.print(i + "	");
                    count++;
                    if(count % 5 == 0){
                        System.out.println("
    ");
                    }
                }
            }
            */
            //方法一
            /*
            for (int i = 1, mi = 0; i <= 1024; i*=2, mi++){
                System.out.println("2的" + mi +"方为:" + i);
            }
            2的0方为:1
            2的1方为:2
            2的2方为:4
            2的3方为:8
            2的4方为:16
            2的5方为:32
            2的6方为:64
            2的7方为:128
            2的8方为:256
            2的9方为:512
            2的10方为:1024
            */
            
            //方法二
            /*
            2的0方为:1
            2的1方为:2
            2的2方为:4
            2的3方为:8
            2的4方为:16
            2的5方为:32
            2的6方为:64
            2的7方为:128
            2的8方为:256
            2的9方为:512
            2的10方为:1024
            */
            
            int result = 0;
            for(int i = 0; result < 1024; i++){
                result = (int) Math.pow(2,i);
                System.out.println("2的" + i +"方为:" + result);
            } 
            
        }
    }

    九乘九乘法口诀

    九九乘法表
    1*1=1
    1*2=2   2*2=4
    1*3=3   2*3=6   3*3=9
    1*4=4   2*4=8   3*4=12  4*4=16
    1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
    1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
    1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
    1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
    1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81
    */
    class Test10{
        public static void main(String[] args){
            //外层循环,一共有9行
            for(int i = 1;i <= 9; i++){
                //换行之前,要打印该行的n个式子
                /*
                当i=1, j=1,执行内层循环体,跳出内层
                当i=2, j=1,2
                当i=3, j=1,2,3*3
                ...
                当i=9,j=1,2,3,4,5,6,7,8,9
                */
                for(int j = 1;j <= i;j++ ){
                    System.out.print(j + "*" + i + "=" + (j*i) + "	");
                }
                System.out.println();
            }
        
        }
    }

    打印 质数

    /*
    找出1-100之间所有的素数(质数)
    
    */
    class TestSu12{
        public static void main(String[] args){
            //方法1统计除i和它本身的约数的个数;
            /*
            for(int i = 2;i<=100; i++){
                int count = 0;
                for(int j = 2;j < i;j++){
                    if(i % j == 0){ //j是i的约数
                        count++; 
                    }
                }if(count == 0){
                    System.out.println(i);
                }
            }
            
            
            
            for(int i = 2;i <= 100;i++){
                
                //方法二找除了1和它本身以外约数的证据,找到就停止;定义一个boolean 
                boolean flag = true;
                for(int j = 2; j<i;j++){
                    if(i%j == 0){     
                        flag = false; //找到就终止这一层的循环;
                        break; 
                    }
                    
                }if(flag == true){  //注意注意这里是 == 
                    System.out.println(i);
                }
            }
            
            */
            
            for(int i = 2; i<=100;i++){
                
                int j;
                for(j = 2;j<i; j++){
                    if(i%j == 0){   //满足i%j == 0了,内循环从break除了 j<i
                        break;         //(i%j==0)没有满足过,内循环的结束  j==i
                    }
                }if(j == i){
                    System.out.println(i);
                }
            }
            
        }
    }

    打印菱形

    /*                                       i    j    k 
                    *                        1    4    1    
                *   *    *                   2    3    3    
            *   *   *    *    *              3    2    5    
        *   *   *   *    *    *    *         4    1    7    
    *   *   *   *   *    *    *    *    *    5    0    9    
        *   *   *   *    *    *    *         1    1    7    2*(4-1)+1
            *   *   *    *    *              2    2    5    2*(4-2)+1
                *   *    *                   3    3    3    2*(4-3)+1
                    *                        4    4    1    2*(4-4)+1
    
    
    //方法一先打印上半部分,再打印下半部分;
    class TestLingXing{
        public static void main(String[] args){
            //上半部分
            for(int i = 1; i <= 5;i++){
                for(int j = 1; j <= (5-i); j++){
                    System.out.print(" ");
                }for(int k = 1; k <= (2*i-1); k++){
                    System.out.print("*");
                }
                System.out.println();
            //下半部分    
            }for(int i = 1; i <= 4;i++){
                for(int j = 1;j <= i;j++){
                    System.out.print(" ");
                }for(int k = 1; k <= 2*(4-i)+1;k++){
                    System.out.print("*");
                }
                System.out.println();
                
            }
        }
    }
    */
    
    
    
    class TestLingXing{
        public static void main(String[] args){
            for(int i = 1; i <= 9;i++){
                //每一行:(1)打印空格(2)打印*(3)换行
                //(1)打印空格
                        //上半+下半部分 --> " "
                if(i <= 5){//i=1,j=1,2,3,4打印4次;      j <= (5-i)
                           //i=2,j=1,2,3打印3次;
                           //i=3,j=1,2打印2次;
                           //i=4,j=1打印1次;
                           //i=5,j=0不打印;
                    for(int j = 1; j <= (5-i); j++ ){
                        System.out.print(" ");
                    }  //括号括号括号
                }else{ //i = 6,j=1打印1次;               j <= i - 5
                       //i = 7,j=1,2打印2次;
                       //i = 8,j=1,2,3打印3次;
                       //i = 9,j=1,2,3,4打印4次;
                       
                    for(int j = 1; j <= i - 5;j++){
                        System.out.print(" ");
                    }                
                }
                //(2)打印*
                     //上半+下半部分 --> "*"    
                if(i <= 5){  //i=1,j=1打印1次;           j<=2*i-1
                             //i=2,j=1,2,3打印3次;
                             //i=3,j=1,2,3,4,5打印5次;
                             //i=4,j=1,2,3,4,5,6,7打印7次;
                             //i=5,j=1,2,3,4,5,6,7,8,9打印9次;
                    for(int j = 1;j <= (2*i-1); j++ ){
                        System.out.print("*");
                    }
                    
                }else{ //i=6,j=1,2,3,4,5,6,7打印7次;     j<=2*(9-i)+1
                       //i=7,j=1,2,3,4,5打印5次;
                       //i=8,j=1,2,3打印3次;
                       //i=9,j=1打印1次;
                       
                    for(int j = 1; j <= 2*(9-i)+1;j++){
                        System.out.print("*");
                    }
                }
                //(3)打印空格
                System.out.println();
            }
                
        }
    }
    
    
    
    /*
    
                    *                    
                *        *                
            *                *            
        *                        *        
    *                                *    
        *                        *        
            *                *            
                *        *                
                    *                    
    
    //内循环*只打印首尾,在上边图形的基础上做下判断即可。
    class TestLingXing{
        public static void main(String[] args){
            //上半部分
            for(int i = 1; i <= 5;i++){
                for(int j = 1; j <= (5-i); j++){
                    System.out.print(" ");
                }for(int k = 1; k <= (2*i-1); k++){
                    if(k == 1 || k == (2*i-1)){
                        System.out.print("*");
                    }else{
                        System.out.print(" ");
                    }
                }
                System.out.println();
            //下半部分    
            }for(int i = 1; i <= 4;i++){
                for(int j = 1;j <= i;j++){
                    System.out.print(" ");
                }for(int k = 1; k <= 2*(4-i)+1;k++){
                    if(k == 1 || k == 2*(4-i)+1){
                        System.out.print("*");
                    }else{
                        System.out.print(" ");
                    }
                }
                System.out.println();
                
            }
        }
    }
    */
  • 相关阅读:
    中间件
    进程的概念
    操作系统必会
    粘包现象及处理方式
    双下方法
    异常处理
    网络编程基础
    osi七层协议
    面向对象初识
    Django 中间件
  • 原文地址:https://www.cnblogs.com/shengyang17/p/9971081.html
Copyright © 2020-2023  润新知