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也可作区间操作

 

posted @ 2019-03-24 21:12  小白咚  阅读(156)  评论(0编辑  收藏  举报