需要帮助理解《Head First Java》中的逻辑。

huangapple go评论92阅读模式
英文:

Needing help understanding logic in "Head First Java"

问题

我最近开始第一次使用Java进行编程(只是一种爱好),目前我正在使用一本非常好的书《Head First Java》,但我真的很难理解这些练习。

就像这个例子一样:

  1. class Output {
  2. void go() {
  3. int y = 7;
  4. for(int x = 1; x < 8; x++) {
  5. y++; // y现在是8吗?
  6. if(x > 4) {
  7. System.out.println(++y + " "); // 这会使y = 9吗?
  8. }
  9. if(y > 14) {
  10. System.out.println(" x = " + x);
  11. break; // break关键字如何影响循环的其余部分?
  12. }
  13. }
  14. }
  15. public static void main(String[] args) {
  16. Output o = new Output();
  17. o.go();
  18. }
  19. }

有人能否请解释一下这段代码中发生了什么?

英文:

I have recently started programming in Java for the first time (just as a hobby), and at the moment Im working with a book "Head First Java" that is very good, but I'm really struggling with understanding the exercises.

Like this for example:

  1. class Output {
  2. void go() {
  3. int y = 7;
  4. for(int x = 1; x &lt; 8; x++) {
  5. y++; // is y now 8?
  6. if(x &gt;4) {
  7. System.out.println(++y + &quot; &quot;); // does this make y = 9?
  8. }
  9. if(y &gt; 14) {
  10. System.out.println(&quot; x = &quot; + x);
  11. break; // how does the break key word affect the rest of the loop?
  12. }
  13. }
  14. }
  15. public static void main(String[] args) {
  16. Output o = new Output();
  17. o.go();
  18. }
  19. }

Can someone please explain to me what goes on in this code?

答案1

得分: 1

变量y必须为15,因为您在for循环中多次增加了它的值。

++y将其值增加1。i++++i非常相似,但并不完全相同。两者都会递增数字,但++i会在当前表达式求值之前递增数字,而i++会在表达式求值之后递增数字。

break只是简单地跳出循环。

英文:

Variable y must be 15, because you increased it's value many times with the for loop.

++y increases it's value by 1. i++ and ++i are very similar but not exactly the same. Both increment the number, but ++i increments the number before the current expression is evaluted, whereas i++ increments the number after the expression is evaluated.

break simply exists from the loop.

huangapple
  • 本文由 发表于 2020年10月22日 18:16:21
  • 转载请务必保留本文链接:https://go.coder-hub.com/64480153.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定