Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中缺少从bool到整数的自动转换_Java_C - Fatal编程技术网

Java中缺少从bool到整数的自动转换

Java中缺少从bool到整数的自动转换,java,c,Java,C,Cy-=m

C
y-=m<3的等价物是什么在Java中?这是的一部分。

像这样:

if (m < 3) {
   y--;
}
if(m<3){
y--;
}
像这样:

if (m < 3) {
   y--;
}
if(m<3){
y--;
}
您可以编写

y -= m < 3 ? 1 : 0;
y-=m<3?1 : 0;
您可以编写

y -= m < 3 ? 1 : 0;
y-=m<3?1 : 0;
您试过了吗

y -= ( m < 3 ? 1 : 0 );
y-=(m<3?1:0);
您试过了吗

y -= ( m < 3 ? 1 : 0 );
y-=(m<3?1:0);

如果你想让它保持一点模糊,你可以做
y-=m<3?1 : 0;

如果你想让它保持一点模糊,你可以做
y-=m<3?1 : 0;

试试这个:(java中没有布尔值到int的转换)

y-=(m试试这个:(java中没有布尔值到int的转换)


y-=(m如果m小于3,也就是说,如果月份是1月或2月,则该语句从y中减去1。在java中有几种编码方法,例如:

if (m<3) y = y-1;
if (m<3) --y;
y = (m<3)? y-1 : y;
y -= (m<3)? 1 : 0;

if(m如果m小于3,也就是说,如果月份是1月或2月,则该语句从y中减去1。有几种用java编写代码的方法,例如:

if (m<3) y = y-1;
if (m<3) --y;
y = (m<3)? y-1 : y;
y -= (m<3)? 1 : 0;

if(我认为
if
在这里比
trimal
操作符更清晰。我认为
if
在这里比
trimal
操作符更清晰。第三个选项毁了我的一天:)第三个选项毁了我的一天:)但有一个例外,那就是如果你在一篇论文中根据规范或示例实现编写Java代码,使用
y-=m<3
,那么你可能会认为与规范等价的明显性超过Java代码的可读性。如果你复制一个算法,你或多或少不在乎代码做什么因为它符合定义,你可以担心你是否以及何时开始创新。在这种情况下,除非我们先更改日历,否则直到9999年才会发生。我怀疑这一点,但不确定。@Brian:今天就看:“使用本书中的每一个技巧以牺牲清晰度为代价节省几微秒计算时间的程序员与当今世界的成本结构不符。你必须在编写程序时既考虑到人,也考虑到计算机。”(J.J.Prichard和F.M.Carrano)。但有一个例外,那就是如果你在一篇论文中根据规范或示例实现编写Java代码,使用
y-=m<3
,那么你可能会认为与规范等价的明显性超过Java代码的可读性。如果你在复制一个算法,你或多或少不在乎代码做什么因为它符合定义,你可以担心你是否以及何时开始创新。在这种情况下,除非我们先更改日历,否则直到9999年才会发生。我怀疑这一点,但不确定。@Brian:今天读一下:程序员利用书中的每一个技巧来节省几微秒的计算时间,却以牺牲清晰度为代价,这与当今世界的成本结构不符。你必须在编写程序时既考虑到人,也考虑到计算机。”(J.J.Prichard和F.M.Carrano著)。