相关疑难解决方法(0)

4
推荐指数
1
解决办法
5362
查看次数

为什么我的if else语句(即?:)不起作用?

我是Java的新手,正在尝试学习缺少if-else语句的概念.

我想出了下面的代码.但是,代码不会编译并在if-else(即?:)语句旁边显示错误.

有人可以告诉我为什么它不起作用?

对不起,如果我的问题听起来很愚蠢.我是Java的新手.

在此先感谢您的帮助!

List<String> ls1 = new LinkedList<>(Arrays.asList("hello", "world", "morning", "world"));
Map<String, Integer> msi1 = new LinkedHashMap<>();

for(String s1 : ls1){
    Integer i1 = msi1.get(s1);
    i1 == null ? msi1.put(s1, i1) : msi1.put(s1, i1 + 1));//why can't I use the short if-else statement like this.
}
Run Code Online (Sandbox Code Playgroud)

java if-statement

3
推荐指数
1
解决办法
112
查看次数

Java一行如果不适用于打印

如果你写的东西如下:

    boolean condition;
    (...)
    String out = condition ? "true" : "false";
    System.out.println(out);
Run Code Online (Sandbox Code Playgroud)

有用.但如果你写

    condition ? System.out.println("true") : System.out.println("false");
Run Code Online (Sandbox Code Playgroud)

你得到一个"非声明"的错误."正确"的方式是写(使用大括号或"成为或不成一行"超出了问题的范围):

    if (condition)
        System.out.println("true");
    else
        System.out.println("false");
Run Code Online (Sandbox Code Playgroud)

为什么?一行if必须总是返回一个值?

编辑:向大家指出这一点

    condition ? System.out.println("true") : System.out.println("false");
Run Code Online (Sandbox Code Playgroud)

是不是一个正确的语法,是的,我得到了那一部分.我不是要求解决方案(尽管如此)

    System.out.println(condition ? "true" : "false");
Run Code Online (Sandbox Code Playgroud)

很好

@Andrew Tobilko在哪里说明了什么?THAT是我很感兴趣的内容.

编辑2:接受的答案提供了我想要的.谢谢

java if-statement

2
推荐指数
1
解决办法
1263
查看次数

为什么这个基本的Java布尔表达式不起作用?

为什么这不用Java(v1.8)计算.对我来说似乎完全符合逻辑......

boolean banana = true;
(banana == true || false) ? System.out.println("True") : System.out.println("False");
Run Code Online (Sandbox Code Playgroud)

输出消息:错误:java:不是语句

java

-3
推荐指数
1
解决办法
225
查看次数

标签 统计

java ×4

if-statement ×2

void ×1