2018-11-23
Day02筆記
1.流程控制語句
1.
public static void main(String [] args){
System.out.println(1);
System.out.println(2);
System.out.println(3);
//程式由上往下執行
}
2.java程式邏輯控制
2.1判斷語句分為三種形式
2.1.1 if()語句
public static void main(String [] args){
int s=0;
if(s!=0){
System.out.println(1);
}
}
2.1.2 if(){ }else{ }語句
public static void main(String [] args){
int s=0;
if(s!=0){
System.out.println(1);}
else{
System.out.println(3);
}}
2.1.2 if(){ }else if(){ }else{}多分支語句
public static void main(String[] args) {
int score = 100;
if(score<0 || score>100){
System.out.println("你的成績是錯誤的");
}
else if(score>=90 && score<=100){
System.out.println("你的成績屬於優秀");
}
else if(score>=80 && score<90){
System.out.println("你的成績屬於好");
}
else if(score>=70 && score<80){
System.out.println("你的成績屬於良");
}
else if(score>=60 && score<70){
System.out.println("你的成績屬於及格");
}
else {
System.out.println("你的成績屬於不及格");
}
}}
2.2 Switch語句
switch語句中注意不要忘記break的使用
語法:
switch(表示式) {
case 常量值1:
語句體1;
break;
case 常量值2:
語句體2;
break;
...
default:
語句體n+1;
break; }
1.計算出表示式的值
2.和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
3.如果所有的case都和表示式的值不匹配,就會執行default語句體部分,然後程式結束掉
3.迴圈語句
3.1 while迴圈和do while迴圈
while迴圈
初始化表示式①
while(布林表示式②){
迴圈體③
步進表示式④ }
do...while迴圈
初始化表示式①
do{
迴圈體③;
步進表示式④
}while(布林表示式②);
後期開發過程中只用while,一般不用do...while
區別:while實現判斷後執行,如果條件不滿足,do...while至少執行一次,但是while執行0次
for迴圈與While迴圈的小區別:
控制條件語句所控制的那個變數,在for迴圈結束後,就不能再被訪問到了,而while迴圈結束還可以繼
續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for迴圈結束,該變數就從記憶體中消 失,能夠提高記憶體的使用效率。
在已知迴圈次數的時候使用推薦使用for,迴圈次數未知的時推薦使用while。
3.2 for迴圈
for(初始化表示式①; 布林表示式②; 步進表示式④){
迴圈體③ }
實現1--100 的累加
public static void main(String[] args) {
//1.定義一個初始化變數,記錄累加求和,初始值為0
int sum = 0;
//2.利用for迴圈獲取1‐100之間的數字
for (int i = 1; i <= 100; i++) {
//3.判斷獲取的陣列是奇數還是偶數
if(i % 2==0){
//4.如果是偶數就累加求和
sum += i;
} }
//5.迴圈結束之後,列印累加結果
System.out.println("sum:"+sum); }
3.3迴圈控制語句
continue
使用場景:結束本次迴圈,繼續下一次的迴圈
break
使用場景:終止switch或者跳出迴圈
對於for和while選擇
如果明確知道迴圈次數,就用for迴圈
如果不知道迴圈次數,知道迴圈結束條件時就用while迴圈
3.4巢狀迴圈
巢狀迴圈是一個迴圈的迴圈體的另一個迴圈。
比如for迴圈裡面還有一個for迴圈,就是巢狀迴圈。總 共的迴圈次數=外迴圈次數*內迴圈次數
範例1:九九乘法表
public class Ms{
public static void main(String args[]){
for( int x=1;x<=9;x++){
System.out.println();
for(int y=1;y<x+1;y++){
System.out.print(x+"*"+y+"="+(x*y)+" ");
}
}
}}
範例2:心形三角
public class He{
public static void main(String []args){
for(int i=0;i<5;i++){
for(int k=i;k<5;k++){
System.out.print(" ");}
for(int k=0;k<=i;k++){
System.out.print("* ");
}System.out.println();
}
}
}
4.陣列
4.1陣列的基本定義
陣列資料型別 [] 陣列名字 = new 陣列資料型別[長度];
陣列資料型別 陣列名字 []= new 陣列資料型別[長度]; //這兩種看個人習慣寫法
第一種定義方式:在堆中開闢了一個索引(index)為3的陣列空間
int arr []=new int[3]
第二種定義方式:完整性靜態陣列定義原則
資料型別 [] 陣列名 =new 資料型別[]{元素1,元素2,元素3...};
int arr []=new int[]{23,34,56,67};
第三種定義方式:簡化型陣列定義(一般少用)
資料型別[] 陣列名 ={元素1,元素2,元素3...};
int arr []={23,34,56,67};
4.2陣列的使用
1.陣列的遍歷
1.1概念: 就是將陣列中的每個元素分別獲取出來,就是遍歷。遍歷也是陣列操作中的基石。
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} }
1.2 陣列的最大元素獲取
public static void main(String[] args) { int[] arr = { 5, 15, 2000, 10000, 100, 4000 };
//定義變數,儲存陣列中0索引的元素
int max = arr[0];
//遍歷陣列,取出每個元素
for (int i = 0; i < arr.length; i++) {
//遍歷到的元素和變數max比較
//如果陣列元素大於max
if (arr[i] > max) {
//max記錄住大值
max = arr[i];
}
}
System.out.println("陣列最大值是: " + max);
}
java在jdk1.7以後提供了一個數組的方法可以直接獲取陣列的最大元素Array.sort
2 陣列的反轉
陣列中的元素顛倒順序,例如原始陣列為1,2,3,4,5,反轉後的陣列為5,4,3,2,1
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
/*迴圈中定義變數min=0最小索引
max=arr.length‐1最大索引
min++,max‐- */
for (int min = 0, max = arr.length ‐ 1; min <= max; min++, max‐‐) {
//利用第三方變數完成陣列中的元素交換
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp; }
// 反轉後,遍歷陣列
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
陣列的二分法查詢
4.3陣列與方法間的相互操作
3.1陣列作為方法引數
陣列作為方法引數傳遞,傳遞的引數是陣列記憶體的地址。
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9 };
//呼叫方法,傳遞陣列
printArray(arr); }
/* 建立方法,方法接收陣列型別的引數
進行陣列的遍歷*/
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} }
3.2 陣列作為方法返回值
陣列作為方法的返回值,返回的是陣列的記憶體地址
public static void main(String[] args) {
int[] arr = { 1, 3, 5, 7, 9 };
//呼叫方法,傳遞陣列
printArray(arr); } /*
建立方法,方法接收陣列型別的引數
進行陣列的遍歷
*/
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} }
public static void main(String[] args) {
//呼叫方法,接收陣列的返回值
//接收到的是陣列的記憶體地址
int[] arr = getArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
} } /*
建立方法,返回值是陣列型別
return返回陣列的地址
*/ public static int[] getArray() {
int[] arr = { 1, 3, 5, 7, 9 };
//返回陣列的地址,返回到呼叫者
return arr; }
4.4陣列的有關操作類庫支援
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a); //1
System.out.println(b); //2
change(a, b);
System.out.println(a); //1
System.out.println(b); //2
}
public static void change(int a, int b) {
a = a + b;
b = b + a;
System.out.println(a); //3
System.out.println(b); //5
}
5 IDEA的安裝和配置
5.1 開發工具概述
IDEA是一個專門針對Java的整合開發工具(IDE),由Java語言編寫。所以,需要有JRE執行環境並配置好環境變數。 它可以極大地提升我們的開發效率。可以自動編譯,檢查錯誤。在公司中,使用的就是IDEA進行開發。
5.2 IDEA軟體安裝
此軟體集成了32位和64位,雙擊 ideaIU-2017.3.2.exe 進入安裝。
5.3 IDEA jdk環境變數的配置
5.4 IDEA配置設定
5.5 IDEA的專案目錄
我們建立的專案,在d:\ideawork目錄的demo下 .idea 目錄和 demo.iml 和我們開發無關,是IDEA工具自己使用的 out 目錄是儲存編譯後的.class檔案 src 目錄是儲存我們編寫的.java原始檔
5.6 IDEA常用快捷鍵
快捷鍵 功能Alt+Enter 匯入包,自動修正程式碼Ctrl+Y 刪除游標所在行
Ctrl+Alt+L 格式化程式碼Ctrl+/ 單行註釋Ctrl+Shift+/ Ctrl+Shift+/ Alt+Ins 自動生成程式碼,toString,get,set等方法Alt+Shift+上下箭頭 移動當前程式碼行
快捷鍵功能
Alt+Enter匯入包,自動修正程式碼
Ctrl+Y刪除游標所在行
Ctrl+D複製游標所在行的內容,插入游標位置下面
Ctrl+Alt+L格式化程式碼
Ctrl+/單行註釋
Ctrl+Shift+/選中程式碼註釋,多行註釋,再按取消註釋
Alt+Ins自動生成程式碼,toString,get,set等方法
Alt+Shift+上下箭頭 移動當前程式碼行