用``boolean``和``switch``理解一段代码

时间:2017-06-26 02:58:24

标签: processing.js

我正在寻找一些与键盘交互的例子,并偶然发现了我觉得有趣的代码。但是我很难理解它的某个部分(它标记在下面)。我不知道所有这整个''布尔''声明,''切换''和''CASE''如何工作,我试过看看参考但仍然。有人可以用简单的方式解释这些是如何工作的吗?

float x = 300;
float y  = 300;
float speed = 5;
boolean isLeft, isRight, isUp, isDown; 
int i = 0;

void keyPressed() {
  setMove(keyCode, true);

if (isLeft ){
  x -= speed;
}
if(isRight){
  x += speed;
}
}

void keyReleased() {
  setMove(keyCode, false);

}

boolean setMove(int k, boolean b) {// <<<---  From this part down
  switch (k) {
  case UP:
    return isUp = b;

  case DOWN:
    return isDown = b;

  case LEFT:
    return isLeft = b;

  case RIGHT:
    return isRight = b;

  default:
    return b;  }
}  

1 个答案:

答案 0 :(得分:1)

这些问题最好由the reference回答:

  

if else结构类似,但当您需要在三个或更多选项之间进行选择时,switch()会更方便。程序控件跳转到具有与表达式相同值的大小写。除非由break重定向,否则将执行交换机中的所有剩余语句。只能转换为整数(byte,char和int)的原始数据类型可用作表达式参数。默认值是可选的。

其余的代码是将相应的变量设置为您作为b参数传入的任何值,然后返回它。

你应该养成debugging代码的习惯。添加打印语句以确切了解代码的作用。