Java第五讲
数组:以int类型数组为例
1、创建数组
int[] ints = new int[5];
变种:int ints[] = new int[5]; int [] ints = new int[5]; int []ints = new int[5];
int[] ints = {1,2,3,4,5};
2、新建数组的每一个元素都有默认值。
默认值:
byte short int long:0
double float :0.0
char:空格(" ")值不确定
boolean:false
String:null
3、使用数组中的元素:数组[下标];
获取元素的值:
类型 对象名称 = 数组[下标];
例:int num = ints[0];
为元素进行赋值:
数组[下标] = 值;
例:ints[1] = 12;
注意:在数组中,元素的位置以下标形式标记。
注意:数组元素下标从0开始。
4、ints num = ints.length 表示获取当前数组的长度。数组名称.length
*****注意:对数组进行操作时,一定注意数组长度,不能越界,否则将出现数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException
*****注意:数组一旦被创建,则长度不可改变。
*****注意:对数组整体的赋值必须在当前被数组创建时进行,创建后不可以赋值
5、多维数组:二维或者更多维度的数组,称之为多维数组。
定义方式:以int数组为例
二维:int[][] ints = new int[5][3]; 相当于:int[][] ints = {{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}};
三维:int[][][] ints = new int[5][3][2]; 等价于: int[][][] ints = {{{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0}},{{0,0},{0,0},{0,0}}};
四维:int[][][][] ints = new int[][][][];
注意:数组中元素之间以逗号(",")间隔。
三元运算符:
变量a 关系运算符 变量b ? 值1:值2 例:x > y ? a : b;
问号左边为表达式,如果该表达式结果为ture,则值为a,反之则为b。
案例一
package com.xiaojun;
/**
* 数组:一组数字,一组相同内容,就是数组。
*/
public class TestArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建数组
//类型 [] 数组名称 = 新建(创建) 类型[数组的长度];
int[] ints = new int[5];
//为元素赋值
ints[0] = 10;
ints[1] = 11;
ints[2] = 12;
ints[3] = 13;
ints[4] = 14;
//使用数组的元素
int num = ints[4];
System.out.println(num);
}
}
案例二
package com.xiaojun;
/**
* 数组:一组数字,一组相同内容,就是数组。
*/
public class TestArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建数组
//类型 [] 数组名称 = 新建(创建) 类型[数组的长度];
int[] ints = new int[100];
//为元素赋值
// ints[0] = 10;
// ints[1] = 11;
// ints[2] = 12;
// ints[3] = 13;
// ints[4] = 14;
int num1 = ints.length;
for(int i=0; i< num1; i++) {
ints[i] = 10 +i;
}
//使用数组的元素
int num = ints[40];
System.out.println(num);
}
}
案例三
package com.wxkj.xiaojun;
public class TestArray02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建数组的第二种方式
int[] ints = {1,2,3,4,5,6,7,8,9};
int[] ints1;
System.out.println(ints[1]);
int a = 3;
int b = 20;
int x = (a > b) ? 10 : 20;
System.out.println(x);
// if(3 > 2) {
// System.out.println(10);
// }else {
// System.out.println(20);
// }
}
}
案例四
package com.wxkj.pan;
import java.util.Arrays;
import java.util.Scanner;
public class TestArray03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] scores = new int[5];
Scanner input = new Scanner(System.in);
for(int i=0; i<5; i++) {
System.out.print("请输入第"+(i+1)+"次成绩:");
if(input.hasNextInt()) {
scores[i] = input.nextInt();
}else {
System.out.println("请重新输入。");
input.next();
i--;
}
}
//排序操作,快速排序(快排)
//Arrays.sort(scores);
/**冒泡排序
* 在当前数组所有的元素中,寻找目前需要的元素,称为冒泡
* 此处排序的方法为:
* 1、取数组中的一个元素
* 2、使用当前元素与数组中的所有元素进行比较
* 3、如果当前元素比对比元素小,则不改变,反之将对比元素作为当前元素。
* 4、将原当前元素放在现当前元素的原本位置
* 5、循环执行以上四步。
* 6、以上5步排好一个元素,继续循环,将整个数组遍历一次。
*/
for(int j=0;j<5;j++) {
for(int i=0;i<5;i++) {
if(scores[j] > scores[i]) {
int y = scores[i];
scores[i] = scores[j];
scores[j] = y;
}
//12 89 78 100 56
}
}
//遍历数组
int num = scores.length;
System.out.print("您输入的成绩为:\t");
for(int i=(num-1); i>=0; i--) {
System.out.print(scores[i]+"\t");
}
}
}
单词
- public公开
- static静态
- void 无返回
- main 主要的
- class 类
- system系统
- out 输出
- print 打印
- double 双精度
- string 字符串
- character 字符
- integer 整数
- scanner 扫描仪
- boolean 布尔
- true 真
- false 假
- if 如果
- else 否则
- case 案例
- default 默认
- switch 开关
- break 中断
- match 匹配
- while 循环
- do 执行
- index 索引
- bug 错误
- debug 调试
- equal 相等
- step 步骤
- error 错误
- birthday 生日
- continue 继续
- return 返回
- array 数组
- length 长度
- exception 异常
- sort 排序
- type 类型
- reference 引用
- info 信息
简答题
- 什么是二重循环?
- 二重循环的执行顺序是什么?
- 在循环中continue和break区别?