zoukankan      html  css  js  c++  java
  • Java复习第二天

    Day04

    1、switch语句的格式?针对格式的解释?以及注意事项?

     (1)格式:

         switch(表达式) {

              case 值1:

                  语句体1;

                  break;

              case 值2:

                  语句体2;

                  break;

              ...

              default:

                  语句体n+1;

                  break;

         }

    (2)格式解释说明:

         switch:说明这是switch语句。

         表达式:可以是byte,short,int,char

              JDK5以后可以是枚举

              JDK7以后可以是字符串

         case:后面的值就是要和表达式进行比较的值

         break:表示程序到这里中断,跳出switch语句

         default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else。

    (3)注意事项:

       A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。

         B:default可以省略吗?

         可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

         特殊情况:case就可以把值固定。A,B,C,D

         C:break可以省略吗?

              可以省略,但是结果可能不是我们想要的。

              会出现一个现象:case穿透。

              最终我们建议不要省略

         D:default一定要在最后吗?

              不是,可以在任意位置。但是建议在最后。

         E:switch语句的结束条件

              a:遇到break就结束了

              b:执行到末尾就结束了

    ------------------------------------------------------------------

    2、看程序,分析下面程序的结果:

    int x = 2,y=3;

    switch(x)

    {

         default:

              y++;

         case 3:

              y++;

              break;

         case 4:

              y++;

    }

    System.out.println("y="+y);

    输出:y=5

    ------------------------------------------------------------------

    3、根据输入的值,判断是星期几。(分别用if语句和switch语句实现)

         输入:1   输出:星期1

    Switch 语句:

    public class Test02 {

         public static void main(String[] args) {

               Scanner scanner = new Scanner(System.in);

               System.out.print("请输入数值:");

               int week=scanner.nextInt();

               switch(week)

               {

                    case 1:

                         System.out.println("星期一");

                         break;

                    case 2:

                         System.out.println("星期二");

                         break;

                    case 3:

                         System.out.println("星期三");

                         break;

                    case 4:

                         System.out.println("星期四");

                         break;

                    case 5:

                         System.out.println("星期五");

                         break;

                    case 6:

                         System.out.println("星期六");

                         break;

                    case 7:

                         System.out.println("星期天");

                         break;

                    default:

                         System.out.println("数值错误!");

               }

         }

    }

    If语句:

    public class Test03 {

         public static void main(String[] args) {

               Scanner scanner = new Scanner(System.in);

               System.out.print("请输入数值:");

               int week=scanner.nextInt();

               if(week==1){

                    System.out.println("星期一");

               }else if(week==2){

                    System.out.println("星期二");

               }else if(week==3){

                    System.out.println("星期三");

               }else if(week==4){

                    System.out.println("星期四");

               }else if(week==5){

                    System.out.println("星期五");

               }else if(week==6){

                    System.out.println("星期六");

               }else if(week==7){

                    System.out.println("星期天");

               }else

                    System.out.println("数值错误!");

         }

    }

    ------------------------------------------------------------------

    4、for循环的格式? 用for循环完成案例。

    (1)for循环的格式

         A: for循环语句

              for(初始化语句;判断条件语句;控制条件语句){

                  循环体语句;

              }

    (2)注意事项

         a:判断条件语句无论简单还是复杂,结果是boolean类型

         b:循环体语句如果是一条,可以省略大括号,但是不建议

         c:有分号就没有左大括号,有左大括号就没有分号

    求和

         //求1-100之和。

         int sum = 0;

         for(int x=1; x<=100; x++) {

              sum +=x;

         }

         System.out.println("1-100之和是:"+sum);

    求偶数和

         //求出1-100之间偶数和

         int sum2 = 0;

         for(int x=1; x<=100; x++) {

               if(x%2 == 0) {

                    sum2 += x;

               }

         }

         System.out.println("1-100偶数之和是:"+sum2);

      求奇数和

         //求出1-100之间奇数和

         int sum3 = 0;

         for(int x=1; x<=100; x++) {

               if(x%2 != 0) {

                    sum3 += x;

               }

         }

         System.out.println("1-100奇数之和是:"+sum3);

    打印水仙花数

    public class Test06 {

         public static void main(String[] args) {

               //三位数告诉了我们范围,用for循环就可以搞定

               for(int x=100; x<1000; x++) {

                    //获取每一个三位数的个,十,百的数据

                    int ge = x%10;

                    int shi = x/10%10;

                    int bai = x/10/10%10;

                    //按照要求进行判断

                    if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

                         //如果满足要求就计数。

                         System.out.println(x);

                    }

               }

         }

    }

    统计水仙花数

    public class Test05 {

         public static void main(String[] args) {

               //定义统计变量,初始化值是0

               int count = 0;

               //三位数告诉了我们范围,用for循环就可以搞定

               for(int x=100; x<1000; x++) {

                    //获取每一个三位数的个,十,百的数据

                    int ge = x%10;

                    int shi = x/10%10;

                    int bai = x/10/10%10;

                    //按照要求进行判断

                    if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {

                         //如果满足要求就计数。

                         count++;

                    }

               }

               System.out.println("水仙花数共有"+count+"个");

         }

    }

    九九乘法表

    public class Test07 {

         public static void main(String[] args){

               for (int i=1;i<=9;i++) {  

                    for (int j=1;j<=i;j++){        

                         System.out.print(i+"*"+j+"="+(i*j)+" ");

                    }   

               System.out.print(" ");

               }

         }

    }

    ------------------------------------------------------------------

    5、while循环的格式?要能看懂执行流程

    (1) while循环的格式

    A:while循环

              while(判断条件语句) {

                   循环体语句;

              }

    B:do...while循环

              do {

                   循环体语句;

              }while(判断条件语句);

     (2)循环使用的注意事项(死循环)

         A:一定要注意修改控制条件,否则容易出现死循环。

         B:最简单的死循环格式

              a:while(true){...}

              b:for(;;){}

    用while循环完成如下案例

    求和

    public class Test08 {

         public static void main(String[] args){

               int sum2 = 0;

               int y=1;

               while(y<=100) {

                    sum2+=y;

                    y++;

               }

               System.out.println("sum2:"+sum2);

         }

    }

    纸张折叠成珠穆朗玛峰高度的次数

    public class Test09 {

         public static void main(String[] args) {

               int count = 0;

               //最高山峰是珠穆朗玛峰:8848m这是最终的厚度

               //我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度

               int end = 884800;

               int start = 1;

               while(start<end) {

                    //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++

                    count++;

                    //折叠一次有什么变化呢?就是厚度是以前的2倍。

                    start *= 2;

                    System.out.println("第"+count+"次厚度是"+start);

               }

               //输出统计变量。

               System.out.println("要叠"+count+"次");

         }

    }

    ------------------------------------------------------------------

    6、break,continue和return分别有什么用?

    (1)break:中断的意思

         A:用在循环和switch语句中,离开此应用场景无意义。

         B:作用

              a:跳出单层循环

              b:跳出多层循环,需要标签语句的配合

    (2)continue:继续

         A:用在循环中,离开此应用场景无意义。

         B:作用

              a:跳出单层循环的一次,可以继续下一次

    (3)return:返回

         A:用于结束方法的,后面还会在继续讲解和使用。

         B:一旦遇到return,程序就不会在继续往后执行。

    ------------------------------------------------------------------

    Day05

    1、函数的概念?函数的格式?格式的解释说明

    (1)概念:完成特定功能的代码块。

    (2)格式:

         修饰符 返回值类型 方法名(参数类型 参数1,参数类型 参数2...) {

              方法体语句;

              return 返回值;

         }

    (3)格式解释说明:

         修饰符:目前就用 public static。后面再详细讲解其他修饰符

         返回值类型:就是功能结果的数据类型

         方法名:就是起了一个名字,方便我们调用该方法。

         参数类型:就是参数的数据类型

         参数名:就是变量

         参数分类:

              实参:实际参与运算的数据

              形参:方法上定义的,用于接收实际参数的变量

         方法体语句:就是完成功能的代码块

         return:结束方法

         返回值:就是功能的结果,由return带给调用者。

    ------------------------------------------------------------------

    2、函数的调用

         A:明确返回值类型的函数调用

         B:void类型的函数调用

    ------------------------------------------------------------------

    3、什么是函数重载?

    在同一个类中,方法名相同,参数列表不同的函数,与返回值无关。

    ------------------------------------------------------------------

    4、数组的概念?有什么特点?

         (1)数组:存储同一种数据类型的多个元素的容器。

         (2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。

                  编号的专业叫法:索引

    ------------------------------------------------------------------

    5、一维数组的定义格式?

         A:数据类型[] 数组名;

         B:数据类型 数组名[];

    ------------------------------------------------------------------

    6、数组操作的两个小问题

         A:动态初始化

              只给长度,系统给出默认值

              举例:int[] arr = new int[3];

         B:静态初始化

              给出值,系统决定长度

              举例:int[] arr = new int[]{1,2,3};

              简化版:int[] arr = {1,2,3};

    ------------------------------------------------------------------

    7、数组常见操作:

    数组遍历(依次输出数组中的每一个元素)

         //方式1:

         public static void printArray(int[] arr) {

               for(int x=0; x<arr.length; x++) {

                    System.out.println(arr[x]);

               }

         }

         //方式2:

         public static void printArray2(int[] arr) {

               System.out.print("[");

               for(int x=0; x<arr.length; x++) {

                    if(x == arr.length-1) {

                         System.out.println(arr[x]+"]");

                    }else {

                         System.out.println(arr[x]+", ");

                    }

               }

         }

    数组获取最值(获取数组中的最大值最小值)

         //最大值:

         public static int getMax(int[] arr) {

               int max = arr[0];

               for(int x=1; x<arr.length; x++) {

                    if(arr[x] > max) {

                         max = arr[x];

                    }

               }

               return max;

         }

         //最小值:

         public static int getMin(int[] arr) {

               int min = arr[0];

               for(int x=1; x<arr.length; x++) {

                    if(arr[x] < min) {

                         min = arr[x];

                    }

               }

               return min;

         }

    数组元素逆序 (就是把元素对调)

         //方式1:

         public static void reverse(int[] arr) {

               for(int x=0; x<arr.length/2; x++) {

                    int temp = arr[x];

                    arr[x] = arr[arr.length-1-x];

                    arr[arr.length-1-x] = temp;

               }

         }

         //方式2:

         public static void reverse2(int[] arr) {

               for(int start=0,end=arr.length-1; start<=end; start++,end--) {

                    int temp = arr[start];

                    arr[start] = arr[end];

                    arr[end] = temp;

               }

         }

    数组元素查找(查找指定元素第一次在数组中出现的索引)

         //方式1:

         public static int getIndex(int[] arr,int value) {

               for(int x=0; x<arr.length; x++) {

                    if(arr[x] == value) {

                         return x;

                    }

               }

               return -1;

         }

         //方式2:

         public static int getIndex2(int[] arr,int value) {

               int index = -1;

               for(int x=0; x<arr.length; x++) {

                    if(arr[x] == value) {

                         index = x;

                         break;

                    }

               }

               return index;

         }

  • 相关阅读:
    SpringCloud
    SpringCloud
    一个表的字段更新另一个表的字段
    MYSQL5.7 sql_mode=only_full_group_by
    CentOS7 防火墙操作
    log4j DailyRollingFileAppender, DatePattern 配置
    Fiddler抓包-会话框添加查看get与post请求类型选项
    Fiddler抓包-工具介绍(request和response)
    Fiddler抓包-get与post请求
    Fiddler抓包-只抓APP的请求
  • 原文地址:https://www.cnblogs.com/hehaiyang/p/4655137.html
Copyright © 2011-2022 走看看