数组说之前再补充一点其他内容!
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());