java - 需要帮助理解“Head First Java”中的逻辑
问题描述
我最近第一次开始用 Java 编程(只是作为一种爱好),目前我正在使用一本非常好的书“Head First Java”,但我真的很难理解这些练习。
像这样的例子:
class Output {
void go() {
int y = 7;
for(int x = 1; x < 8; x++) {
y++; // is y now 8?
if(x >4) {
System.out.println(++y + " "); // does this make y = 9?
}
if(y > 14) {
System.out.println(" x = " + x);
break; // how does the break key word affect the rest of the loop?
}
}
}
public static void main(String[] args) {
Output o = new Output();
o.go();
}
}
有人可以向我解释这段代码中发生了什么吗?
解决方案
变量必须为 15,因为您在循环中y
多次增加了它的值。for
++y
将其值增加 1。i++
并且++i
非常相似但不完全相同。两者都增加数字,但++i
在计算当前表达式之前增加数字,而i++
在计算表达式之后增加数字。
break
简单地存在于循环中。
推荐阅读
- c# - 复制粘贴时标记为错误的 app.manifest xml 标记
- swift - 为什么 Swift 泛型约束在这个例子中似乎不一致?
- ruby-on-rails - 带有自定义参数的嵌套表单
- babylonjs - ArcRotationCamera - 左/右滚动在场景中移动而不旋转
- java - Gradle build - 添加模块路径
- python - 右键菜单打开远离点击的地方
- c# - 如何在 C# 中创建和打开一个新的串行 comport
- symfony - 如何使用 cookie 进行区域设置并根据 Symfony 3 中 LocaleEventListener 中的区域设置进行重定向
- apache - 匹配 HTTP_HOST 和 REQUEST_URI
- c - 使用左键箭头向左移动而不是使用 fgets 输入字符