我对 if 语句有一个奇怪的问题。我正在检查布尔值是否为真,如果它是必须运行的 if 语句。我在很多地方 System.out.println 布尔值的值,它总是假的,但 if 语句仍然运行。有什么帮助吗?
import java.util.ArrayList;
public class GameLoop extends Thread {
private Boolean running;
private ArrayList<Meteor> meteorArrayList;
private Boolean win;
private GameScreen gameScreen;
public GameLoop(GameScreen gameScreen, ArrayList<Meteor> meteorArrayList)
{
setMeteorArrayList(meteorArrayList);
setGameScreen(gameScreen);
setRunning(true);
setWin(false);
}
@Override
public void run()
{
while (running)
{
if(checkWin());
{
System.out.println(checkWin());
gameScreen.winGame();
}
}
}
public Boolean checkWin()
{
if(getMeteorArrayList().isEmpty())
{
setWin(true);
}
else
{
setWin(false);
}
System.out.println(getWin());
return getWin();
}
public void cancel()
{
interrupt();
}
//======================GETTER EN SETTERS============================= …Run Code Online (Sandbox Code Playgroud) 在C#中,以下代码片段做了什么?
1)
if (!object)
{
//code
}
Run Code Online (Sandbox Code Playgroud)
2)
if (object)
{
//code
}
Run Code Online (Sandbox Code Playgroud)
object是一个类的实例,绝对不是bool.
1)在Java中,尝试上面的代码会使编译器发出错误.只有布尔变量可以用作Condition_Block.这按预期工作.
2)在C++中,if (!object){/**/}用于空检查.
3)在C#中,编译器不发出错误并愉快地编译它.谷歌从未提及过!操作员用于对象.它只给出bool值的搜索结果.再加上侮辱伤害,它会让人们谈论的结果?和?? 运营商,这些运营对于团结开发者来说可能有30到40年的时间.仅支持NET3.5 API.如果!运算符在C++中工作,为什么人们需要?和?? ??
编辑:完整代码.
using UnityEngine;
using System.Collections;
public class Foo : MonoBehaviour
{
void Start ()
{
Foo a = new Foo();
if (a) Debug.Log("a");
if (!a) Debug.Log("b");
}
}
Run Code Online (Sandbox Code Playgroud)
它在执行时打印"b".
我们如何在运算符中编写没有 else 的单行 If 条件?
例子:
如果(计数== 0){计数= 2; }
我们怎么能像下面这样写:
计数=计数==0?2;
由于三元运算符需要 if else 条件。我想在没有 ternery 运算符的情况下做到这一点。C#中是否有可用的运算符?
谢谢。
c# conditional if-statement conditional-operator assignment-operator
我对python中的比较运算符有疑问.我想知道这是对还是错.
我有一些分配给变量的输出.所以我们说:
result1, result2, result3
Run Code Online (Sandbox Code Playgroud)
现在我做一个比较
if result1 == 0 and result2 == 0 and result3 == 0:
print "Success "
else:
print "failure"
Run Code Online (Sandbox Code Playgroud)
我怀疑这种比较可以用这种格式进行
if 0 in (result1 , result2 ,result3):
print "Success"
else :
print "failure"
Run Code Online (Sandbox Code Playgroud)
这是正确使用Python吗?如果没有,那是什么原因?
我有一个项目,其中我想实现大约6000 else if语句,但问题是我在我的类文件中收到错误.
这里有一些错误的截图我得到错误1 http://pho.to/4I2Zh
有没有办法在两个类中拆分或分割我的else-if语句?或者从xml文件中调用它们?
这是我的班级文件
public class WebViewActivity extends Activity {
WebView web;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
web = (WebView) findViewById(R.id.webView1);
web.setWebViewClient(new myWebClient());
web.getSettings().setJavaScriptEnabled(true);
int pos = getIntent().getIntExtra("key",0);
if(pos==0)
{
web.loadUrl("file:///android_asset/1work1.html");
}
else if(pos==1)
{
web.loadUrl("file:///android_asset/work1.html");
}
else if(pos==2)
{
web.loadUrl("file:///android_asset/work2.html");
}
else if(pos==3)
{
web.loadUrl("file:///android_asset/work3.html");
}
// similarly for 4 and 5 and so on.
}
public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) …Run Code Online (Sandbox Code Playgroud) 我只是想问为什么我的"IF"声明现在不能正常工作,早些时候工作正常,我刚刚为iPad制作了一个版本,然后它再也无法工作了.这是我的if语句.
- (void)textFieldDidChanges{
if ([self.feet1.text isEqualToString:@"0"])
self.feet1.backgroundColor = [UIColor grayColor];
if([self.feet2.text isEqualToString:@"0"])
self.feet2.backgroundColor = [UIColor grayColor];
if([self.feet3.text isEqualToString:@"0"])
self.feet3.backgroundColor = [UIColor grayColor];
if([self.feet4.text isEqualToString:@"0"])
self.feet4.backgroundColor = [UIColor grayColor];
if([self.feet5.text isEqualToString:@"0"])
self.feet5.backgroundColor = [UIColor grayColor];
if([self.feet6.text isEqualToString:@"0"])
self.feet6.backgroundColor = [UIColor grayColor];
if([self.feet7.text isEqualToString:@"0"])
self.feet7.backgroundColor = [UIColor grayColor];
if([self.feet8.text isEqualToString:@"0"])
self.feet8.backgroundColor = [UIColor grayColor];
if([self.feet9.text isEqualToString:@"0"])
self.feet9.backgroundColor = [UIColor grayColor];
if([self.feet10.text isEqualToString:@"0"])
self.feet10.backgroundColor = [UIColor grayColor];
if([self.feet11.text isEqualToString:@"0"])
self.feet11.backgroundColor = [UIColor grayColor];
if([self.feet12.text isEqualToString:@"0"])
self.feet12.backgroundColor = [UIColor grayColor];
if([self.feet13.text isEqualToString:@"0"])
self.feet13.backgroundColor = …Run Code Online (Sandbox Code Playgroud) def vertify(a:Int):Int= {
val result = 3
if(a>4) {
val result = a
}
return result
}
Run Code Online (Sandbox Code Playgroud)
我定义了上面的函数,然后使用它:
scala> vertify(5)
res4: Int = 3
Run Code Online (Sandbox Code Playgroud)
为什么结果3而不是5?
如果我有两个if语句后跟一个else,那么第一个语句基本上被忽略了:
x = 3
if x == 3:
test = 'True'
if x == 5:
test = 'False'
else:
test = 'Inconclusive'
print(test)
Run Code Online (Sandbox Code Playgroud)
返回:
Inconclusive
Run Code Online (Sandbox Code Playgroud)
在我看来,因为第一个if语句是True,所以结果应该是"True".为了使其发生,必须将第二个if语句更改为"elif".有谁知道为什么?
我的代码:
num = 5
if num > 2:
print(num)
num -= 1
print(num)
Run Code Online (Sandbox Code Playgroud)
预期产量:
5,4,3,2
Run Code Online (Sandbox Code Playgroud)
实际产量:
5,4
Run Code Online (Sandbox Code Playgroud)
问题:为什么我会收到实际输出而不是预期输出?
我想知道条件语句(例如if语句)的正确用法,以避免未定义的行为。让我们从一个例子开始:
uint8_t x = 0;
bool y = false;
bool z = false;
if ((x == 135) and !y and !z) {
//do something
}
else if ((x == 135) and y) {
x = 5;
z = true;
}
else if ((x == 5) and z) {
x = 135;
z = false;
}
else {
//do something
}
Run Code Online (Sandbox Code Playgroud)
现在,是否通过不将所有3个变量都包含在每个条件中来获得不确定的行为?是否将所有未说明的条件都放入else语句中?如果是这样,如果我放弃else语句会怎样?我有完全相同的if语句(在更复杂的情况下),而且我似乎每次都不会进入正确的语句。
如果有此规定,请赐教。
c++ conditional if-statement undefined-behavior language-lawyer
if-statement ×10
python ×3
android ×2
c# ×2
conditional ×2
c++ ×1
equals ×1
ios ×1
java ×1
loops ×1
objective-c ×1
return ×1
scala ×1