概述
1.问题重述
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
2.解析
2.1switch语句
Switch语句的格式是:
switch(变量){
case 变量值1:
//;
break;
case 变量值2:
//…;
break;
default:
//…;
break;
}
2.2equals与==的区别
“==” 比较的是两个变量的值是否相等,对于引用变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。(地址是否相同)
因为我们要比较的值是字符型,在用于比较int、long、double、float类型时,这些类型的值有符号,有数值上的大小,而字符型变量无符号,,==就会比价其存储地址。
示例代码:
public class demo{
public static void main(String[] args) {
int n=3;
int m=3;
System.out.println(n==m);
String str = new String("hello");
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1==str2);
str1 = str;
str2 = str;
System.out.println(str1==str2);
}
}
输出结果:
true
false
true
equals比较的是两个变量是否是对同一个对象的引用,即堆中内容是否相同。(内容是否相同)所以在此时,用equals更合适一些。
3.解决问题
代码如下:
import java.util.Scanner;
//题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
public class demo {
public static void main(String[] args) {
System.out.println("请输入第一个英文字母:");
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
switch (input) {
case "m":
System.out.println("Monday");
break;
case "t":
System.out.println("请输入第二个字母:");
String input2 = scanner.next();
//用equals判断后续字母是否相同
if (input2.equals("u")) {
System.out.println("Tuesday");
} else if (input2.equals("h")) {
System.out.println("Thursday");
} else {
System.out.println("你输入的字母有误!");
}
break;
case "w":
System.out.println("Wednesday");
break;
case "f":
System.out.println("Friday");
break;
case "s":
System.out.println("请输入第二个字母:");
String input3 = scanner.next();
//用equals判断后续字母是否相同
if (input3.equals("u")) {
System.out.println("Sunday");
} else if (input3.equals("a")) {
System.out.println("Saturday");
} else {
System.out.println("你输入的字母有误!");
}
break;
default:
System.out.println("你输入的字母不正确!");
break;
}
scanner.close();
}
}
最后
以上就是自觉大侠为你收集整理的Java50道经典编程题:(二十六)日期判断 ——switch语句与equals的用法的全部内容,希望文章能够帮你解决Java50道经典编程题:(二十六)日期判断 ——switch语句与equals的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复