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 @   小白咚  阅读(158)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示