zoukankan      html  css  js  c++  java
  • 10、数组、二维数组

    一、回顾
        1、数组中只能存取相同数据类型的数据
        2、数组长度一旦确定,是不能修改的
        3、数组中的下标是从0开始的,逐一递增。逐一数组下标越界的问题
        4、数组的使用:
          先创建,再赋值
          变创建边赋值
        5、数组只是起到了我们程序员好起名字,并且使用方便的功能,存储空间和单个的变量一样

    二、java程序中的错误

        1、编译时错误:
          语法错误,编译无法通过,会直接报错。可以直接看到的ide集成开发环境会直接给出提示信息
        2、运行时错误:
          符合语法规范,编译可以通过,因为逻辑错误,运行时直接报错

    三、一维数组、二维数组、、、地理信息系统可能需要用到三维数组

      1、例子:有5个班,每班5名学生,以班为单位统计所有学生的成绩

    //一维数组
    //    int[] array1 = {100,98,66,95,91};
    //    int[] array2 = {100,98,66,95,91};
    //    int[] array3 = {100,98,66,95,91};
    //    int[] array4 = {100,98,66,95,91};
    //    int[] array5 = {100,98,66,95,91};
    
        //二维数组
    int[][] array = {{100,98,66,95,91},{100,98,66,95,91},{100,98,66,95,91},{100,98,66,95,91},{100,98,66,95,91}};

      2、基本语法

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

      3、使用:

          声明
          分配内存空间
          赋值
          使用

    //    声明
    //    int[][] array;
    ////    分配内存空间:第一个方框是必须写的(是第一个维度),第二个可以不写(属于第二个维度);另外,第二个可以不同
    ////    array = new int[5][];
    //    array = new int[3][5];
    ////    赋值
    //    array[0][0] = 90;
    //    
    ////    使用
    //    System.out.println(array[0][0]);
        //边创建边赋值
    //    int[][] array = {{1,2},{2,5}};
    //    for (int i = 0; i < array.length; i++) {
    //        for (int j = 0; j < array[i].length; j++) {
    //            System.out.print(array[i][j]+"	");
    //        }
    //        System.out.println();
    //    }

        4、java的内存模型

          栈内存:
          堆内存:
            基本数据类型:8种:boolean byte char short int ling float double(存放在占内存中);
            引用数据类型:存放在栈内存和堆内存中;通过new关键字创建的变量;
          int num =10;
          String str = new String("java");//等号左边的都是在栈内存中的;堆内存中存放java;占内存中的值是堆内存中的地址
          String str2 = "java";//在栈和字符串常量池中
          综上:能用基本数据类型解决的,用基本数据类型解决,否则是String,最后是对象
            1、java中的变量都是保存在栈内存中
            2、如果是基本数据类型,栈内存中保存的就是数值;
          如果是引用数据类型,栈内存存储的是堆内存中的地址,通过内存地址引用堆内存中的数据

        5、上一个例子的完整代码

    /**
         * 例子:有5个班,每班3名学生,以班为单位统计所有学生的成绩
         */
        int[][] array = new int[5][3];
        int sum = 0;
        Scanner s = new Scanner(System.in);
        for(int i=0;i<array.length;i++) {
            sum = 0;//清空很重要
            System.out.println("请输入第"+(i+1)+"个班的学生成绩:");
            for (int j = 0; j < array[i].length; j++) {
                System.out.println("请输入第"+(j+1)+"个同学的成绩:");
                array[i][j] = s.nextInt();
                sum += array[i][j];
            }
            System.out.println("第"+(i+1)+"班的总成绩是:"+sum);
        }
  • 相关阅读:
    Redis持久化
    Redis数据淘汰策略
    Redis事务
    Redis发布订阅
    WPS生成多级编号
    VMware 网络介绍
    3、Linux目录操作
    2、Shell命令学习笔记
    2、线程的状态和调度学习笔记
    1、Linux安装前的准备
  • 原文地址:https://www.cnblogs.com/dhrwawa/p/11215365.html
Copyright © 2011-2022 走看看