java基础的第二轮快速学习!day04
day04
equals的使用,字符串比较内容,==与equals的区别
//练习,假如张三参加全国java编程比赛,如果得第一名则奖励10w,第二名得5w,第三名奖励2w,否则没有奖励
import java.util.*; class If06 { public static void main(String[] args) { //错误判断使用==,不能比较字符串内容 Scanner input=new Scanner(System.in); System.out.print("请输入名次"); String info=input.next(); /* 在java中,字符串比较时,使用==比较的是地址是否一样 如果在字符串中比较内容,则必须使用equals(),如果相等则为true,否则为false */ /*if(info=="第一名"){ System.out.println("奖励10w"); }else if(info=="第二名"){ System.out.println("奖励5w"); }else if(info=="第三名"){ System.out.println("奖励2w"); }else{ System.out.println("对不起,没有奖励"); }*/ //当字符串进行比较内容时,建议固定值编写在前面 if("第一名".equals(info)){ System.out.println("奖励10w"); }else if("第二名".equals(info)){ System.out.println("奖励5w"); }else if("第三名".equals(info)){ System.out.println("奖励2w"); }else{ System.out.println("对不起,没有奖励"); } } }
2.switch case 的使用,做等值操作时,可以用switch case
语法格式:
switch (表达式){
case 常量值1:
break; //表示中断,当遇到break则执行switch case外面的语句
case 常量值2:
break;
...
default:
}
注意:switch case中表达式可以是byte,short,int,char类型,在jdk7.0之后可以是String,枚举类型
在switch中编写任意多个case
case后面常量值的类型必须与表达式的类型一致
default是可有可无的,最多编写一个
当所有case都没有时,执行defalut
case后面常量值的顺序可以任意,一般按顺序编写
default的位置可以写在任意位置,建议编写在所有case后边
break是可有可无的,没有编写break,则就会从当前第一个匹配的case一直向下执行
根据题意适当编写break
case也可以合并
1 import java.util.*; 2 class Switch07 3 { 4 public static void main(String[] args) 5 { 6 //练习使用switch case 7 Scanner input=new Scanner(System.in); 8 System.out.print("请输入名次"); 9 String info=input.next(); 10 switch(info){ 11 case "第一名": 12 System.out.println("奖励10w"); 13 break;//表示中断,当遇到break则执行switch case外面的语句 14 case "第二名": 15 System.out.println("奖励5w"); 16 break; 17 case "第三名": 18 System.out.println("奖励2w"); 19 break; 20 default: 21 System.out.println("没有奖励); 22 break; 23 } 24 } 25 }
//练习11,根据输入的星期,得到具体每天做的事情,
星期一学习,二学习,三自习,四学习,五自习,六学习,日休息
1 import java.util.*; 2 class Switch11 3 { 4 public static void main(String[] args) 5 { 6 //练习使用switch case 7 Scanner input=new Scanner(System.in); 8 System.out.print("请输入字符类型的星期(一到日)"); 9 char week=input.next().chartAt(0); 10 switch(week){ 11 case '一': 12 /*System.out.println("学习"); 13 break;//表示中断,当遇到break则执行switch case外面的语句*/ 14 case '四': 15 case '二': 16 case '六': 17 System.out.println("学习"); 18 break; 19 case '三': 20 case '五': 21 System.out.println("自习"); 22 break; 23 case '日': 24 System.out.println("休息"); 25 break; 26 } 27 } 28 }
3.多重if与switch case 的区别:
都可做等值操作,
多重if也可作区间操作