java数组

数组说之前再补充一点其他内容!

java的jvm和jdk/jre

 

先说说JVM,JVM是Java Virtual Machine(Java虚拟机)的缩写,

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

 

再说说jdk/和jre。

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。

JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

 

jre:JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。

运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

 

简单的说:jdk是java的编译运行环境,jre是运行环境。

 

再说说运算符的优先级问题:

!>算数运算符>比较运算符>&&,||

()括号优先级别最高。

 

强制转换:

以double转int 为例子

double s = Math.PI ;//Math.PI就是圆周率

int a = (int)s;

System.out.println(a);// 输出为:3

 

循环:break和continue关键字的使用

break:使用在switch—case中或者是循环中,结束当前循环

continue:使用在循环中,结束当次循环。

break不再举例。举一个continue的例子

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

  if(i%4=0){

  continue;

  }

  System.out.println(i)//输出:1,2,3,5,6,7,9

}

意思很明显:当遇到可以整除4的数字结束当次循环,继续执行下一个数。

 

接下来是今天的正题:数组(不管是现在看还是以后学的时候,都要从这里开始注意上点心。我就是从这里开始迷糊的,好多东西都是现在从头来一遍才开始清晰。在这之前的都还算容易,这里开始有些难度了。)

数据是多个相同数据的组合,实现对这些数据的统一管理。

数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

数组属引用数据类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量。

 

如何定义一个数组   //参考String[]aregs

String[]name       int scores[]

 

初始化

第一种:静态初始化,初始化数组与给数组元素赋值同时进行

    eg: String []name = new String []{"xx","xx","xx"};

 

第二种:动态初始化,初始化数组与数组赋值分开进行

    eg: int score[] = new int[4];

 

如何调用相应的数组元素:通过数组元素的下角标的方式调用。下角标从0开始,到n-1结束。

n表示的是数组的长度。

        score [0] = 11;

        score [1] = 21;

        score [2] = 31;

        score [3] = 41;

 

数组的长度,通过数组的length属性;

System.out.println(name.length);//3

System.out.println(score.length);//4

 

如何遍历数组元素

for循环遍历

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

     System.out.println(name[i]);

  }

 

数组的长度一旦初始化,长度不可变,(元素个数)只能新建。

 

数组元素的默认初始化值:

数值型:byte,short,int,long  数组默认值为0

        float,double 数组默认值为0.0

 

字符型:char 为空格"_"

boolean 为false

 

字符串:String为null

 

引用类型变量构成的数组而言,默认初始化值为null。

 

增强型for循环

int []a = {12,13,14};

for(int b = a){

System.out.println(b); //输出结果:12,13,14

}

 

可以用作任何类型数组和集合。

 

多维数组的使用

 

二位数组

静态初始化:intp[][] socre2;

            socer2 = new int[][]{{1,2}{3,4,5}{6,7}}

 

            String [][]names;

动态初始化:names = new String[3][2] //动态初始化方式一

        //: 有三个数组,每个数组内有两个元素。

    names = new String[3][];

    names[0] = new String [3];

    names[1] = new String [2];

    names[2] = new String [1];

 

int []i[] = new int[3][2]; 引用具体元素

i[1][0]=90 //添加 第二组第一个元素 

 

二位数组的长度:System.out.println(i.length)//3

                System.out.println(i[0].length);//2 二位数组元素数组的长度

 

遍历二维数组:for(int m=0;m<i.length;m++){

                 for(int n=0;n<i[m].length;n++){

  System.out.print(i[m][n]+"");

  System.out.print();

  }

}

 

 

数组常见异常:

数组下标越界  

      int []i = new int[10];

      int [0]=90;.....//中间省略

      int [10] = 20;  //错误 只有十个元素,第一个元素的下标是0,最后一个下标是10;

 

空指针异常:

           boolean[]b = new boolean[3]; 

            b =null;

            System.out.println(b[0])

    //虽然我写的时候测试一下是空指针没错,但是我自己还是没搞懂当初写这个例子到底是什么意思、、、

    最后一个例子:

            String []str = new String[4];

    System.out.println(str[3].toString());

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值