黑马程序员技术交流社区

标题: 【阳哥笔记】极速秒杀Java基础之笔记系列—Day05(基础语法)! [打印本页]

作者: 阳哥忠粉    时间: 2015-6-3 14:20
标题: 【阳哥笔记】极速秒杀Java基础之笔记系列—Day05(基础语法)!




笔记总链接:http://bbs.itheima.com/thread-200600-1-1.html

一、Java语言基础组成-Part 4

1.9 数组

   1.9.4 数组操作常见操作

    对数组操作最基本的动作就是存和取。
    核心思想:就是对角标的操作。

    示例:遍历并打印数组元素
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.             int[] arr = {89,34,270,17};

  4.             for(int x = 0; x < arr.length; x += 1){
  5.                   System.out.println("arr[" + x + "] = " + arr[x] + ";");
  6.             }
  7.       }
  8. }
复制代码
   运行结果:


    常见操作一:获取最值(最大值,最小值)

    思路:
    1、需要进行比较,并定义变量记录住每次比较后较大的值。
    2、对数组中的元素进行遍历取出,和变量中记录的元素进行比较。
         如果遍历到的元素大于变量中记录的元素,就用变量该记录住大的值。
    3、遍历结果,该变量记录就是最大值。

    两个明确:
    明确一:结果。是数组中的元素:int类型。
    明确二:未知内容。数组。

    示例1:通过定义变量记录较大的值的方式实现。
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.              int[] arr= {89,34,-270,17,3,100};
  4.              int max = getMax(arr);
  5.              System.out.println("max = " + max);
  6.        }

  7.        public static int getMax(int[] arr){
  8.              int maxElement = arr[0];
  9.              for(int x = 1; x < arr.length; x++){
  10.                    if(arr[x] > maxElement)
  11.                         maxElement = arr[x];
  12.             }
  13.             return maxElement;
  14.       }
  15. }
复制代码
    运行结果:



    示例2:通过定义变量记录较大的值的索引方式实现。
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.             int[] arr= {89,34,-270,17,3,100};
  4.             int max = getMax(arr);
  5.             System.out.println("max = " + max);
  6.       }

  7.        public static int getMax(int[] arr){
  8.              int maxIndex = 0;
  9.              for(int x = 1; x < arr.length; x++){
  10.                    if(arr[x] > arr[maxIndex])
  11.                         maxIndex = x;
  12.             }
  13.             return arr[maxIndex];
  14.       }
  15. }   
复制代码
    运行结果:



    常见操作二:排序(选择排序,冒泡排序)

    选择排序

    思路:
    1、首先拿数组第一个元素依次与除其自身外的其他每个元素顺序比较,如果第一个元素大于剩下的某个元素,就互换内容。
    2、经过第一轮比较之后,此时,第一个元素就是数组中最小的元素。然后再拿第二个元素与除第一个元素和其自身的元素进行比较,如果第二个元素大于剩下的某个元素,就互换内容。此时,第二个元素就是数组中倒数第二小的元素。

    3、依次类推,直到最后一个元素。

  代码:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.             int[] arr= {89,34,-270,17,3,100};
  4.             System.out.print("排序前数组:" );
  5.             printArray(arr);
  6.             selectSort(arr);
  7.             System.out.print("排序后数组:" );
  8.             printArray(arr);
  9.       }

  10.        public static void selectSort(int[] arr){
  11.              for(int x = 0; x < arr.length - 1; x++){
  12.                    for(int y = x + 1; y < arr.length; y++){
  13.                          if(arr[x] > arr[y]){
  14.                               int temp = arr[x];
  15.                               arr[x] = arr[y];
  16.                               arr[y] = temp;
  17.                         }
  18.                   }
  19.             }
  20.       }
  21.       
  22.        public static void printArray(int[] arr){
  23.             System.out.print("[" );
  24.             for(int x = 0; x < arr.length; x++){
  25.                    if(x != arr.length - 1)
  26.                         System.out.print(arr[x] + "," );
  27.                    else
  28.                         System.out.println(arr[x] + "]" );
  29.             }
  30.       }
  31. }   
