主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

编程语言
程序代码
WIN/*NIX编程
其他类别
JAVA专区

 
RHU阅读排行
·Java多线程程序设计详细解析
·怎样使用设计模式改善程序的结构
·设计模式学习:对于模式的“十大误解”
·用JAVA读取各种计算机文件、系统文件
·Java基础-入门知识介绍之Servlet教程
·Java基础-数据库连接池的必要性
·JAVA高级编程:EJB异常处理的最佳做法
·JAVA高级编程:Struts常见错误汇总
·J2EE:开发J2EE应用应遵循的几点原则
·Java高级编程-网络编程中的异步编程

 
 
RHU最新文章
·JAVA基础:Java 启动器如何查找类
·DOM文档操作和XML文件互相转换java实现
·在 Ajax 应用程序中实现数据交换
·JS控件autocomplete(自动完成)演示及下载
·java基础 -- JAVA字符集
·用 Spring 更好地处理 Struts 动作三种整合
·struts和hibernate谈J2EE架构数据表示
·Java 理论与实践:让 J2EE 脱离容器
·超线程多核心下Java多线程编程技术分析
·Java开发中的线程安全选择与Swing

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 程序设计 -> JAVA专区
JAVA学习小节……循环中的思考和条件

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2006-11-10 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


JAVA学习小节……循环中的思考和条件'开关'

用过JAVA循环的朋友都知道,while(条件),do....while(条件)
还有for(a;b;c)这三种。我就初学后的一点感觉,来聊聊。
用最常用的While循环来说吧。请看如相的例子:

 


 
public class Loop
{
 public static void main(String args[])
 {
  int num=1;
  while(num<10)
  {
  
   num++;
  }
   System.out.println(num);
 }
}

 

一开始我接触时总感觉'昏',什么i++,++i之类的,那我们应该
怎样做呢。我想通过JDK的调试来加深理解是最好不过的了。
就上面的小例子,首先当while循环结束时,num一定是为10的时,
其它的我们先不要考虑,什么num++有几次啊之类的,更不要班手数
一下,几次几次。(我曾经这样做过,也许你会笑)我们先放弃循
环体的内容先不管它。这样一来,就简单多了,当num为10的时候,
也就是num++为10的时候(在循环体内,这一点一定要明确),那么
num++是10,num其实只为9,即循环体运行的次数。这样一来,是不是
就好理解了,虽然在system.out.println中输出的num为10但,实际
while循环只运行了九次。好了,这样也能很好的理解do....while(条件)
还有for(a;b;c)里的东西了。
理解循环就是理解它的变量的条件num<10以及变量的变化num++,
的因果关系,如果能看清楚了,再怎么'转'也就不会'昏'了,你说是吗?

条件语句作为重要的语句判断,作用是不言而喻的吧,java在这
方面也体现了'人性化'的思考,不过,对于我们这些'菜鸟'来说,java
你好是好,就是太好了,我理解不了,嘻嘻,不急,不急,现在我就
java的条件判断中三个不好理解的'开关'(^;||;&&),谈谈自己的理解;
首先我们要清楚的明白它们的定义。

a^b:在java里^叫异或判断,它的意思是:当a,b中只有一个为真时,运算
结果才为真,其内涵就在于,条件两边只有一为真时结果才为真,那你必须对
a和b条件都要进行判断才知道真不真。请看下面例子:

 


public class x
{
 public static void main(String args[])
 {
  int i=5;
  int j=4;
  if((i++)>j^(j--)>i)
   System.out.println("if中的运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
  else
   
   System.out.println("else中的i,j"+"\n"+"i="+i+"\n"+"j="+j);
 }
}

 

输出为:if中运行的i,j
i=6
j=3

a&&b:在java里叫简洁与:它的意思是:当a和b都为真时,条件为真;其内涵
在于,如果条件a为假是,那就用不着进行b的判断了,直接运行if后的语句;也就
根本不去想b条件是不是真假了,这点很像我们的一般思维;
请看下面的例子,证明:

 


public class x
{
 public static void main(String args[])
 {
  int i=5;
  int j=5;
  if((i++)>j&&(j--)>i)
   System.out.println("if中的运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
  else
   
   System.out.println("else中运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
 }
}

 

输出为:else中运行的i,j
i=5
j=5
我们可以发现,j依然是5并没进行j--运算,这就是&&开关的作用;
还要注意的一点是,这里的判断运算先后顺序是先++i,再进行<;>;==的比较
最后进行i--运算;即在(i++)里先进行i>j的比较,然后进行i++运算,我们
虽然看到了有()号但java在这里却是这样理解的,不相信你就用jdk试试;
下面这个例子,只把i++变成了++i,j--变以++j,结果大不一样;

 


public class x
{
 public static void main(String args[])
 {
  int i=5;
  int j=5;
  if((++i)>j&&(++j)>--i)
   System.out.println("if中的运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
  else
   
   System.out.println("else中运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
 }
}


 

结果为:else中运行的i,j
i=6
j=4

a||b:在java里叫简洁或:它的意思是:当a和b都为假时,条件为假;其内涵
在于,如果条件a为真是,那就用不着进行b的判断了,直接运行if中的判断的语句。
请看下面的这个

 


public class x
{
 public static void main(String args[])
 {
  int i=5;
  int j=5;
  if((++i)>j||(++j)>--i)
   System.out.println("if中的运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
  else
   
   System.out.println("else中运行的i,j"+"\n"+"i="+i+"\n"+"j="+j);
 }
}


 

结果为:if中运行的i,j
i=6
j=5
它的运行规则同&&一样,这里就不重复了。
最后,谢谢你阅读我的java学习小节……希望能和你一起进步;
会员:tr100




OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • 编程语言岁末盘点 C有望成为08年年度语言
  • MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day网马生成器
  • 定时重启或关机的小工具 HTA文件
  • 快速开发一个PHP扩展
  • 如何编写PHP扩展
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com