您的位置:首页 > 职场人生

黑马程序员 Java基础<二>--->数据类型,数组,switch语句

2013-11-03 22:09 921 查看
--------------android培训java培训、学习型技术博客、期待与您交流!
--------------

1)数据类型:



表示大小和默认值

{byte:1*8 short:2*8 int 4*8 } 默认 0 { long 8*8} 默认 0L { float 4 *8 } 默认 0.0f

{double 8*8 } 默认 0.0d {char:2*8 } 默认 ''(空字符,打印时无显示)因为用的unicode

{boolean} 默认 false {引用数据类型}默认 null

2 ) Switch语句

可以接收byte,short,char,int类型参数

JDK6.0加入对枚举类型的兼容

JDK7.0加入了对字符串类型的兼容。

3)数组

初始化格式:1、 int [] arr = new int [3]; arr[0]=5;

2、int [] arr={1,2,3,4,5};

初始化内存分析



执行过程分析:1、在栈内存中开辟空间,存放数组的引用X

2、new int[3]在堆内存中开辟3个存放int数据的空间

3、把堆内存中的首地址0x0079赋给X

4、通过X引用找到x[0]地址并赋值为59

补充 :

数组在堆内存开辟空间后,就有默认的初始化值。如:int默认0;boolean默认false。

栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。

堆内存:1、数组和对象,通过new建立的实例都存放在堆内存中。

2、每一个实体都有内存地址值。

3、实体中的变量都有默认初始化值。

4、实体不在被使用,会在不确定的时间内被垃圾回收器回收。

方法区,本地方法区,寄存器

数组排序

*/
class ArrayTest2
{

/*
选择排序。
内循环结束一次,最值出现头角标位置上。
*/
public static void selectSort(int[] arr)
{
for (int x=0; x<arr.length-1 ; x++)
{
for(int y=x+1; y<arr.length; y++)
{
if(arr[x]>arr[y])
{
swap(arr,x,y);
}
}
}
}
/*
冒泡排序
*/

public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。
{
if(arr[y]<arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}

} 
<span style="font-size:18px;">   二分查找:</span>
class QueryDemo{
public static void main(String[] args){
//查找得到的一定是对应所在的位置
int num = 9;
int[] arr = {1,2,3,4,5,6,7,8,9};

int min = 0;
int max =	arr.length-1;

while(min<max){
//比对值对应的索引
int mid = (min+max)/2;
//使用你要查找的数据域要比对的索引上的数据进行比对
if(num > arr[mid]){
//min要移动到mid+1,max不动
min = mid + 1;
}else if(num < arr[mid]){
//max要移动到mid-1,min不动
max = mid - 1;
}else{
System.out.println(mid);
break;
}
}
}
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