复制代码
   运行结果:


    P.S.
    1、上面的selectSort方法之所以不用返回int数组的原因是因为:arr引用变量是对传入selectSort方法中作为参数的数组的引用,selectSort方法执行完毕之后,我们依然可以通过arr引用变量操作传入的数组。所以,没有必要再通过返回值获取。
    2、上面的选择排序算法效率比较低,因为数组每一个元素与剩下的元素比较就是为了获得最小的元素并且与之互换。例如:{89,34,-270,17,3,100}这个数组,第一轮就要互换4次才能使第一个元素存储的是这个数组中最小的元素。如果是这样,那么更高效率的方式则是只需要通过两个变量,一个记录最小值,一个记录最小值所在的角标即可。等当前元素与余下的所有元素比较完,直接互换,这样只需互换一次就能达到目标,效率自然就会提高。

    代码:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.              int[] arr= {89,34,-270,17,3,100};
  4.              System.out.print("排序前数组:" );
  5.              printArray(arr);
  6.              selectSort(arr);
  7.              System.out.print("排序后数组:" );
  8.              printArray(arr);
  9.       }

  10.        public static void selectSort(int[] arr){
  11.              for(int x = 0; x < arr.length - 1; x++){
  12.                    int num = arr[x];
  13.                    int index = x;
  14.                    for(int y = x + 1; y < arr.length; y++){
  15.                          if(num > arr[y]){
  16.                               num = arr[y];
  17.                               index = y;
  18.                         }
  19.                   }
  20.                   //如果最小的就是自己,就没有必要执行swap操作
  21.                   if(index != x)
  22.                         swap(arr,x,index);
  23.             }
  24.       }
  25.       
  26.       public static void swap(int[] arr, int a,int b){
  27.             int temp = arr[a];
  28.             arr[a] = arr[b];
  29.             arr[b] = temp;
  30.       }
  31.       
  32.        public static void printArray(int[] arr){
  33.             System.out.print("[" );
  34.             for(int x = 0; x < arr.length; x++){
  35.                    if(x != arr.length - 1)
  36.                         System.out.print(arr[x] + "," );
  37.                    else
  38.                         System.out.println(arr[x] + "]" );
  39.             }
  40.       }
  41. }  
复制代码
   运行结果:


    冒泡排序

    思路:
    1、首先在第一轮排序中,数组从第一个元素到倒数第二个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。
    2、经过第一轮比较,最大的元素就已经存储到数组最右边的结点中了。
    3、第二轮排序则是从第一个元素到倒数第三个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。
    4、依照此方式,一直到只有第一和第二个元素互相比较而结束。

    代码:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.         int[] arr= {89,34,-270,17,3,100};
  4.         System.out.print("排序前数组:" );
  5.         printArray(arr);
  6.         bubbleSort(arr);
  7.         System.out.print("排序后数组:" );
  8.         printArray(arr);
  9.       }
  10.       
  11.       public static void bubbleSort(int[] arr){
  12.              for(int x = 0; x < arr.length - 1; x++){
  13.                    for(int y = 0; y < arr.length - 1 -x; y++){
  14.                          if(arr[y] > arr[y+1]){
  15.                               int temp = arr[y];
  16.                               arr[y] = arr[y+1];
  17.                               arr[y+1] = temp;
  18.                         }
  19.                   }
  20.             }
  21.       }
  22.       
  23.       public static void printArray(int[] arr){
  24.          System.out.print("[" );
  25.          for(int x = 0; x < arr.length; x++){
  26.             if(x != arr.length - 1)
  27.               System.out.print(arr[x] + "," );
  28.            else
  29.               System.out.println(arr[x] + "]" );
  30.          }
  31.      }
  32. }
复制代码
   运行结果:


    在真实开发中,是不可能让我们自己去写这些排序算法的,因为JDK中已经提供好了API可以直接供我们调用。

    示例
  1. import java.util.Arrays;

  2. class ArrayDemo{
  3.        public static void main(String[] args) {
  4.              int[] arr= {89,34,-270,17,3,100};
  5.              System.out.print("排序前数组:" );
  6.              printArray(arr);
  7.              Arrays.sort(arr);
  8.              System.out.print("排序后数组:" );
  9.              printArray(arr);
  10.       }
  11.       
  12.        public static void printArray(int[] arr){
  13.             System.out.print("[" );
  14.              for(int x = 0; x < arr.length; x++){
  15.                    if(x != arr.length - 1)
  16.                         System.out.print(arr[x] + "," );
  17.                    else
  18.                         System.out.println(arr[x] + "]" );
  19.             }
  20.       }
  21. }   
