例子问题
问题1:常数声明
下面哪个代码示例充分使用了常量?
final String s = "Hello, "
int intVal中;
//在此代码中读取变量intVal ....摘录……
if(intVal < 0) {
s += "世界!";
} else if(intVal == 0) {
s +=“人!”;
} else {
s +=“伙计们!”;
}
最终int行;
int intVal中;
//在此代码中读取变量intVal ....摘录……
rows = intVal;
For (int I = 0;I < rows;我+ +){
System.out.println(我);
}
For (final int I = 0, rows = 5;I < rows;我+ +){
System.out.println(我);
}
Const int行= 4;
For (int I = 0;I < rows;我+ +){
System.out.println(我);
}
最终int行= 4;
For (int I = 0,l = rows;I < l;我+ +){
行+= 2;
}
最终int行;
int intVal中;
//在此代码中读取变量intVal ....摘录……
rows = intVal;
For (int I = 0;I < rows;我+ +){
System.out.println(我);
}
记住这是一个常数变量不能一旦被分配,将被更改。通常,您会在声明的同一行立即赋值变量。但是,如果您要创建常量并等待赋值,那么也会在语法上找到它。因此,正确答案没有问题,尽管如果你不知道这一点,一开始可能会出现问题。现在,请记住声明常量的方法是使用关键字“final”。(关键字“const”在c++等其他语言中也有效。)所有不正确的答案(除了使用“const”的答案)都会在定义常量之后改变它。
问题1:编程结构
在下面的代码块中,下面哪几行包含错误?
最后int I = 20, j, k;
Int,m=50,n = 2;
J = n + m;
L = m * I + j;
For (int a = 0;A < m;+ +) {
L += L;
}
M = 20 + j + n * I + M;
J = m + i;
K = 50 + 20 * j;
J = m + i;
K = 50 + 20 * j;
L = m * I + j;
For (int a = 0;A < m;+ +)
L += L;
J = m + i;
这条线
J = m + i;
有一个错误,因为它包含对常量(final)变量的重新赋值。允许在声明行以外的行上赋值常量。但是,一旦这样做了,就不能重新赋值了。的变量j被赋值为:
J = n + m;
因此,上面的直线(j = m + i;)表示a再保险-assignment,从而导致错误。