博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10、数组、二维数组
阅读量:4615 次
发布时间:2019-06-09

本文共 1951 字,大约阅读时间需要 6 分钟。

一、回顾

    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]+"\t");// }// 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

 

转载于:https://www.cnblogs.com/dhrwawa/p/11215365.html

你可能感兴趣的文章
opencms忘记Admin用户登录密码解决方案
查看>>
forms组件
查看>>
C# 线程更新ui
查看>>
iOS 页面间几种传值方式(属性,代理,block,单例,通知)
查看>>
create-react-app 配置sass
查看>>
02_关系数据库
查看>>
Android和H5交互-基础篇
查看>>
基于微信硬件公众平台的智能控制开发流程
查看>>
uva-712 S-Trees
查看>>
参数缓存缓存符号
查看>>
MySql逻辑备份恢复方法简单总结
查看>>
Spring AOP 实现原理
查看>>
山东大学计算机方向自主招生
查看>>
[hdu5200]离线+标记
查看>>
Java JFrame图形界面 ----一个简单的窗口
查看>>
Win7 64位系统上Hadoop单机模式的安装及开发环境搭建
查看>>
C#中的委托
查看>>
如何渲染几万条数据并不卡住界面
查看>>
玩具装箱 BZOJ 1010
查看>>
iOS的主要框架介绍
查看>>