學了變量,知道是用來保存數(shù)據的。
學習表達式呢,知道是把數(shù)據用來運算的。
if結構 主要是幫助我們解決現(xiàn)實中的 如果 問題
一:if結構
1:if的基本結構 語法如下
if (條件){ //條件 是 關系表達式 或邏輯表達式,也就是說結果為true或false的
//語句塊
}
這個語法所表達的含義:
如果 條件為true 那么執(zhí)行語句塊
// TODO Auto-generated method stub
//1:從鍵盤輸入一個數(shù)字,判斷這個數(shù)字是否為4位數(shù)
//如果是4位數(shù),就輸出
Scanner s=new Scanner(System.in);
System.out.println("請輸入一個整數(shù):");
//nextInt() 這個方法是屬于Scanner這個類的
//方法就是函數(shù),就是任務
//方法的作用是從鍵盤得到一個整數(shù)
int num=s.nextInt();
if(num>=1000 && num<=9999){
System.out.println(num+"是4位");
}
//1:從鍵盤輸入3個數(shù)字,找出最大值
Scanner s=new Scanner(System.in);
System.out.print("請輸入第1個數(shù):");
int num1=s.nextInt();
System.out.println();//ln 表示換行
System.out.print("請輸入第2個數(shù):");
int num2=s.nextInt();
System.out.println();
System.out.print("請輸入第3個數(shù):");
int num3=s.nextInt();
if(num1>num2 && num1>num3){//num1>num2>num3
System.out.println(num1+"是最大的");
}
if(num2>num1 && num2>num3){
System.out.println(num2+"是最大的");
}
if(num3>num1 && num3>num2){//num1>num2>num3
System.out.println(num3+"是最大的");
}
2:if的第二種結構
語法為
if(條件為真){
//語句塊 --很多的語句
}else{//條件為false
//語句塊2
}
//請從鍵盤輸入一個字母
//判斷是不是元音字母(a,e,i,o,u)
//是,輸出是元音字母,否則,不是
Scanner s=new Scanner(System.in);
System.out.println("請輸入一個字母:");
String str=s.next();
//怎么判斷字符串長度為一呢
if(str.length()==1){ //length() 方法表示求字符串的長度
//還要判斷是不是字母
if(str.charAt(0)>='a' && str.charAt(0)<='z'){//是小寫字母
//字符與字符串的區(qū)別
//字符是單引號'' 里面只有一個
//字符串是雙引號"" 里面不止一個
//java中字符串相等使用equals方法
if(str.equals("a")|| str.equals("e") || str.equals("i") || str.equals("o") || str.equals("u")){
System.out.println(str+"是小寫并且是元音字母");
}
else{
System.out.println(str+"是小寫并且不是元音字母");
}
}
else
{
System.out.println(str+"不是字母或不是小寫字母");
}
}else{
System.out.println(str+"長度不是1");
}
3:if結構的第3種形式
if(條件1){
//語句塊1
}else if(條件2){
//語句塊2
}else if(條件3){
//語句塊3
}
…………
else
{
//else 內容
}
像這種,適應于多條件的情況,并且數(shù)據是有范圍的
//從鍵盤輸入一個成績
/*
如果成績在80-100之間,那么輸出優(yōu)秀
如果成績在70-80之間,那么輸出良好
如果成績在60-70之間,那么輸出及格
如果在60以下,那么輸出不及格
*/
Scanner s=new Scanner(System.in);
System.out.println("請輸入成績:");
int score=s.nextInt();
if(score>=0 && score<=100){
if(score>=80 && score<=100){
System.out.println(score+"是優(yōu)秀");
}elseif(score>=70 && score<80){
System.out.println(score+"是良好");
}elseif(score>=60 && score<70){
System.out.println(score+"是及格");
}else{
System.out.println(score+"是不及格");
}
}
4:if 結構的第四種形式
switch(表達式){ //switch 當
case '常量值 1': //case 就是情況的意思
語句(組);
break;
case '常量值 2':
語句(組);
break;
case '常量值 N':
語句(組);
break;
default:
語句(組);
}
表達式必須為byte,short,int或char類型
適應于多條件的情況,并且數(shù)據是有具體值的
//從鍵盤輸入一個成績
/*
如果輸入數(shù)字1,那么輸出星期一
如果輸入數(shù)字2,那么輸出星期2
如果輸入數(shù)字3,那么輸出星期3
其他數(shù)字,輸出未知
*/
Scanner s=new Scanner(System.in);
System.out.println("請輸入數(shù)字:");
int score=s.nextInt();
switch(score){
case 1:{
System.out.println("星期一");
break;//跳出,結束
}
case 2:{
System.out.println("星期2");
break;//跳出,結束
}
case 3:{
System.out.println("星期3");
break;//跳出,結束
}
default:{
System.out.println("未知");
}
}