复制代码
   运行结果:



    常见操作三:折半查找(二分查找)

    示例:简单遍历查找方式
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.              int[] arr= {4,1,5,7,8,4,2};
  4.              int index = getIndex(arr,2);
  5.              System.out.println("index = " + index);
  6.       }
  7.       
  8.        public static int getIndex(int[] arr, int key){
  9.              for(int x = 0; x < arr.length; x++){
  10.                    if(arr[x] == key)
  11.                          return x;
  12.              }
  13.              return -1;
  14.       }
  15. }
复制代码
   运行结果:



    P.S.
    如果一个数组是无序的,那么可以通过简单遍历查找的方式查找到某个元素所在的角标。但是如果一个数组是有序的,那么就可以通过一种更高效的方式达到相同的目的,也就是二分查找。

    思路:
    1、设置三个变量记录角标:min、max、mid。min初始值为0,max为数组最大角标,mid为(max+min)/2。
    2、查看mid角标的元素是否与待查找的值相等,如果相等,则直接返回角标值,程序终止执行。
    3、如果待查找的值小于角标为mid的元素值,那么说明待查找的元素的位置可能在min与mid角标之间。设置max = mid - 1,mid = (max + min)/2,重复第1、2步的操作。
    4、如果待查找的值大于角标为mid的元素值,那么说明待查找的元素的位置可能在mid与max角标之间。设置min = mid + 1,mid = (max + min)/2,重复第1、2步的操作。
    5、如果数组中不存在待查找的元素,那么按照如上流程,最终min角标值会大于max角标值,此时返回-1。

    代码1:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.          int[] arr= {13,15,19,28,33,45,78,106};
  4.          int index = binarySearch(arr,78);
  5.          System.out.println("index = " + index);
  6.       }
  7.      
  8.       public static int binarySearch(int[] arr, int key){
  9.             int max,min,mid;
  10.             min = 0;
  11.             max =arr. length - 1;
  12.             mid = (max + min)/2;

  13.              while(arr[mid] !=key){
  14.                    if(key > arr[mid])
  15.                         min = mid + 1;
  16.                    else if (key < arr[mid])
  17.                         max = mid - 1;
  18.                    if(max < min)
  19.                          return -1;
  20.                   mid = (max + min)/2;
  21.             }
  22.             return mid;
  23.      }
  24. }
复制代码
   运行结果:


    代码2:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.            int[] arr= {13,15,19,28,33,45,78,106};
  4.            int index = binarySearch(arr,78);
  5.            System.out.println("index = " + index);
  6.        }
  7.      
  8.        public static int binarySearch(int[] arr, int key){
  9.             int max,min,mid;
  10.             min = 0;
  11.             max = arr. length - 1;

  12.              while(min <= max){
  13.                   mid = (max + min) >> 1;

  14.                    if(key > arr[mid])
  15.                         min = mid + 1;
  16.                    else if (key < arr[mid])
  17.                         max = mid - 1;
  18.                    else
  19.                          return mid;
  20.             }
  21.              return -1;
  22.       }
  23. }
复制代码
   运行结果:


    P.S.
    给定一个有序的数组,如果往该数组中存储一个元素,并保证这个数组还是有序的,那么这个元素的存储的角标如何获取?
    可以先通过二分查找,返回min的值,然后将待插入元素存在角标为min的数组位置,数组中角标为min以及比min大的角标所在的数组元素全部往后顺延一个位置。

    代码:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.          int[] arr= {13,15,19,28,33,45,78,106};
  4.          int index = binarySearch(arr,44);
  5.          System.out.println("index = " + index);
  6.       }
  7.      
  8.        public static int binarySearch(int[] arr, int key){
  9.             int max,min,mid;
  10.             min = 0;
  11.             max = arr. length - 1;

  12.              while(min <= max){
  13.                   mid = (max + min) >> 1;

  14.                    if(key > arr[mid])
  15.                         min = mid + 1;
  16.                    else if (key < arr[mid])
  17.                         max = mid - 1;
  18.                    else
  19.                          return mid;
  20.             }
  21.             return min;
  22.       }
  23. }
