邏輯運算符java
&&和&的區別:spa
位運算符code
實現兩個整數變量的交換對象
方法一:建立第三方變量blog
1 int x=10; 2 int y=5; 3 4 int temp; 5 temp=x; 6 x=y; 7 y=temp; 8 9 System.out.println("x="+x+",y="+y);
方法二:有弊端,有可能超出int的取值範圍it
1 x=x+y; //10+5=15 2 y=x-y; //15-5=10 3 x=x-y; //15-10=5
方法三:經過位異或 ^class
1 x=x^y; //10^5 2 y=x^y; //10^5^5 y=10 3 x=x^y; //10^5^10 x=5
位移運算符import
<<:左移 左邊最高位丟棄,右邊補齊0變量
1 System.out.println(12<<1); //24 2 System.out.println(12<<2); //48
>>:右移 最高位是0,左邊補齊0;最高位是1,左邊補齊1方法
1 System.out.println(12>>1); //6 2 System.out.println(12>>2); //3
>>>:無符號右移 不管最高位是0仍是1,左邊補齊0
三元運算符
1 //例子 2 //比較兩個整數是否相同 3 int x=10; 4 int y=5; 5 //boolean b = (x==y) ? true:false; 6 boolean b = (x==y) ; 7 System.out.println("b="+b); 8 9 //獲取三個整數中的最大值 10 int a=10; 11 int b=20; 12 int c=30; 13 //先比較任意兩個數的值,找出這兩個數中的最大值 14 int temp = (a>b) ? a:b; 15 //用前兩個數的最大值與第三個數比較,獲取最大值 16 int max = (temp>c) ? temp:c; 17 System.out.println("max="+max);
鍵盤錄入的基本格式
(1)導包:import java.util.Scanner;在class上面
(2)建立鍵盤錄入對象:Scanner sc = new Scanner(System.in);
(3)經過對象獲取數據:int x = sc.nextInt();
1 //例子 2 import java.util.Scanner; 3 class text{ 4 public static void main(String[] args){ 5 Scanner sc = new Scanner(System.in);//經過鍵盤錄入 6 System.out.println("請輸入一個整數:"); 7 int x = sc.nextInt(); 8 System.out.println(x); 9 } 10 }
選擇結構if語句
if 語句格式一:
1 if(比較表達式){ 2 語句體; 3 }
執行流程:
1 int age = 19; 2 if(age>=18){ 3 System.out.println("能夠瀏覽"); 4 } 5 System.out.println("不能夠"); 6 }
注意事項:
(1)比較表達式不管簡單仍是複雜,結果必須是boolean類型;
(2)if語句控制的語句體若是是一條語句,大括號能夠省略;
if語句格式二:
1 if(比較表達式){ 2 語句體1; 3 }else{ 4 語句體2; 5 }
執行流程:
//例子 //一、獲取兩個數中較大的值 int x = 1; int y = 2; if(x>y){ System.out.println(x); }else{ System.out.println(y); }
//二、判斷一個數是奇數仍是偶數,並輸出是奇數仍是偶數 int num = 10; if(num%2==0){ System.out.println(num+"是一個偶數"); }else{ System.out.println(num+"是一個奇數"); }
if語句格式三:
1 if(比較表達式1){ 2 語句體1; 3 }else if(比較表達式二){ 4 語句體2; 5 }else if(比較表達式三){ 6 語句體3; 7 } 8 //……………… 9 else{ 10 語句體n+1; 11 }
練習:
1 //例子 2 //一、鍵盤錄入一個成績,判斷並輸出成績的等級 3 /* 4 90-100:優 5 80-89: 良 6 70-79: 中 7 60-69: 及 8 0-59: 差 9 */ 10 Scanner sc = new Scanenr(System.in); 11 System.out.println("請輸入學生成績"); 12 int x = sc.nextInt(); 13 if(x>=90 && x<=100){ 14 System.out.println("優"); 15 }else if(x>=80 && x<=89){ 16 System.out.println("良"); 17 }else if(x>=70 && x<=79){ 18 System.out.println("中"); 19 }else if(x>=60 && x<=69){ 20 System.out.println("及"); 21 }else if(x>=0 && x<=59){ 22 System.out.println("差"); 23 }else{ 24 System.out.println("成績錄入錯誤"); 25 }
if語句的嵌套使用:
1 //例子 2 //獲取三個數的最大值 3 int a = 10; 4 int b = 20; 5 int c = 30; 6 if(a>b){ 7 if(a>c){ 8 System.out.println(a+"是最大值"); 9 }else{ 10 System.out.println(c+"是最大值"); 11 } 12 }else{ //b>=a 13 if(b>c){ 14 System.out.println(b+"是最大值"); 15 }else{ 16 System.out.println(c+"是最大值"); 17 } 18 }
switch語句:
int x=10; switch(表達式){ case 值1: 語句體1; break; case 值2: 語句體1; break; //........ default: 語句體n+1; break; }
1 //例子 2 //給定一個值,輸出對應星期幾 3 int week = 5; 4 switch (week) { 5 case 1: 6 System.out.println("星期一"); 7 break; 8 case 2: 9 System.out.println("星期二"); 10 break; 11 case 3: 12 System.out.println("星期三"); 13 break; 14 case 4: 15 System.out.println("星期四"); 16 break; 17 case 5: 18 System.out.println("星期五"); 19 break; 20 case 6: 21 System.out.println("星期六"); 22 break; 23 case 7: 24 System.out.println("星期日"); 25 break; 26 default: 27 System.out.println("沒有對應的星期"); 28 break; 29 }