1. 程式人生 > >JAVA學習筆記-02

JAVA學習筆記-02

學習筆記 情況 邏輯運算符 值類型 獲取 一維數組 功能 不執行 運算符

轉義字符:通過 \ 來轉變後面字母或者符號的含義

\n:換行

\b:退格,相當於backpace

\r:按下回車鍵 。windows系統中,回車符是由兩個字符來表示的\r\n.

\t:制表符。相當於tab鍵

轉義字符寫在被轉義字母的前面

instanceof檢查是否是類的對象

邏輯運算符:連接布爾類型的表達式

&:兩邊都為true,其結果就是true,有一個為flase結果就是flase

|:兩邊只要有一個為true,其結果就是true。只有兩邊都為flase,其結果為flase

^:兩邊相同的結果為flase,兩邊不同結果為true

位運算符:

<<:其實就是乘以2的移動次冪

>>:其實就是除以2的移動次冪 如:6>>2=6/2的2次方 取整數。最高位補什麽由原有數據的最高位來定。

>>>:最高位統統以0來補

if語句: 如果if後面沒有大括號後,只執行一個結果語句不執行後面的語句

while語句:

定義初始化語句

while(條件表達式)

{循環體(執行語句)}

for語句:

for(初始化表達式;循環條件表達式;循環後的操作表達式){

執行語句}

執行方式 :第一步 執行初始化表達式,第二步執行循環條件表達式,第三步執行語句 第四步 循環後的操作表達式 然後再循環執行 第二步到第四步

再for前面定義初始化語句 再for語句內 初始化語句可以不寫,

for語句內循環後的操作表達式也可以不寫,執行語句當中寫也可以

for語句中國,循環條件表達式也可以不寫。默認為true

for嵌套循環中

for(){ 外面的for循環代表的是行數

for(){內部的for循環代表的是列數

}

函數:就是具有獨立功能的一段小程序。 函數也是方法

函數的格式:

修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2){

執行語句

return 返回值

}

返回值類型:函數運行後結果的數據類型

參數類型:是形式參數的數據類型

實際參數:是一個變量,用於存儲調用函數時傳遞給函數的實際參數

return:用於結束函數

返回值:該值會返回給調用者

如果函數運算後,沒有具體的返回值時,這時返回值類型用一個特殊的關鍵字來標識

這個關鍵字就是void:代表的是函數沒有具體的返回值的情況。這個時候可以省略return

如何定義一個函數:

1.既然函數是一個獨立的功能,該功能的運算結果是什麽先明確

2.在明確在定義該功能的過程中是否需要未知的內容參與運算。(頂一個函數功能的細節時,是自己能獨立能編寫還是要調用某些功能來是實現)

也就是:

1.明確函數返回值類型

2.明確函數的參數列表(參數的類型和參數的個數)

函數的重載:

在同一個類中允許存在相同的函數名,只是它們的參數類型和參數個數不一樣。

函數的重載只能與參數列表有關系

數組:

同一類型數據的集合,其實數組就是一組容器

格式1:

元素類型[] 數組名=new 元素類型[元素個數或數組長度]

如:int[] arr=new int[5];

格式2:

元素類型[] 數組名=new 元素類型[]{元素,元素,元素。。。}

int[] arr=new int[]{1,3,4,5,6}

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

棧內存特點:數據使用完畢,會自動釋放。局部變量都是在棧內存當中。 

凡是new出來的實體都是在堆內存當中,只要是new的就會在堆內存中開辟一個新的空間

堆內存中的數據是用來封裝的。如果沒有具體的值默認為該數據類型的初始值

兩個引用指向同一數組,當一個改變的時候另外一個同樣改變。

數組在運行時容易出現的兩個問題:

1.arrayIndexOutOfBoundsException:操作數組時,訪問到數組中不存在的角標

2.NullPointerException:空指針,當引用沒有任何指向值的情況。

獲取數組中的元素時數組最常見的操作。

數組排序沒有返回值。是對同數組進行操作

選擇排序:

public class ShuZuPaiXu {
public static void paiXu(int[] arr) {
for(int x=0;x<arr.length;x++) {
for(int y=x+1;y<arr.length;y++) {
if(arr[x]>arr[y]) {
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static void printArray(int[] arr) {
for(int a=0;a<arr.length;a++) {
System.out.println(arr[a]);
}
}
public static void main(String[] args) {
int arr[]= {3,5,7,9,22,44,1,12,14};
printArray(arr);
System.out.println("_______________________________");
paiXu(arr);
printArray(arr);
}
}

冒泡排序:

相鄰兩個元素進行比較,如果符合條件就換位

public static void bubble(int[] arr) {
for(int a=0;a<arr.length-1;a++) {
for(int b=0;b<arr.length-a-1;b++) {
if(arr[a]>arr[a+1]) {
int temp=arr[a];
arr[a]=arr[a+1];
arr[a+1]=temp;
}
}
}

}
}

在實際開發過程中,java本身有幫助排序的。Arrays.sort(arr)

數組的查找操作:

存儲數據的容器:

StringBuffer sb=new StringBuffer();

二維數組:

格式:int[][] arr =new int[3][5]:定義一個二維數組,二維數組中有三個一維數組,每一個一維數組中有5個元素。

JAVA學習筆記-02