关于Java中"if语句"的问题

Mah*_*ran 0 java if-statement

看看下面的java代码.

String Remark="";
boolean Paid, PartiallyPaid, NotPaid;
if(Paid=true) {Remark="Paid";}
if(PartiallyPaid=true) {Remark="Partially Paid";}
if(NotPaid=true)  {Remark="Not Paid";}
Run Code Online (Sandbox Code Playgroud)

这里是RadioButtons确定的布尔值.我想分配如上所述的字符串"备注".但它始终只给出最后一个赋值(作为"未付费").有人解释为什么会这样吗?

suj*_*hvm 7

用来==代替=比较.

== 用于比较两个值的相等性

= 用于将一个值分配给另一个

String Remark="";
boolean Paid, PartiallyPaid, NotPaid;  // initialise values else compile error, pointed out by  Peter O.
if(Paid==true) {Remark="Paid";}
if(PartiallyPaid==true) {Remark="Partially Paid";}
if(NotPaid==true)  {Remark="Not Paid";}
Run Code Online (Sandbox Code Playgroud)

正如unholysampler指出的那样

对于布尔值,您不必显式检查相等性.以下会做

String Remark="";
boolean Paid, PartiallyPaid, NotPaid;  // initialise values else compile error, pointed out by  Peter O.
if(Paid) {Remark="Paid";}
if(PartiallyPaid) {Remark="Partially Paid";}
if(NotPaid)  {Remark="Not Paid";}
Run Code Online (Sandbox Code Playgroud)