全部的代碼都是引用他人寫的。java
1 //&,|,^,! 2 //int x = 10; 3 //5 < x < 15 4 //x > 5 & x < 15 5 //邏輯與 & 而且and 遇false則false 6 int a = 10; 7 int b = 20; 8 int c = 30; 9 /*System.out.println(a < b & b < c); //true & true = true 10 System.out.println(a < b & b > c); //true & false = false 11 System.out.println(a > b & b < c); //false & true = false 12 System.out.println(a > b & b > c); //false & false = false*/ 13 14 //邏輯或 或or 遇true則true 15 /*System.out.println(a < b | b < c); //true | true = true 16 System.out.println(a < b | b > c); //true | false = true 17 System.out.println(a > b | b < c); //false | true = true 18 System.out.println(a > b | b > c); //false | flase = false*/ 19 20 //邏輯異或 ^ 兩邊相同爲false,兩邊不一樣爲true 21 /*System.out.println(a < b ^ b < c); //true | true = false 22 System.out.println(a < b ^ b > c); //true | false = true 23 System.out.println(a > b ^ b < c); //false | true = true 24 System.out.println(a > b ^ b > c); //false | flase = false*/ 25 26 //邏輯非! 27 System.out.println(!true); 28 System.out.println(!!true);
1 /* 2 &&與&的區別 3 * a:最終結果同樣。 4 * b:&&具備短路效果。左邊是false,右邊不執行。 5 6 ||與|的區別 7 a:最終的結果是同樣 8 b:||具備短路效果,左邊爲true,右邊不執行 9 */ 10 public static void main(String[] args) { 11 /*int a = 10; 12 int b = 20; 13 int c = 30; 14 System.out.println(a < b && b < c); //true && true = true 15 System.out.println(a < b && b > c); //true && false = false 16 System.out.println(a > b && b < c); //false && true = false 17 System.out.println(a > b && b > c); //false && false = false*/ 18 19 int x = 3; 20 int y = 4; 21 //System.out.println((++x == 3) & (++y == 4)); //false & false = false 22 //System.out.println("x = " + x); //x = 4 23 //System.out.println("y = " + y); //y = 5 24 System.out.println("---------------------------"); 25 System.out.println((++x == 3) && (++y == 4)); //false & false = false 26 System.out.println("x = " + x); //x = 4 27 System.out.println("y = " + y); //y = 4 28 }
1 class Demo1_Operator { 2 public static void main(String[] args) { 3 /* 4 * &,|,^,~ 的用法 5 * &:有0則0 6 * |:有1則1 7 * ^:相同則0,不一樣則1 8 * ~:按位取反 9 */ 10 11 System.out.println(6 & 3); //2 12 System.out.println(6 | 3); //7 13 System.out.println(6 ^ 3); //5 14 System.out.println(~6); //-7? 15 } 16 } 17 /* 18 110 19 & 011 20 ----------- 21 010 22 23 110 24 | 011 25 ----------- 26 111 27 28 110 29 ^ 011 30 ----------- 31 101 32 33 00000000 00000000 00000000 00000110 6的原碼反碼補碼都是自己 34 11111111 11111111 11111111 11111001 對6取反 35 - 00000000 00000000 00000000 00000001 36 --------------------------------------- 37 11111111 11111111 11111111 11111000 反碼 38 10000000 00000000 00000000 00000111 原碼(-7) 39 */
1 /* 2 * 位異或運算符的特色 3 4 * ^的特色:一個數據對另外一個數據位異或兩次,該數自己不變。 5 */ 6 7 //System.out.println(5 ^ 10 ^ 10); 8 //System.out.println(5 ^ 10 ^ 5); 9 10 /* 11 * 請本身實現兩個整數變量的交換(不須要定義第三方變量) 12 * 注意:之後講課的過程當中,我沒有明確指定數據的類型,默認int類型。 13 */ 14 15 int x = 10; 16 int y = 5; 17 18 //須要第三方變量,開發推薦用這種 19 /*int temp; 20 temp = x; 21 x = y; 22 y = temp;*/ 23 24 //不須要定義第三方變量,有弊端,有可能會超出int的取值範圍 25 /*x = x + y; //10 + 5 = 15 26 y = x - y; //15 - 5 = 10 27 x = x - y; //15 - 10 = 5*/ 28 29 //不須要第三方變量,經過^來作 30 x = x ^ y; // 10 ^ 5 31 y = x ^ y; // 10 ^ 5 ^ 5 y = 10 32 x = x ^ y; // 10 ^ 5 ^ 10 x = 5 33 34 System.out.println("x = " + x + ",y = " + y);
1 /* 2 * <<:左移 左邊最高位丟棄,右邊補齊0 3 * >>:右移 最高位是0,左邊補齊0;最高爲是1,左邊補齊1 4 * >>>:無符號右移 不管最高位是0仍是1,左邊補齊0 5 * 最有效率的算出2 * 8的結果 6 */ 7 8 //左移,向左移動幾位就是乘以2的幾回冪 9 //System.out.println(12 << 1); //24 10 //System.out.println(12 << 2); //48 11 12 /* 13 00000000 00000000 00000000 00001100 12的補碼 14 (0)0000000 00000000 00000000 000011000 24的補碼 15 (00)000000 00000000 00000000 0000110000 48的補碼 16 */ 17 18 //右移,向右移動幾位就是除以2的幾回冪 19 //System.out.println(12 >> 1); 20 //System.out.println(12 >> 2); 21 22 /* 23 00000000 00000000 00000000 00001100 12的補碼 24 000000000 00000000 00000000 0000110(0) 6 25 0000000000 00000000 00000000 000011(00) 3 26 */ 27 28 //最有效率的算出2 * 8的結果 29 System.out.println(2 << 3);
1 //(關係表達式) ? 表達式1 : 表達式2; 2 int x = 10; 3 int y = 5; 4 int z; 5 z = (x > y) ? x : y; 6 7 System.out.println("z = " + z);
1 /* 2 * a:導包 3 * 格式: 4 * import java.util.Scanner; 5 * 位置: 6 * 在class上面。 7 * b:建立鍵盤錄入對象 8 * 格式: 9 * Scanner sc = new Scanner(System.in); 10 * c:經過對象獲取數據 11 * 格式: 12 * int x = sc.nextInt(); 13 */ 14 import java.util.Scanner; 15 class Demo2_Scanner { 16 public static void main(String[] args) { 17 /*Scanner sc = new Scanner(System.in); //建立鍵盤錄入對象 18 System.out.println("請輸入一個整數:"); 19 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 20 System.out.println(x);*/ 21 22 //錄入兩個整數 23 Scanner sc = new Scanner(System.in); //建立鍵盤錄入對象 24 System.out.println("請輸入第一個整數:"); 25 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 26 System.out.println(x); 27 28 System.out.println("請輸入第二個整數:"); 29 int y = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 30 System.out.println(y); 31 } 32 }
1 /* 2 * A:案例演示 3 * 比較兩個整數是否相同 4 * B:案例演示 5 * 獲取三個整數中的最大值 6 */ 7 8 //比較兩個整數是否相同 9 10 /*int x = 10; 11 int y = 10; 12 13 //boolean b = (x == y) ? true : false; 14 boolean b = (x == y); 15 System.out.println("b = " + b);*/ 16 17 //獲取三個整數中的最大值 18 int a = 10; 19 int b = 20; 20 int c = 30; 21 22 //先比較任意兩個數的值,找出這兩個數中的最大值 23 int temp = (a > b) ? a : b; 24 //用前兩個數的最大值與第三個數比較,獲取最大值 25 int max = (temp > c) ? temp : c; 26 System.out.println("max =" + max);
1 /* 2 * A:案例演示 3 * 鍵盤錄入練習:鍵盤錄入兩個數據,並對這兩個數據求和,輸出其結果 4 * B:案例演示 5 * 鍵盤錄入練習:鍵盤錄入兩個數據,獲取這兩個數據中的最大值 6 7 */ 8 public static void main(String[] args) { 9 Scanner sc = new Scanner(System.in); //建立鍵盤錄入對象 10 11 //鍵盤錄入練習:鍵盤錄入兩個數據,並對這兩個數據求和,輸出其結果 12 /*System.out.println("請輸入第一個整數:"); 13 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 14 System.out.println("請輸入第二個整數:"); 15 int y = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 16 int sum = x + y; 17 System.out.println(sum);*/ 18 19 //鍵盤錄入練習:鍵盤錄入兩個數據,獲取這兩個數據中的最大值 20 System.out.println("請輸入第一個整數:"); 21 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 22 System.out.println("請輸入第二個整數:"); 23 int y = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 24 25 int max = (x > y) ? x : y; //獲取x和y中的最大值 26 System.out.println("max = " + max); 27 }
1 /* 2 * A:案例演示 3 * 鍵盤錄入練習:鍵盤錄入兩個數據,比較這兩個數據是否相等 4 * B:案例演示 5 * 鍵盤錄入練習:鍵盤錄入三個數據,獲取這三個數據中的最大值 6 */ 7 import java.util.Scanner; //導包 8 class Test3_Scanner { 9 public static void main(String[] args) { 10 Scanner sc = new Scanner(System.in); //建立鍵盤錄入對象 11 12 //鍵盤錄入練習:鍵盤錄入兩個數據,比較這兩個數據是否相等 13 /*System.out.println("請輸入第一個整數:"); 14 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 15 System.out.println("請輸入第二個整數:"); 16 int y = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 17 18 //boolean b = (x == y)? true : false; 19 boolean b = (x == y); 20 System.out.println(b);*/ 21 22 //鍵盤錄入練習:鍵盤錄入三個數據,獲取這三個數據中的最大值 23 System.out.println("請輸入第一個整數:"); 24 int x = sc.nextInt(); //將鍵盤錄入的數據存儲在x中 25 System.out.println("請輸入第二個整數:"); 26 int y = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 27 System.out.println("請輸入第三個整數:"); 28 int z = sc.nextInt(); //將鍵盤錄入的數據存儲在y中 29 30 //定義臨時變量記錄住比較出前兩個變量中的最大值 31 int temp = (x > y) ? x : y; 32 //將比較後的結果與第三個變量中的值比較,比較出三個數中的最大值 33 int max = (temp > z) ? temp : z; 34 System.out.println(max); 35 } 36 }
1 System.out.println("Hello World!11111"); 2 System.out.println("Hello World!3333"); 3 System.out.println("Hello World!22222"); 4 System.out.println("Hello World!44444");
1 /* 2 * C:if語句的格式1 3 * 4 if(比較表達式) { 5 語句體; 6 } 7 * D:執行流程: 8 * 先計算比較表達式的值,看其返回值是true仍是false。 9 * 若是是true,就執行語句體; 10 * 若是是false,就不執行語句體; 11 */ 12 class Demo1_If { 13 public static void main(String[] args) { 14 int age = 17; 15 16 if (age >= 18) { 17 System.out.println("能夠瀏覽本網站"); 18 } 19 20 System.out.println("完了"); 21 } 22 }
1 /* 2 * a:比較表達式不管簡單仍是複雜,結果必須是boolean類型 3 * b:if語句控制的語句體若是是一條語句,大括號能夠省略; 4 * 若是是多條語句,就不能省略。建議永遠不要省略。 5 * c:通常來講:有左大括號就沒有分號,有分號就沒有左大括號 6 7 */ 8 class Demo2_If { 9 public static void main(String[] args) { 10 int age = 17; 11 12 if (age >= 18 && age <= 60) { 13 System.out.println("能夠瀏覽本網站"); 14 //int x = 10; 是兩句話,int x聲明是一句,x = 10 賦值是一句 15 } 16 System.out.println("完了"); 17 18 } 19 }
1 /* 2 * A:if語句的格式2 3 * 4 if(比較表達式) { 5 語句體1; 6 }else { 7 語句體2; 8 } 9 * B:執行流程: 10 * 首先計算比較表達式的值,看其返回值是true仍是false。 11 * 若是是true,就執行語句體1; 12 * 若是是false,就執行語句體2; 13 * C:案例演示 14 * a:獲取兩個數據中較大的值 15 * b:判斷一個數據是奇數仍是偶數,並輸出是奇數仍是偶數 16 17 * 注意事項:else後面是沒有比較表達式的,只有if後面有。 18 */ 19 class Demo3_If { 20 public static void main(String[] args) { 21 /*int x = 0; 22 if (x == 1) { 23 System.out.println("男廁所歡迎您"); 24 }else { 25 System.out.println("女廁所歡迎您"); 26 }*/ 27 28 //a:獲取兩個數據中較大的值 29 /*int x = 10; 30 int y = 20; 31 int z; 32 33 if (x > y) { 34 z = x; 35 }else { 36 z = y; 37 } 38 39 System.out.println(z);*/ 40 41 //b:判斷一個數據是奇數仍是偶數,並輸出是奇數仍是偶數 42 int num = 11; 43 if (num % 2 == 0) { 44 System.out.println(num + "是一個偶數"); 45 }else { 46 System.out.println(num + "是一個奇數"); 47 } 48 } 49 }
1 /* 2 * A:案例演示 3 * if語句和三元運算符完成同一個效果 4 * B:案例演示 5 * if語句和三元運算符的區別 6 7 * 三元運算符實現的,均可以採用if語句實現。反之不成立。 8 9 * 何時if語句實現不能用三元改進呢? 10 * 當if語句控制的操做是一個輸出語句的時候就不能。 11 * 爲何呢?由於三元運算符是一個運算符,運算符操做完畢就應該有一個結果,而不是一個輸出。 12 13 */ 14 class Demo4_If { 15 public static void main(String[] args) { 16 int x = 10; 17 int y = 20; 18 int z; 19 20 if (x > y) { 21 //z = x; 22 System.out.println(x + "是最大值"); 23 }else { 24 //z = y; 25 System.out.println(y + "是最大值"); 26 } 27 28 //System.out.println(z); 29 30 int a = 20; 31 int b = 30; 32 33 int c = (a > b)? a : b; 34 } 35 }
1 /* 2 * A:if語句的格式3: 3 * 4 if(比較表達式1) { 5 語句體1; 6 }else if(比較表達式2) { 7 語句體2; 8 }else if(比較表達式3) { 9 語句體3; 10 } 11 ... 12 else { 13 語句體n+1; 14 } 15 * B:執行流程: 16 * 首先計算比較表達式1看其返回值是true仍是false, 17 * 若是是true,就執行語句體1,if語句結束。 18 * 若是是false,接着計算比較表達式2看其返回值是true仍是false, 19 20 * 若是是true,就執行語句體2,if語句結束。 21 * 若是是false,接着計算比較表達式3看其返回值是true仍是false, 22 23 * 若是都是false,就執行語句體n+1。 24 * C:注意事項:最後一個else能夠省略,可是建議不要省略,能夠對範圍外的錯誤值提示 25 */ 26 class Demo5_If { 27 public static void main(String[] args) { 28 int x = 2; 29 if (x == 1) { 30 System.out.println("男廁所歡迎您"); 31 }else if (x == 0) { 32 System.out.println("女廁所歡迎您"); 33 }else { 34 System.out.println("沒法識別您的性別"); 35 } 36 } 37 }
1 /* 2 * A:案例演示 3 * 需求:獲取三個數據中的最大值 4 * if語句的嵌套使用。 5 */ 6 class Demo6_IfIf { 7 public static void main(String[] args) { 8 int a = 40; 9 int b = 50; 10 int c = 30; 11 12 if (a > b) { 13 if (a > c) { 14 System.out.println(a + "是最大值"); 15 }else { 16 System.out.println(c + "是最大值"); 17 } 18 19 }else { //b >= a 20 if (b > c) { 21 System.out.println(b + "是最大值"); 22 }else { 23 System.out.println(c + "是最大值"); 24 } 25 } 26 } 27 }
1 import java.util.Scanner; 2 class Test1_If { 3 public static void main(String[] args) { 4 /* 5 * A:練習1 6 * 7 需求:鍵盤錄入一個成績,判斷並輸出成績的等級。 8 90-100 優 9 80-89 良 10 70-79 中 11 60-69 及 12 0-59 差 13 14 * B:練習2 15 * 需求: 16 * 鍵盤錄入x的值,計算出y的並輸出。 17 18 * x>=3 y = 2 * x + 1; 19 * -1<x<3 y = 2 * x; 20 * x<=-1 y = 2 * x - 1; 21 */ 22 Scanner sc = new Scanner(System.in); 23 24 //需求:鍵盤錄入一個成績,判斷並輸出成績的等級。 25 /*System.out.println("請輸入學生成績範圍在1到100之間"); 26 int x = sc.nextInt(); 27 28 if (x >= 90 && x <= 100) { 29 System.out.println("優"); 30 }else if (x >= 80 && x <= 89 ) { 31 System.out.println("良"); 32 }else if (x >= 70 && x <= 79 ) { 33 System.out.println("中"); 34 }else if (x >= 60 && x <= 69 ) { 35 System.out.println("及"); 36 }else if (x >= 0 && x <= 59 ) { 37 System.out.println("差"); 38 }else { 39 System.out.println("成績錄入錯誤"); 40 }*/ 41 42 //需求: 鍵盤錄入x的值,計算出y的並輸出 43 System.out.println("請輸入一個整數:"); 44 int x = sc.nextInt(); 45 int y = 0; 46 if (x >= 3) { 47 y = 2 * x + 1; 48 }else if (x > -1 && x < 3) { 49 y = 2 * x; 50 }else if (x <= -1) { 51 y = 2 * x - 1; 52 } 53 54 System.out.println(y); 55 } 56 }
1 class Demo1_Switch { 2 public static void main(String[] args) { 3 /* 4 * A:switch語句的格式 5 * int x = 10; 6 switch(表達式) { //基本數據類型能夠接收byte,short,char,int 7 case 值1: //引用數據類型能夠接收枚舉(JDK1.5)String字符串(JDK1.7) 8 語句體1; 9 break; 10 case 值2: 11 語句體2; 12 break; 13 … 14 default: 15 語句體n+1; 16 break; 17 } 18 19 * B:switch語句的格式解釋 20 * C:面試題 21 * byte能夠做爲switch的表達式嗎? 22 * long能夠做爲switch的表達式嗎? 23 * String能夠做爲switch的表達式嗎? 24 * C:執行流程 25 * 先計算表達式的值 26 * 而後和case後面的匹配,若是有就執行對應的語句,不然執行default控制的語句 27 */ 28 29 String name = "rose"; 30 String gender = "妖"; 31 switch (gender) { 32 case "男士": 33 System.out.println(name + "是一位" + gender + "喜歡吃飯睡覺打dota"); 34 break; 35 case "女士": 36 System.out.println(name + "是一位" + gender + "喜歡逛街購物美容"); 37 break; 38 default: 39 System.out.println(name + "是一位" + gender + "打雌性激素維持美貌容顏"); 40 break; 41 } 42 } 43 }
1 class Test1_Switch { 2 public static void main(String[] args) { 3 //* A:整數(給定一個值,輸出對應星期幾) 4 int week = 1; 5 switch (week) { 6 case 1: 7 System.out.println("星期一"); 8 break; 9 case 2: 10 System.out.println("星期二"); 11 break; 12 case 3: 13 System.out.println("星期三"); 14 break; 15 case 4: 16 System.out.println("星期四"); 17 break; 18 case 5: 19 System.out.println("星期五"); 20 break; 21 case 6: 22 System.out.println("星期六"); 23 break; 24 case 7: 25 System.out.println("星期日"); 26 break; 27 default: 28 System.out.println("對不起沒有對應的星期"); 29 break; 30 } 31 } 32 }
1 class Test2_Switch { 2 public static void main(String[] args) { 3 // A:看程序寫結果: 4 5 /*int x = 2; 6 int y = 3; 7 switch(x){ 8 default: 9 y++; 10 break; 11 case 3: 12 y++; 13 case 4: 14 y++; 15 } 16 System.out.println("y="+y);*/ 17 18 //B:看程序寫結果: 19 20 int x = 2; 21 int y = 3; 22 switch(x){ 23 default: 24 y++; 25 case 3: 26 y++; 27 case 4: 28 y++; 29 } 30 System.out.println("y="+y); 31 } 32 }
1 import java.util.Scanner; 2 class Test3_SwitchIf { 3 public static void main(String[] args) { 4 /* 5 6 * 鍵盤錄入月份,輸出對應的季節 7 一年有四季 8 3,4,5春季 9 6,7,8夏季 10 9,10,11秋季 11 12,1,2冬季 12 */ 13 Scanner sc = new Scanner(System.in); //建立鍵盤錄入對象 14 System.out.println("請輸入月份"); 15 int month = sc.nextInt(); //將鍵盤錄入的結果存儲在month 16 /*switch (month) { 17 case 3: 18 case 4: 19 case 5: 20 System.out.println(month + "月是春季"); 21 break; 22 case 6: 23 case 7: 24 case 8: 25 System.out.println(month + "月是夏季"); 26 break; 27 case 9: 28 case 10: 29 case 11: 30 System.out.println(month + "月是秋季"); 31 break; 32 case 12: 33 case 1: 34 case 2: 35 System.out.println(month + "月是冬季"); 36 break; 37 default: 38 System.out.println("對不起沒有對應的季節"); 39 break; 40 }*/ 41 42 //用if語句來完成月份對應季節 43 if (month > 12 || month < 1) { 44 System.out.println("對不起沒有對應的季節"); 45 }else if (month >= 3 && month <= 5) { 46 System.out.println(month + "月是春季"); 47 }else if (month >= 6 && month <= 8) { 48 System.out.println(month + "月是夏季"); 49 }else if (month >= 9 && month <= 11) { 50 System.out.println(month + "月是秋季"); 51 }else { 52 System.out.println(month + "月是冬季"); 53 } 54 } 55 }