首页 > 代码库 > Java自学笔记(第四天)

Java自学笔记(第四天)

(*)数组:同一种类型数据的集合。其实数组就是一个容器。

      可以自动给数组中的元素从0开始编号,方便操作这些元素。

//格式1:int[] arr = new int[3];

//格式2:int[] arr = new int[]{1,2,3};

//格式3:int[] arr = {1,2,3};

(*)

//栈内存:自动释放无用的空间,栈空间不自动赋默认值

//堆内存: 堆中的所有空间都自动赋默认值(引用数据类型的默认值是null)

//垃圾回收机制:定期自动回收堆内存中无用的实体(即空间)

//new 的过程就是在堆内存中生成一个实体(即空间),指针(堆内存地址)存放在栈的变量中

//基本数据类型的数据在栈里,引用数据类型的数据在堆里

//数组越界异常

//空指针异常

//数组.length:获取数组长度

(*)

图片中,[I@de6ced的意思是:[表示数组I表示是int类型@表示在de6ced表示堆内存地址

//获取数组最大值和最小值的练习(可以记录数组元素下标,也可以记录数组元素的值)

//数组排序练习

//冒泡排序

//希尔排序

//Arrays.sort(数组);

//数组查找

//折半查找(找下标)(必须是有序数组)

//向数组中插入一个值(折半查找的延伸功能)

//十进制---->二进制的函数算法,十进制---->十六进制的函数算法:

 1 class j106 2 { 3     public static void main(String[] args)  4     { 5         to2(60); 6         to16(60); 7     } 8     public static void to2(int num){ 9         int temp;10         StringBuffer sb = new StringBuffer();11 12         while(num!=0){13             temp = num%2;14             sb.append(temp);15             num = num/2;16         }17         System.out.print(sb.reverse());18         19     }20 21     public static void to16(int num){22         23         StringBuffer sb = new StringBuffer();24         int temp ;25         char ch;26         27         while (num!=0)28         {29             temp= num & 15;30             if (temp>9)31             {32                 ch=(char)(temp - 10 +‘A‘);33                 sb.append(ch);34             }else 35             {36                 sb.append(temp);37             }38             num = num >>> 4;39         }40         System.out.print(sb.reverse());41     }42 }

//十进制---->十六进制(查表法):

//--y y-- ++y y++ 先加先减 后加后减 的问题

//二进制表示正负,比方就是int型的容量,一半存正一半存负,也就是正负20亿左右

(*)二维数组:int[][] arr = new int[2][3];(两行三列的二维数组)

Java自学笔记(第四天)