1:数组的概念?有什么特点?
用来存储多个同一类型的数据的容器
数组可以存储基本和引用数据类型,数组的索引从0开始数组最大索引为arr.lngth-1
2:一维数组的定义格式?
动态格式:数据类型[] 数组名=new 数据类型[数组长度]
静态格式:数据类型[] 数组名=new 数据类型[]{元素1,元素2……}
数据类型[] 数组名={元素1,元素2……}
3:数组操作的两个小问题
数组的索引从0到arr.length-1,超过这个范围会报IndexOutOfBoundsException
变量必须指向一个有效的数组对象,如果变量的值为null则会报NullPointException
4:数组常见操作:
数组遍历(依次输出数组中的每一个元素)
数组获取最值(获取数组中的最大值最小值)
数组元素逆序 (就是把元素对调)
数组查表法(根据键盘录入索引,查找对应星期)
数组元素查找(查找指定元素第一次在数组中出现的索引)
class BianLi {
public static void main(String[] args) {
int[] arr={11,22,33,44,55};
for (int i=0;i<arr.length ;i++ ) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
}
class GetMax {
public static void main(String[] args) {
int [] arr={11,22,33,5,44,55};
System.out.println(getMax(arr));
System.out.println(getMin(arr));
}
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;
}
public static int getMin(int[] arr){
int min=arr[0];
for (int i=1; i<arr.length;i++ ) {
if (arr[i]<min) {
min=arr[i];
}
}
return min;
}
}
class Reverse {
public static void main(String[] args) {
int[] arr={1,5,2,48,56};
print(arr);
reverse(arr);
}
public static void print(int[] arr){
for (int i=0;i<arr.length ;i++ ) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void reverse(int[] arr){
for (int i=0; i<arr.length/2; i++) {
int temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
print(arr);
}
}
import java.util.Scanner;
class Check {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入数字:");
int x=sc.nextInt();
char ch=check(x);
System.out.println("今天是星期"+ch);
}
public static char check(int x){
char[] ch={' ','一','二','三','四','五','六','日'};
return ch[x];
}
}
class Index {
public static void main(String[] args) {
int[] arr={11,22,33,55,66,};
int key=3;
System.out.println(index(arr,key));
}
public static int index(int[] arr ,int key){
for (int i=0;i<arr.length ;i++ ) {
if (arr[i]==key) {
return i;
}
}
return -1;
}
}
5:二维数组定义格式?
看懂针对每种格式的内存图解?
数据类型[][] 数组名=new 数据类型[数组长度][数组长度]
数据类型[][] 数组名 =new 数据类型[数组长度][]
数据类型[][] 数组名 ={{元素0,元素1,.....},{元素a,元素b.....}....}
6:案例
A:二维数组遍历
B:公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
class Sum {
public static void main(String[] args) {
int[][] arr={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
System.out.println(sum(arr));
}
public static int sum(int[][] arr){
int sum=0;
for (int i=0;i<arr.length ;i++ ) {
for (int j=0;j<arr[i].length; j++) {
sum+=arr[i][j];
}
}
return sum;
}
}
7:参数传递问题
java中只有值传递引用传递的是地址值
基本类型形参的改变不影响实参,引用类型形参的改变直接影响实参(String有点特殊)
|
|