这个怎么转换的求详细解释

后来没有酒 2019-11-07 09:18:56
class HW03{ public static void main(String[] args){ //判断一个字符,是大写字母、小写字母还是数字字符 Scanner input = new Scanner(System.in); System.out.println("请输入一个字符: "); String s = input.next(); char ch = s.charAt(0); int num = (int)ch; String str = num >= 65 && num <= 90 ? "大写字母":num >= 97 && num <= 122? "小写字母": num >= 48 && num <= 57 ? "数字字符" : "其他字符";
...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40599844 2019-11-25
  • 打赏
  • 举报
回复
其实就是if语句判断语句后,又换了一种,比较方式,既三元运算符,其实和if语句的嵌套一个意思
L_vampire 2019-11-09
  • 打赏
  • 举报
回复
char对应一个Ascill码,这个概念有吧
后来没有酒 2019-11-09
  • 打赏
  • 举报
回复
引用 2 楼 哈撒keyi的回复:
直接:

if(s>='a'&&s<='z'){
    //这是小写
}else if(s>='A'&&s<='Z'){
    //这是大写
}else{
    //这是其他字符
}



懂了
三仙半 2019-11-09
  • 打赏
  • 举报
回复
当搞不清运算符的优先级时,用括号来显式的标明,可以最大限度的避免错误。

String str = (num >= 65 && num <= 90) ? "大写字母"
: ((num >= 97 && num <= 122) ? "小写字母" : ((num >= 48 && num <= 57) ? "数字字符" : "其他字符"));


另外,三目操作符嵌套真的可读性太差了,我个人是不会这么用的。
哈撒keyi 2019-11-08
  • 打赏
  • 举报
回复
直接:

if(s>='a'&&s<='z'){
    //这是小写
}else if(s>='A'&&s<='Z'){
    //这是大写
}else{
    //这是其他字符
}



RunWithSmile 2019-11-08
  • 打赏
  • 举报
回复
多看看运算符的优先级 单目>算数运算符>移位>比较>按位>逻辑>三目>赋值 单目运算符(一元运算符,即一个变量):+,-,++,-- 算数运算符:+,-,*,/,% 移位运算符:<<,>> 关系运算符:>,<,>=,<=,==,!= 位运算符:&,|,~,^, 逻辑运算符:&&,|| 三目运算符:表达式1?表达式2:表达式3; 赋值运算符:=等
敲出亿行bug 2019-11-08
  • 打赏
  • 举报
回复
其实就是if语句判断语句后,又换了一种,比较方式,既三元运算符,其实和if语句的嵌套一个意思
w.ang.jie 2019-11-07
  • 打赏
  • 举报
回复
s为你输入的值,将s转换为ascii值,然后与对应的数值判断是否是字符大小写

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