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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2015-5-12 22:18  /  6175 人查看  /  50 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 c523106 于 2015-5-13 00:57 编辑

笔记内容:数组
笔记来源:毕向东Java基础视频第4天
正文:
一、数组的定义:存储同一种数据类型的多个元素的容器。
二、定义格式:
1:数据类型[] 数组名;
2:数据类型 数组名[];(了解即可)
三、数组的初始化
1、数据类型[] 数组名=new 数据类型[数组长度];
            举例:int[] arr = new int[3];
2、数据类型[] 数组名=new 数据类型[]{存储元素};
            举例:int[] arr = new int[]{1,2,3};
            简写:int[] arr = {1,2,3};
四、数组的常见操作
1.遍历,获取最值,逆序,查找
  1. package cn;

  2. import java.util.Scanner;

  3. /**
  4. * 数组遍历(依次输出数组中的每一个元素)
  5. * 数组获取最值(获取数组中的最大值最小值)
  6. * 数组元素逆序 (就是把元素对调)
  7. * 数组查表法(根据键盘录入索引,查找对应星期)
  8. * 数组元素查找(查找指定元素第一次在数组中出现的索引)
  9. */
  10. public class ArrayTest {
  11.     public static void main(String[] args) {
  12.         int[] arr = { 1, 2, 3, 4, 3, 6, 3 };
  13.         // method1(arr);
  14.         // getMax(arr);
  15.         // reverseArr(arr);
  16. //        find();
  17.         findIndex(3 ,arr);
  18.     }

  19.     public static void findIndex(int num,int[] arr) {
  20.         // TODO Auto-generated method stub
  21.         int count=0;
  22.         for(int x:arr){
  23.             if(x==num){
  24.                 System.out.println(count);
  25.                 break;
  26.             }
  27.             count++;
  28.         }
  29.     }

  30.     public static void find() {
  31.         // TODO Auto-generated method stub
  32.         Scanner sc = new Scanner(System.in);
  33.         System.out.println("请输入索引:");
  34.         int index = sc.nextInt();
  35.         int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
  36.         System.out.println(arr[index - 1]);
  37.         sc.close();
  38.     }

  39.     public static void reverseArr(int[] arr) {
  40.         // TODO Auto-generated method stub
  41.         for (int x = 0; x < arr.length / 2; x++) {
  42.             int temp = arr[x];
  43.             arr[x] = arr[arr.length - x - 1];
  44.             arr[arr.length - x - 1] = temp;
  45.         }
  46.         method1(arr);
  47.     }

  48.     public static void getMax(int[] arr) {
  49.         // TODO Auto-generated method stub
  50.         int max = 0;
  51.         for (int x : arr) {
  52.             if (max < x) {
  53.                 max = x;
  54.             }
  55.         }
  56.         System.out.println(max);
  57.     }

  58.     public static void method1(int[] arr) {
  59.         // TODO Auto-generated method stub
  60.         for (int x : arr) {
  61.             System.out.println(x);
  62.         }
  63.         for (int x = 0; x < arr.length; x++) {
  64.             System.out.println(arr[x]);
  65.         }
  66.     }
  67. }
复制代码
2.二分查找
  1. package cn;
  2. /**
  3. * 二分查找。(针对有序数组,不要为了用二分查找,而排序)
  4. * @author cz
  5. *
  6. */
  7. public class Test6 {
  8.     public static void main(String[] args) {
  9.         int[] array={1,2,3,5,6,8,9};
  10.         System.out.println(binarySearch(6,array));
  11.     }

  12.     public static int binarySearch(int i, int[] array) {
  13.         // TODO Auto-generated method stub
  14.         int max=array.length-1;
  15.         int min=0;
  16.         int mid=(max+min)/2;
  17.         while(i!=array[mid]){
  18.             if(i>array[mid]){
  19.                 min=mid+1;
  20.             }else if(i<array[mid]){
  21.                 max=mid-1;
  22.             }
  23.             mid=(max+min)/2;
  24.             
  25.         }
  26.         return mid;
  27.     }
  28. }
复制代码
3、排序
  1. package cn;
  2. /**
  3. * 冒泡排序和选择排序
  4. * @author cz
  5. *
  6. */
  7. public class Test4 {
  8.     public static void main(String[] args) {
  9.         int[] array={1,32,23,11,67,9};
  10.         bubbleSort(array);
  11.         selectSort(array);
  12.         for(int x:array){
  13.             System.out.println(x);
  14.         }
  15.     }

  16.     public static void bubbleSort(int[] array) {
  17.         // TODO Auto-generated method stub
  18.         for(int x=0;x<array.length;x++){
  19.             for(int y=0;y<array.length-x-1;y++){
  20.                 if(array[y]>array[y+1]){
  21.                     int temp=array[y];
  22.                     array[y]=array[y+1];
  23.                     array[y+1]=temp;
  24.                 }
  25.             }
  26.         }
  27.         
  28.     }

  29.     public static void selectSort(int[] array) {
  30.         // TODO Auto-generated method stub
  31.         for(int x=0;x<array.length;x++){
  32.             for(int y=x+1;y<array.length;y++){
  33.                 if(array[x]>array[y]){
  34.                     int temp=array[x];
  35.                     array[x]=array[y];
  36.                     array[y]=temp;
  37.                 }
  38.             }
  39.         }
  40.     }
  41. }
复制代码
4、二维数组遍历
  1. package cn;

  2. /**
  3. * 二维数组的遍历。
  4. * 公司年销售额求和
  5. *        某公司按照季度和月份统计的数据如下:单位(万元)               
  6. *        第一季度:22,66,44
  7. *        第二季度:77,33,88
  8. *        第三季度:25,45,65
  9. *        第四季度:11,66,99
  10. *杨辉三角。
  11. *1
  12. *1 1
  13. *1 2 1
  14. *1 3 3 1
  15. *1 4 6 4 1
  16. *1 5 10105 1
  17. * @author cz
  18. *
  19. */
  20. public class Array2 {
  21.     public static void main(String[] args) {
  22.          int[][] arr = new int[][] { { 1, 3, 5 }, { 2, 4, 6 } };
  23.          getArray(arr);
  24.         // getArr2(6);
  25.     }

  26.     public static void getArray(int[][] arr) {
  27.         // TODO Auto-generated method stub
  28. //         int sum = 0;
  29.         for (int[] array : arr) {
  30.             for (int x : array) {
  31.                  System.out.println(x);
  32. //                sum += x;
  33.             }
  34.         }
  35.         for (int x = 0; x < arr.length; x++) {
  36.             for (int y = 0; y < arr[x].length; y++) {
  37.                 if (arr[x][y] == 0) {
  38.                     break;
  39.                 }
  40.                 System.out.print(arr[x][y] + "\t");
  41.             }
  42.             System.out.println();
  43.         }
  44.         // System.out.println(sum);
  45.     }

  46.     public static void getArr2(int n) {
  47.         int[][] arr = new int[n][n];
  48.         for (int x = 0; x < arr.length; x++) {
  49.             arr[x][0] = 1;
  50.             arr[x][x] = 1;
  51.         }

  52.         for (int x = 2; x < arr.length; x++) {
  53.             for (int y = 1; y <= x - 1; y++) {
  54.                 arr[x][y] = arr[x - 1][y] + arr[x - 1][y - 1];
  55.             }
  56.         }
  57.         getArray(arr);
  58.     }
  59. }

复制代码






点评

不要忘了写必要的注释噢,其他都非常棒!加油!  发表于 2015-5-13 11:55

评分

参与人数 1技术分 +3 黑马币 +6 收起 理由
温暖的小白 + 3 + 6 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马