A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 寒星在天 中级黑马   /  2015-8-27 00:19  /  321 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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有点特殊)
       

2 个回复

倒序浏览
自己先顶一下
回复 使用道具 举报
这个是什么的左右?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马