java 三元表达式 求把他变成if...else的格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 三元表达式 求把他变成if...else的格式相关的知识,希望对你有一定的参考价值。

viewState.equals("1")?(vo.getViewTime()==null? "0":vo.getViewTime()):"0"

参考技术A if(viewState.equals("1")
if(vo.getViewTime()==null)
return "0";

else
return vo.getViewTime();



else
return "0";

本回答被提问者采纳
参考技术B if(viewState.equals("1")
    if(vo.getViewTime()==null)
       return "0";
    else
       return vo.getViewtime();
    
else
    return "0";

JavaScript 三元运算符变成完整的 if/else 语句问题

【中文标题】JavaScript 三元运算符变成完整的 if/else 语句问题【英文标题】:JavaScript ternary operator into full if/else statement issue 【发布时间】:2012-02-08 14:39:03 【问题描述】:

我有以下三元语句:

$.history.init(function(url) 
        load(url == "" ? "#some-page" : url);
);

我已经改写成:

$.history.init(function(url) 
         load( 
               if( url == "") url = "#some-page"
                else  url = url 
         );
 );

我现在是第 3 行 if(url == "") 的错误,但我不明白是什么错误。 任何建议都非常感谢。

【问题讨论】:

【参考方案1】:

在 JavaScript 中,if 不是 表达式。它不返回值,也不能放在函数调用中。也就是说,这是无效的:

func(if (a)  ...  else  ... );

这是if?:的主要区别——运算符是表达式,返回值; if 是一个语句,not返回一个值,不能到处使用。

如果您必须避免使用三元运算符,最好的选择是执行以下操作:

if (url == "") 
  url = "#some-page";
 

load(url);

你也可以使用||达到同样的效果:

function (url) 
  load(url || "#some-page");

这是编写代码的最短且最惯用的方式。

【讨论】:

【参考方案2】:

改写成

$.history.init(function(url) 
        if( url == "") 
           url = "#some-page";
         
         load( url );
 );

【讨论】:

【参考方案3】:

您重写的代码无效。试试这个:

$.history.init(function(url) 
      if(url == "") 
         load("#some-page");
       else 
         load(url);
      
);

【讨论】:

【参考方案4】:

您需要if 语句位于load 函数之外,即

$.history.init(function(url) 
    if (url === "")  
        url = "#some-page";
    
    load(url);
);

请注意,您不需要 else 子句,因为 url = url 是一个冗余操作。

【讨论】:

【参考方案5】:

if 表达式在 JS 中不返回任何内容。所以基本上load(undefined).

试试这个:

if (url === '') 
  url = '#some-page';


load(url);

请注意,您根本不需要 else,因为如果该值存在,则您无需更改任何内容。

【讨论】:

以上是关于java 三元表达式 求把他变成if...else的格式的主要内容,如果未能解决你的问题,请参考以下文章

三元表达式列表生成式生成器表达式

JavaScript 三元运算符变成完整的 if/else 语句问题

if/else 三元表达式中的 def

JavaScript-流程控制(if else三元表达式switch)循环(forwhilecontinue break)

js三元表达式

js 三元表达式