复制代码
   运行结果:


    说明:由上面的结果可以看到,如果要向数组{13,15,19,28,33,45,78,106}中插入值为44的元素,那么应该插入的位置角标是5,角标为5以及其后的元素都应该往后顺延一个位置。

    P.S.
    在实际开发中,二分查找也不需要我们自己去写,JDK中已经提供了相关的API供调用。

    示例:
  1. import java.util.Arrays;

  2. class ArrayDemo{
  3.        public static void main(String[] args) {
  4.          int[] arr= {13,15,19,28,33,45,78,106};
  5.          //如果存在返回的具体的角标位置,不存在返回的是-插入点-1
  6.          int index = Arrays.binarySearch(arr,44);
  7.          System.out.println("index = " + index );
  8.       }
  9. }
复制代码
   运行结果:



    说明:返回的是-6而不是5的原因可以通过API文档查找到.



    练习:获取一个十进制整数的2、8、16进制表现形式。

    注意:
    1、什么时候使用数组呢?
    2、如果数据出现了对应关系,而且对应关系的一方是有序的数字编号,并作为角标使用,这时候必须要想到数组的应用。
    3、
将这些数据存储到数组中,根据运算的结果作为角标直接去查数组中对应的元素即可,这种方式称为查表法。

    思路:
    1、首先判断如果传入的十进制数为0,那么它的2、8、16进制都是0,直接返回0,不需要再执行余下的程序。
    2、如下面的示意图中所示,以将十进制数转换成十六进制数为例:
         将60与15进行与操作,其值就是60的十六进制的最低位。
         再将60无符号右移4位,再与15进行与操作,其值就是60的十六进制的倒数第二位。
    3、由上面的例子可以总结出,将一个十进制数转换为十六进制的步骤就是:
         将十进制数与15相与,将结果存储到一个数组的最低位。
         然后将十进制数右移4位,再与15进行与操作,其值就是该数对应的十六进制的倒数第二位。
         再右移4位,与15相与...直到相与结果为0为止。
    4、进而可以推理得到,10进制转换为2和8进制的规律与转换为16进制很相似,只是偏移量和相与的数字不同而已。
         10进制转换为2进制的偏移量为1,相与数字为1。
         10进制转换为8进制的偏移量为3,相与数字为7。

    答案:
  1. import java.util.Arrays;

  2. class ArrayDemo{
  3.        public static void main(String[] args) {
  4.          toHex(60);
  5.          toBin(-6);
  6.        }
  7.       
  8.        //十进制-->二进制
  9.        public static void toBin(int num){
  10.          trans(num,1,1);
  11.        }
  12.       
  13.        //十进制-->十六进制
  14.        public static void toHex(int num){
  15.          trans(num,15,4);
  16.        }
  17.       
  18.        //十进制-->八进制
  19.        public static void toOctal(int num){
  20.          trans(num,7,3);
  21.        }
  22.       
  23.        //进制转换的通用方法
  24.        public static void trans(int num, int base,int offset){
  25.            if(num == 0){
  26.                 System.out.println("0" );
  27.                 return;
  28.            }
  29.            char[] chs = {'0','1' ,'2' ,'3' ,'4' ,'5' ,'6' ,'7' ,'8' ,'9' ,'A' ,'B' ,'C' ,'D' ,'E' ,'F' };
  30.                   
  31.            char[] arr = new char[32];
  32.            int pos = arr.length ;
  33.            while(num != 0){
  34.                  int temp = num & base;
  35.                  arr[--pos] = chs[temp];
  36.                  num = num >>> offset;
  37.            }
  38.             
  39.            System.out.println("pos = " + pos);
  40.            for(int x = pos; x < arr.length; x++){
  41.                  System.out.print(arr[x]);
  42.            }
  43.            System.out.println();
  44.       }
  45. }
复制代码
   运行结果:


    在真实开发中,进制转换也不需要我们写,JDK已经通过API的方式提供给我们,直接调用即可。

    示例:
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.            System.out.println(Integer.toHexString(60));
  4.        }
  5. }
复制代码
   运行结果:


    示例(查表法):
  1. class ArrayDemo{
  2.        public static void main(String[] args) {
  3.            String week = getWeek(4);
  4.            System.out.println(week);
  5.        }
  6.       
  7.        public static String getWeek(int num){
  8.             if(num > 7 || num < 1){
  9.                    return "错误的星期" ;
  10.             }
  11.             String[] weeks = { "","星期一" ,"星期二" ,"星期三" ,"星期四" ,"星期五" ,"星期六" ,"星期日" };
  12.             
  13.             return weeks[num];
  14.        }
  15. }
复制代码
   运行结果:


~END~



