您的位置:首页 > 编程语言 > Java开发

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

2014-10-06 23:54 225 查看
(*)数组:同一种类型数据的集合。其实数组就是一个容器。

      可以自动给数组中的元素从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(数组);

//数组查找

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

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

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

class j106
{
public static void main(String[] args)
{
to2(60);
to16(60);
}
public static void to2(int num){
int temp;
StringBuffer sb = new StringBuffer();

while(num!=0){
temp = num%2;
sb.append(temp);
num = num/2;
}
System.out.print(sb.reverse());

}

public static void to16(int num){

StringBuffer sb = new StringBuffer();
int temp ;
char ch;

while (num!=0)
{
temp= num & 15;
if (temp>9)
{
ch=(char)(temp - 10 +'A');
sb.append(ch);
}else
{
sb.append(temp);
}
num = num >>> 4;
}
System.out.print(sb.reverse());
}
}


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



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

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

(*)二维数组:int[][] arr = new int[2][3];(两行三列的二维数组)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: