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:获取数组长度

(*)

Java自学笔记(第四天)数组

图片中,[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 }

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

Java自学笔记(第四天)数组

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

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

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

你可能感兴趣的:(java)