~爱上海,爱黑马~




作者: 探索者    时间: 2015-6-3 15:22
支持一下
作者: 小囧    时间: 2015-6-3 19:06
今天又巩固了一下,这个好像和毕老师的视屏差不服啊
作者: 董小姐    时间: 2015-6-3 19:50
复习一下            
作者: 董小姐    时间: 2015-6-3 19:54
复习一下                           
作者: fecuznmn    时间: 2015-6-3 21:08
复习and巩固
作者: 追梦德鲁    时间: 2015-6-3 21:17
来看阳哥
作者: 小车车    时间: 2015-6-3 22:14
复习一下!
作者: c-j    时间: 2015-6-3 22:39
学习了。
作者: Heroe    时间: 2015-6-3 22:41
顶起来!
作者: 朱吕龙    时间: 2015-6-3 23:18
能不能一次多发点 快点招了

作者: 时光匆匆    时间: 2015-6-3 23:33
来看总结了 ,每日一顶杨哥帖
作者: qian0217wei    时间: 2015-6-4 00:15
这个可以下载吗?看着好累啊!
作者: 全是爱    时间: 2015-6-4 07:46
好详细,真是不容易!
作者: InterDoly    时间: 2015-6-4 09:01
不错 要是还附带一些每日习题会更好
作者: Troy-Fu    时间: 2015-6-4 09:19
来复习了..........
作者: tougboy    时间: 2015-6-4 09:21
谢谢 多谢
作者: bin2015    时间: 2015-6-4 12:00
来学习,来收藏了
作者: 叶腾    时间: 2015-6-4 12:06
谢谢老师
作者: wdj    时间: 2015-6-4 12:32
很棒哦,好好学习一下!
作者: rexih    时间: 2015-6-4 12:49
很棒哦,好好学习一下!
作者: 18530919536    时间: 2015-6-4 17:52
又更新了,学习下再顶下
作者: cieadgbohf    时间: 2015-6-4 18:28
好好学习
作者: vic0001    时间: 2015-6-4 18:37
不觉明厉,努力ing
作者: MissMr.    时间: 2015-6-4 18:45
数组遍历和冒泡排序,感觉很有必要。
感谢阳哥 分享 可以在回顾下
作者: SouthKai    时间: 2015-6-4 18:57
终于等到数组了,黑马加油!
作者: FTD-2009    时间: 2015-6-4 20:13
感谢阳哥的分享
作者: wangjia    时间: 2015-6-4 20:35
加油,阳哥 顶你,
作者: TOBESKY    时间: 2015-6-4 21:10
数组是我的弱项,好好看看
作者: wx_uKgDjEiS    时间: 2015-6-4 22:29
踩踩,又复习了一遍
作者: bianzhiguo6    时间: 2015-6-4 22:54
这个笔记如果可以下载的话,那更方便了。嘿嘿,不过总结的很好了
作者: tinlen    时间: 2015-6-4 23:03
复习一下
作者: 壹颗心只属于你    时间: 2015-6-5 00:22
这个笔记如果可以下载的话,那更方便了。嘿嘿,不过总结的很好了,很认可哦
作者: 没有等待的花蕾    时间: 2015-6-5 00:24
要是有更难一点的就好了,数组我觉得还是蛮重要的
作者: 古风_菜鸟    时间: 2015-6-5 08:11
感谢老师
作者: hellotaomi    时间: 2015-6-5 08:44
昨天看的04,今天看05
作者: qq479470741    时间: 2015-6-5 09:07
笔记做的很详细,学习了!
作者: 无懈无极    时间: 2015-6-5 10:25
刚学到数组,学习学习
作者: Always,    时间: 2015-6-5 11:26
            笔记做的狠详细。
作者: 杜弦东.    时间: 2015-6-5 11:49
请问大家15年深圳安卓的班是不是会学最新版本的安卓5.0?谢谢!

作者: li520    时间: 2015-6-5 23:28
不错不错
作者: javazhang    时间: 2015-6-6 10:44
基本很全面,完全掌握应该就是个高手了!
作者: 王冲6060    时间: 2015-6-6 12:18
学习了!
作者: zuoyou    时间: 2015-6-6 12:40
学习,,,
作者: 李俊超    时间: 2015-6-7 02:01
学习了,数组这块以后要经常用的吧!

