zoukankan      html  css  js  c++  java
  • Java流程控制语句和数组整理

    7.1选择结构switch

    switch (表达式){

        case 目标值1:

            执行语句1

            break;

        case 目标值2:

            执行语句2

            break;

        ......

        case 目标值n:

            执行语句n

            break;

        default:

            执行语句n+1

            break;

    }

    在switch语句中的表达式只能是byte、short、char、int、Sting、enum枚举类型的值

    7.2选择结构switch练习

    在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。接下来通过一个案例来实现上面描述的情况,如下所示。SwitchDemo02.java

    public class SwitchDemo02 {

        public static void main(String[] args) {

            int week = 2;

            switch (week) {

            case 1:

            case 2:

            case 3:

            case 4:

            case 5:

                // 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同

                System.out.println("今天是工作日");

                break;

            case 6:

            case 7:

                // 当 week 满足值 6、7 中任意一个时,处理方式相同

                System.out.println("今天是休息日");

                break;

            }

        }

    }

    运行结果:

     

         数组

    8.1数组的定义

    定义格式:

    数据类型[] 数组名 = new 数据类型[元素个数或数组长度];

     1   public class ArrayDemo01 {

     2       public static void main(String[] args) {

     3           int[] arr; // 声明变量

     4           arr = new int[3]; // 创建数组对象

     5           System.out.println("arr[0]=" + arr[0]); // 访问数组中的第一个元素

     6           System.out.println("arr[1]=" + arr[1]); // 访问数组中的第二个元素

     7           System.out.println("arr[2]=" + arr[2]); // 访问数组中的第三个元素

     8           System.out.println("数组的长度是:" + arr.length); // 打印数组长度

     9       }

     10  }

    运行结果:

     

     

    1、类型[] 数组名 = new 类型[]{元素,元素,……};

    2、类型[] 数组名 = {元素,元素,元素,……};

     1   public class ArrayDemo03 {

     2       public static void main(String[] args) {

     3           int[] arr ={ 1, 2, 3, 4 }; // 静态初始化

     4           // 下面的代码是依次访问数组中的元素

     5           System.out.println("arr[0] = " + arr[0]);

     6           System.out.println("arr[1] = " + arr[1]);

     7           System.out.println("arr[2] = " + arr[2]);

     8           System.out.println("arr[3] = " + arr[3]);

     9       }

     10  }

    运行结果:

     

    8.2数组遍历

    public class ArrayDemo04 {

        public static void main(String[] args) {

            int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组

            // 使用for循环遍历数组的元素

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

                System.out.println(arr[i]); // 通过索引访问元素

            }

        }

    }

    运行结果:

     

    8.3数组的常见问题

    8.3.1数组最值

    public class ArrayDemo05 {

        public static void main(String[] args) {

            int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组

    int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值

            // 下面通过一个for循环遍历数组中的元素

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

                if (arr[x] > max) { // 比较 arr[x]的值是否大于max

                    max = arr[x]; // 条件成立,将arr[x]的值赋给max

                }

            }

            System.out.println("max=" + max); // 打印最大值

        }

    }

    运行结果:

     

    8.3.2数组异常

    8.3.2.1数组越界异常

     1   public class ArrayDemo06 {

     2       public static void main(String[] args) {

     3           int[] arr = new int[4]; // 定义一个长度为4的数组

     4           System.out.println("arr[0]=" + arr[4]); // 通过角标4访问数组元素

     5       }

     6   }

    运行结果:

     

    上图运行结果中所提示的错误信息是数组越界异常ArrayIndexOutOfBoundsException,出现这个异常的原因是数组的长度为4,其索引范围为0~3,而上述代码中的第4行代码使用索引4来访问元素时超出了数组的索引范围。

    所谓异常指程序中出现的错误,它会报告出错的异常类型、出错的行号以及出错的原因,关于异常在后面的章节会有详细地讲解。

    8.2.2.2空指针异常

    在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常

     1   public class ArrayDemo07 {

     2       public static void main(String[] args) {

     3           int[] arr = new int[3]; // 定义一个长度为3的数组

     4           arr[0] = 5; // 为数组的第一个元素赋值

     5           System.out.println("arr[0]=" + arr[0]); // 访问数组的元素

     6           arr = null; // 将变量arr置为null

     7           System.out.println("arr[0]=" + arr[0]); // 访问数组的元素

     8       }

     9   }

    运行结果:

     

    8.3二维数组

    8.3.1二维数组常用定义格式

    int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

    上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},接下来通过一个图来表示这种情况,如图2-54所示。

    问二维数组中第一个元素数组的第二个元素

    arr[0][1];

    8.3.2二维数组元素的访问

    class ArrayDemo08 {

        public static void main(String[] args){

       

            //定义二维数组的方式

            int[][] arr = new int[3][4];

       

            System.out.println( arr );

            System.out.println("二维数组的长度: " + arr.length);

            //获取二维数组的3个元素

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

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

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

           

            System.out.println("打印第一个一维数组的元素值");

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

            System.out.println( arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素

            System.out.println( arr[0][2] );

            System.out.println( arr[0][3] );

           

            System.out.println("打印第二个一维数组的元素值");

            System.out.println( arr[1][0] );

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

            System.out.println( arr[1][2] );

            System.out.println( arr[1][3] );

           

            System.out.println("打印第三个一维数组的元素值");

            System.out.println( arr[2][0] );

            System.out.println( arr[2][1] );

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

            System.out.println( arr[2][3] );

        }

    }

    运行结果:

     

    8.3.3二维数组元素遍历与数组元素累加和

    class ArrayDemo09 {

        public static void main(String[] args){

            //一维数组的求累加和并遍历

            int[] arr = {10,20,30,40,50};

            int sum = 0;

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

                  //System.out.println(arr[i]);

                sum += arr[i];

            }

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

            System.out.println("---------------------");

           

    //二维数组的求累加和并遍历

            int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} };

            int sum2 = 0;

            for (int i=0; i<arr2.length; i++) {

                for (int j=0; j<arr2[i].length; j++) {

                     //System.out.println(arr2[i][j])

                    sum2 += arr2[i][j];

                }

            }

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

        }

    }

    运行结果:

     

  • 相关阅读:
    indexOf--之美
    uniapp_切换主题
    ueditor调用其中的附件上传功能
    php7 编译安装 apache
    快速排序单循环
    插入排序
    走进svg
    phpstorm内网远程debug
    sass&compass&grunt
    centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10426103.html
Copyright © 2011-2022 走看看