1、for循环的语法机制以及运行原理?

  1. for(初始化表达式;条件表达式;更新表达式){<br /> 循环体; // 循环体由java语句构成<br /> java语句;<br /> java语句;<br /> java语句;<br /> java语句;<br /> ....<br /> }

注意:

  1. 第一:初始化表达式最先执行,并且在整个循环中只执行一次。<br /> 第二:条件表达式结果必须是一个布尔类型,也就是:truefalse

执行原理:

  1. 先执行初始化表达式并且初始化表达式只执行1次。<br /> 然后判断条件表达式的结果,如果条件表达式结果为true<br /> 则执行循环体<br /> 循环体结束之后,执行更新表达式。<br /> 更新完之后,再判断条件表达式的结果,<br /> 如果还是true,继续执行循环体。<br /> <br /> 直到更新表达式执行结束之后,再次判断条件时,条件为false,<br /> for循环终止<br />

更新表达式的作用是:控制循环的次数,

  1. 换句话说,更新表达式会更新某个变量的值,<br /> 这样条件表达式的结果才有可能从true变成false,<br /> 从而终止for循环的执行,如果确实更新表达式,很有可能会导致死循环。
  1. public class ForTest02{
  2. public static void main(String[] asge){
  3. // 最简练的for循环怎么写?
  4. // 初始化表达式、条件表达式、更新表达式 其实都不是必须的!!!
  5. /*
  6. for(;;){
  7. System.out.println("死循环");
  8. }
  9. */
  10. // 最常见的for循环
  11. // 循环10次,输出0~9
  12. /*
  13. i = 0
  14. i = 1
  15. i = 2
  16. i = 3
  17. i = 4
  18. i = 5
  19. ...
  20. 强调一下:对于一下的这个for循环,其中int i = 0;
  21. 最先执行,并且只执行一次,而且i变量属于for循环
  22. 的局部变量,for循环结束之后i的内存就释放了。
  23. 这个i变量只能在for循环中使用。
  24. 这个i变量属于for循环域。
  25. 在main方法中没有办法直接使用。
  26. */
  27. for(int i = 0;i < 10;i++){
  28. System.out.println("i = " + i);
  29. }
  30. // 错误:找不到符号
  31. //System.out.println(i);
  32. // i变量的作用域就扩大了。
  33. int i = 0;
  34. for(;i < 10;i++){
  35. System.out.println("i =》 " + i);
  36. }
  37. System.out.println("这里的i可以访问吗?i = " + i); // 10
  38. // 变形
  39. for(int k = 0;k<=10;k++){
  40. System.out.println("k --> " + k); // 10
  41. }
  42. // 变形
  43. for(int k = 0;k<=10;){
  44. System.out.println("k --> " + k);
  45. k++;
  46. }
  47. // 变形
  48. for(int k = 0;k<=10;){
  49. k++;
  50. System.out.println("k --> " + k);// 2 3 4 5 6 7 8 9 10
  51. }
  52. }
  53. }