import java.util.Arrays;
public class Learn02{
    public static void main(String[] args){
        System.out.println("-------------------------------");
        System.out.println("------------Leearn02-----------");
        System.out.println("-------------------------------");
        ///1-一维数组的声明两种声明方法
            //声明第一种方式:数组元素类型[] 数组名;
            //声明第二种方式:数组元素类型 数组名[]; 注:c语言的方法
        int[] scoreArray = null;
        //boolean[] checkArray;
        //int scores[];
            //注:良好的开发习惯,引用类型的声明初始化不赋值要赋null。
        System.out.println(scoreArray);
        System.out.println("-------------------------------");
        
        ///2-初始化数组的三种方法
            //无论哪种方法,初始化数组都需要确定数组的长度
            //初始化之后,如果没有赋值,则全部为null
        //scoreArray = new int[3];
        scoreArray = new int[]{1223,1232,2123};
        //scoreArray = {123,321,123};  
        for(int i : scoreArray)
            System.out.println(i); //遍历了一遍
        System.out.println("-------------------------------");
        
        ///3-访问修改数组数据-略
        
        ///4-length,(属性)返回数组长度
        System.out.println(scoreArray.length);//输出:3
        
        ///5-数组之间的特殊赋值(隐藏的指针地址问题),数组是引用类型
        int[] Array1 = {111,222,333,444};
        int[] Array2 = null;
        Array2 = Array1;//需要注意的是,这里赋值是直接把Array1的内存地址直接复制给了Array2
                        //这样便导致了如果你修改Array2的数据,则Array1的数据也会改变。
                        //类似于c语言的指针。
        System.out.println("Array2[0]" + Array2[0]);//输出:Array2[0]111
        Array1[0]=000;
        System.out.println("Array2[0]" + Array2[0]);//输出:Array2[0]0
        System.out.println("-------------------------------");
        
        ///6-Arrays.fill(...[],...),使用Arrays类中的fill填充数组
        Arrays.fill(Array1,66);
        for(int iTemp : Array2)
            System.out.print(iTemp + " " );//输出:66 66 66 66
        System.out.println("\n-------------------------------");
        
        ///7-二维数组的声明方式
        int[][] arr;//int arr[][];
        
        ///8-二维数组的初始化
        arr=new int[3][5];
        System.out.println(arr[1][2]);//new出来的默认值是0        
    }
}

【java】学习路线3-二维数组声明与初始化、Arrays类的更多相关文章

  1. java怎么定义一个二维数组?

    java中使用 [][] 来定义二维数组 定义数组时也可同时初始化下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][ ...

  2. c# 第17节 二维数组声明、使用

    本节内容: 1:为什么要有二维数组 2:二维数据 3:实例二维数组声明 4:二维数组的使用 1:为什么要有二维数组 2:二维数据声明 3:实例二维数组声明 4:二维数组的使用 foreach遍历 5: ...

  3. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  4. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  5. java 数组基础学习(一维二维数组)

    1.一维数组 1>静态初始化:数据类型[ ] 变量名 = {元素} 例:int[ ] arr = {1,2} 动态初始化:数据类型[ ] 变量名 = new数据类型[数据长度] 例:int[ ] ...

  6. C++和Java多维数组声明和初始化时的区别与常见问题

    //C++只有在用{}进行初始化的时候才可以仅仅指定列数而不指定行数,因为可以通过直接//初始化时的元素个数自动计算出行数.而仅声明/创建数组而不初始化时,Cpp要求必须写明//行数和列数才能够创建数 ...

  7. Java数组排序基础算法,二维数组,排序时间计算,随机数产生

    import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...

  8. Java打印M图形(二维数组)——(九)

    对于平面图形输出集合图形与数字组合的,用二维数组.先在Excel表格中分析一下,找到简单的规律.二维数组的行数为行高,列数为最后一个数大小. 对于减小再增大再减小再增大的,可以用一个boolean标志 ...

  9. C语言学习笔记 (005) - 二维数组作为函数参数传递剖析

    前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {...} / ...

  10. java学习-zxing生成二维码矩阵的简单例子

    这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件,也可使用maven添加依赖 <dependency> <gr ...

随机推荐

  1. Java 多线程共享模型之管程(下)

    共享模型之管程 wait.notify wait.notify 原理 Owner 线程发现条件不满足,调用 wait 方法,即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 W ...

  2. tableSizeFor

    HashMap tableSizeFor() /** Returns a power of two size for the given target capacity. 1.(不考虑大于最大容量的情 ...

  3. 谷歌浏览器控制台 f12怎么设置成中文/英文 切换方法,一定要看到最后!!!

    1.打开谷歌浏览器 2.右键选择检查或 f12 打开控制台 3.点击控制台右边的设置 4.中切英 选择偏好设置->语言=>English 5.英切中 6.选择中文 7.重启 8.切换中文成 ...

  4. TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘

    正文 研发测试场景下,一般追求的是一键快速起环境,横向动态复制,一人一套,随起随用,用完即走.作为使用方,其不用关心实际的物理资源是怎样的,环境起在哪里,只要声明自己的使用需求即可.但作为方案构建者以 ...

  5. 实战回忆录:从Webshell开始突破边界

    正文 某授权单位的一次渗透,由于使用的php框架,某cms的上传,从实现webshell开始. 详情 添加监听,生成木马文件更改应用程序名称隐藏上线. 修改休眠时间为10秒 查看主机名whoami 抓 ...

  6. jieba分词原理解析:用户词典如何优先于系统词典

    目标 查看jieba分词组件源码,分析源码各个模块的功能,找到分词模块,实现能自定义分词字典,且优先级大于系统自带的字典等级,以医疗词语邻域词语为例. jieba分词地址:github地址:https ...

  7. python小题目练习(六)

    需求:编写一个猜数字的小游戏,随机生成1到10(包含1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字跟基准数相同,则闯关成功,否则重新输入,如果玩家输入的是-1,则表示退出 ...

  8. Jenkins安装插件出现Signature verification failed in update site 'default' (show details)

    这样启动 nohup java -Dhudson.model.DownloadService.noSignatureCheck=true -jar jenkins.war > jenkins.l ...

  9. NC50038 kotori和糖果

    NC50038 kotori和糖果 题目 题目描述 kotori共有 \(n\) 块糖果,每块糖果的初始状态是分散的,她想把这些糖果聚在一堆.但她每次只能把两堆糖果合并成一堆. 已知把两堆数量为 \( ...

  10. CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构

    很高兴你能在浮躁的年代里还有兴趣阅读源代码,CesiumJS 至今已有十年以上,代码量也积累了三十多万行(未压缩状态). 我也很荣幸自己的文章能被读者看到,如果对你有帮助.有启发,点个赞就是对我最大的 ...