A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18895700133 中级黑马   /  2016-5-11 21:52  /  276 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天在看Java的i++  和++i 的区别,感觉自己还是会绕。正好整理下。
i++:先赋值,后计算;
++i;先计算,后赋值。
看下面代码:
  • public class Text {  
  •     public static void main(String[] args) {  
  •         int i = 1;  
  •         int j = 1;  
  •         int k = 1;  
  •         i++;
  •         System.out.println("j++ is "+ j++);  
  •         System.out.println("i is "+i);  
  •         System.out.println("++k is "+ ++k);  
  •     }
  • }

执行结果:


  • j++ is 1  
  • i is 2  
  • ++k is 2  




我呢,原先是结合for循环记忆的,
因为for循环里的都是i++; 我有写了for循环,i++  和 ++i

  • for (int i = 0; i < 10; i++) {  
  •             System.out.println(i);
  •         }



  • for (int i = 0; i < 10; ++i) {  
  •             System.out.println(i);
  •         }

结果打印都是 0 到 9 。。
什么鬼,于是我就搜了搜关于for循环的:

for循环的执行顺序如下:
for(sta1;sta2;sta3)
{
   sta4;
}

1.进入循环执行sta1;//只是进入的时候执行.
2.执行sta2;//条件为真才执行sta4,不然就跳出for了.
3,执行sta4;
4,执行sta3;
5,再回到第2步开始执行

哈哈,大家看看下面结果是什么呢

  • public class T2 {  
  •     static boolean foo(char c) {  
  •         System.out.print(c);
  •         return true;  
  •     }
  •     public static void main(String[] argv) {  
  •         int i = 0;  
  •         for (foo('A'); foo('B') && (i < 2); foo('C')) {  
  •             i++;
  •             foo('D');  
  •         }
  •     }
  • }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马