一、数组
数组的概念:可以存储多个同一种数据类型的元素集合.可以存储基本数据类型,也可以存储引用数据类型.
1.数组的格式:
数据类型[] 数组名 = new 数据类型[数组的长度];
1)动态初始化:
int[] array = new int[5];
2)静态初始化:
int[] array = new int[]{1,2,3,4,5};
2.栈与堆(方法区,本地方法区,寄存器,面向对象讲解)
1)栈:存储局部变量
2)堆:存储new出来的数组或对象
3.遍历数组
1)什么是遍历数组: 依次输出数组中的每个元素.
class Test1_Array {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
2)获取数组长度: 数组名.length
class Test1_Array {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
System.out.println(arr.length);
}
}
3)获取数组的最大下标值: 数组名.length-1
4.数组反转
1)什么是数组反转: 就是把数组中的元素对调.
class Test2_Array {
public static void main(String[] args) {
int[] arr = {-55,-22,-33,-11,-66,-44};
int max = getMax(arr);
System.out.println(max);
}
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 1;i < arr.length ;i++ ) {
if(arr[i] > max) {
max = arr[i];
}
}
return max;
}
}
5.获取最大或最小值
class Test{
public static void main(String[] args){
int[] Array123 = {11,55,999,888,123,654,753,951,456,958,745,11226,23,65,74,159};
int max = getMax(Array123);
System.out.println(max);
int min = getMin(Array123);
System.out.println(min);
}
//获取最大值
public static int getMax(int[] array){
int max = array[0];
for(int i = 1;i < array.length;i++){
if(array[i] > max){
max = array[i];
}
}
return max;
}
获取最小值
public static int getMin(int[] array){
int min = array[0];
for(int i = 1;i < array.length;i++){
if(array[i] < min){
min = array[i];
}
}
return min;
}
}
6.数组的查表法
例;输入相应的数字,输出对应的星期.
import java.util.Scanner;
class Test1 {
public static void main(String[] args) {
//输入相应的数字,输出对应的星期.
char[] array = {' ','一','二','三','四','五','六','日'};
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1~7的数字:");
int num = scanner.nextInt();
System.out.println(array[num]);
}
}
7.查找元素
查找指定元素第一次在数组中出现的索引.
class Test3 {
public static void main(String[] args) {
int[] nums = {11,22,33,44,55};
int index = print(nums,44);
System.out.println(index);
}
public static int print(int[] array,int value){
for (int i = 0;i < array.length ;i++ ){
if(array[i] == value){
return i;
}
}
return -1;
}
}
二、二维数组
1.二维数组的格式:
1)数据类型[][] 数组名 = new 数据类型[x][y];
2)数据类型[] 数组名[] = new 数据类型[x][y];
2.遍历二维数组
循环嵌套()for)
1)外层循环控制二维数组的长度,也就是一位数组的个数.
2)内层循环控制一位数组的长度.
class Test2 {
public static void main(String[] args) {
int[][] nums ={{1,2,3},{4,5,6}};
for(int i = 0;i < nums.length;i++){
for(int j = 0;j < nums[i].length;j++){
System.out.print(nums[i][j]);
}
}
}
}