首页 > 代码库 > 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自学笔记(第四天)