作者: 青蛙杰伦    时间: 2015-6-8 10:40
学习了。。。。。。
作者: 海角秋风    时间: 2015-6-8 13:31
复习一下。。。
作者: 乌卡卡    时间: 2015-6-8 17:56
挺好的,每次看的感觉都不一样,加深记忆
作者: pizhihui    时间: 2015-6-8 18:55
复习一下
作者: yang2015    时间: 2015-6-8 21:08
复习复习

作者: 一休    时间: 2015-6-8 21:15
思路分析的不错,顶一下
作者: 小沈同学    时间: 2015-6-17 07:45
:victory::victory:看着很好
作者: 乔栋    时间: 2015-6-17 08:56
学习一下,支持下
作者: Huan220_欢    时间: 2015-6-17 12:42
谢谢,辛苦了,来复习
作者: 凌云xs    时间: 2015-6-17 20:39

学习了。
作者: wxRocky    时间: 2015-6-19 08:55
天天复习,就是这么简单。
作者: 十里坡    时间: 2015-6-19 09:38
学习了!!!
作者: Nemo    时间: 2015-6-19 10:02
不错不错哦哦哦
作者: 魏海洲    时间: 2015-6-22 21:25

复习一下  
作者: 魏海洲    时间: 2015-6-23 21:46

来看阳哥
作者: 疾风追马    时间: 2015-6-30 08:40
跟我用,大赞~
作者: linqiwang    时间: 2015-7-7 13:16
收益颇多
作者: linqiwang    时间: 2015-7-7 13:17
好东西收藏了
作者: 574400391    时间: 2015-7-13 23:20
复习一下
作者: 丶古街老巷    时间: 2015-7-14 20:34
学到了,收藏~
作者: 梦想起航    时间: 2015-7-14 21:13
点个赞。
作者: yan019369    时间: 2015-7-14 21:16
复习了,谢谢
作者: 放心飞    时间: 2015-8-25 18:01
实在是全面,支持!
作者: 放心飞    时间: 2015-8-26 10:06
学习一下,加油。
作者: 放心飞    时间: 2015-8-26 14:02
看完了。
作者: 放心飞    时间: 2015-9-6 12:50
很精彩的讲解,受益匪浅。
作者: 权在江湖    时间: 2015-9-6 13:26
来瞧瞧...
作者: 舒玉琛    时间: 2015-9-14 22:40
求助各位大神们,我是刚刚0基础班第五天的没一点基础的新生,今晚刚刚经历了第一次考试,考试考得普遍都是各类细节问题,我自己分数也不是很理想,想问下打什么有什么地方可以下载类似的题目自己来做的么,目前刚刚学到第五天,自己能练得代码只有上课视频中讲过的各种语法,想问下类似的练习题可以在哪找到呢
作者: 迷茫不堪的年纪    时间: 2015-9-25 02:43
我这一篇看的有点晕呼呼的。看完了 ,还得多看几次 第一次
作者: 没有什么阻挡    时间: 2015-9-29 21:39
很好的总结 学习了

作者: charlie    时间: 2015-9-29 21:45
很有用,非常感谢!
作者: yangxuqiang    时间: 2015-9-29 22:22
每天看一遍
作者: 18204509116    时间: 2015-9-29 22:32
支持黑马   加油!
作者: yangxuqiang    时间: 2015-9-30 21:32
下一节课学数组,先预习一下
作者: yangxuqiang    时间: 2015-9-30 21:34
下一节课学数组,先预习一下
作者: 6981931    时间: 2015-9-30 21:43
day04刚刚学完,现在开始整数组
作者: 放心飞    时间: 2015-10-2 22:39
看完了继续加油!
作者: 嘴哥    时间: 2015-10-3 11:37
预习一下!!!!!!!!!!!
作者: tuyrt7    时间: 2015-10-16 00:22
还是要把视频 给理解透,然后才大
作者: 1975532882    时间: 2015-10-23 14:20
牛叉,,,,,,
作者: 崔节帅    时间: 2015-11-20 21:59
看着真心的
不错啊
作者: 陈泽伟    时间: 2016-5-2 20:34
这个有点难度哦
作者: luklon    时间: 2016-5-4 23:47
看完了教程不错
作者: lrx    时间: 2016-5-5 00:20
这笔记好全
作者: Jason.wang    时间: 2016-5-5 00:36
复习一下
作者: 冯领峰    时间: 2016-5-5 00:45
像这种贴要天天发,顶




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2