例1:從鍵盤輸入三個整數分別存入num1,num2,num3,對他們進行排序,並且從小到大輸出
代碼實現:
import java.util.Scanner; class IfTest1{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("請輸入你的第一個整數:"); int num1 = scan.nextInt(); System.out.println("請輸入你的第二個整數:"); int num2 = scan.nextInt(); System.out.println("請輸入你的第三個整數:"); int num3 = scan.nextInt(); if(num1 <= num2){ if(num3>=num2){ System.out.println(num3+"\t"+num2+"\t"+num1); } else{ if(num3<=num1){ System.out.println(num3+"\t"+num1+"\t"+num2); } else{ System.out.println(num1+"\t"+num3+"\t"+num2); } } } else{ if(num3>=num1){ System.out.println(num2+"\t"+num1+"\t"+num3);} else{ if(num3>=2){ System.out.println(num2+"\t"+num3+"\t"+num1); } else{ System.out.println(num3+"\t"+num3+"\t"+num1); } } } } }
編譯實現:
例2:高富帥問題;
大家都知道,男大當婚,女大當嫁。那么女方家長要嫁女兒,當然要提出一定的條件,高180以上;富:財富1千萬以上;帥:是。(.equals(str))
√ 如果這三個條件同時滿足:則:"我一定要嫁給他!!!"
√ 如果這三個條件有存為真的情況,則:“嫁吧,比上不足,比下有余。”
√ 如果三個條件都不滿足,則:“不嫁!”
代碼實現:
import java.util.Scanner; class IfTest1{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("請輸入你的身高(cm):)"); int height = scan.nextInt(); System.out.println("請輸入你的身價(千萬):"); double wealth = scan.nextDouble(); System.out.println("你是否符合帥這個條件(true/false):"); boolean isHandsome = scan.nextBoolean(); if(height>=180 && wealth>=1 && isHandsome) { System.out.println("我一定要嫁給他!!!"); } else if(height>=180 || wealth>=1 || isHandsome){ System.out.println("嫁吧,比上不足,比下有余."); } else { System.out.println("不嫁!"); } } }
編譯實現:
例3:彩票問題
假設你想開發一個玩彩票的游戲,程序隨機地產生一個兩位數的彩票,提示用戶輸入一個兩位數,然后根據下面的規則判定用戶是否輸贏。
1)如果用戶輸入的數匹配彩票的實際順序,獎金10000元。
2)如果用戶輸入的數匹配彩票的所有數字,但順序不一致,獎金3000元。
3)如果用戶輸入的一個數字只滿足順序情況下匹配彩票的一個數字,獎金1000元。
4)如果用戶輸入的一個數字只滿足非順序情況下匹配彩票的一個數字,獎金500元。
5)如果用戶輸入的數字沒有匹配任何一個數字,則彩票作廢。
思路:
1.隨機數的產生
2.確定隨機數的范圍
隨機數代碼實現:
class IfTest1{ public static void main(String[] args){ int value=(int)(Math.random()*90+10); System.out.println(value); //公式 [a,b] Math.random()*(b-a+1)+a) } }
編譯實現:
例4:if-else筆試題
1)對下列代碼,若有輸出指出輸出結果。——就近原則
int x=4; int y=1; if(x>2){ if(y>2) System.out.println(x+y); System.out.println("atguigu"); }else System.out.println("x is"+x);
分析:x>2,符合,但是y並不大於2.這部分有2行代碼,分別是System.out.println(x+y);和 System.out.println("atguigu");在沒有括號的情況下,只能有一句跟着if(y>2),就是上邊的第一句System.out.println(x+y);,如果不符合則為輸出atguigu,所以這道題輸出為atguigu。
編譯實現:
2)
class IfTest1{ public static void main(String[] args){ boolean b=true; if(b==false) System.out.println("a"); else if(b) System.out.println("b"); else if(!b) System.out.println("c"); else{ System.out.println("d"); } } }
編譯實現:
如果if(b==false)改成if(b=false),編譯實現: