--------------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;
}
}
}
}