??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲1234区乱码,亚洲AV成人片色在线观看高潮,久久亚洲精品无码AV红樱桃http://www.tkk7.com/hanbihui/archive/2007/09/24/147917.html浪?/dc:creator>浪?/author>Mon, 24 Sep 2007 14:57:00 GMThttp://www.tkk7.com/hanbihui/archive/2007/09/24/147917.htmlhttp://www.tkk7.com/hanbihui/comments/147917.htmlhttp://www.tkk7.com/hanbihui/archive/2007/09/24/147917.html#Feedback1http://www.tkk7.com/hanbihui/comments/commentRss/147917.htmlhttp://www.tkk7.com/hanbihui/services/trackbacks/147917.html黑白?.0

手机游戏。。。。(用Canvas做的)

初步实现ZhҎ(gu)和h机对?/p>

打开下面的Mofile|址提取文g(Chess.jar)

http://pickup.mofile.com/2132108164738157

做的AI比较单~

不过如果不小心就很危险了



]]>
更新一下链?/title><link>http://www.tkk7.com/hanbihui/archive/2007/09/21/147215.html</link><dc:creator>浪?/dc:creator><author>浪?/author><pubDate>Fri, 21 Sep 2007 13:43:00 GMT</pubDate><guid>http://www.tkk7.com/hanbihui/archive/2007/09/21/147215.html</guid><wfw:comment>http://www.tkk7.com/hanbihui/comments/147215.html</wfw:comment><comments>http://www.tkk7.com/hanbihui/archive/2007/09/21/147215.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/hanbihui/comments/commentRss/147215.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hanbihui/services/trackbacks/147215.html</trackback:ping><description><![CDATA[更新一下链?累死? <img src ="http://www.tkk7.com/hanbihui/aggbug/147215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hanbihui/" target="_blank">浪?/a> 2007-09-21 21:43 <a href="http://www.tkk7.com/hanbihui/archive/2007/09/21/147215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE全面介[转]http://www.tkk7.com/hanbihui/archive/2007/09/21/147038.html浪?/dc:creator>浪?/author>Fri, 21 Sep 2007 03:32:00 GMThttp://www.tkk7.com/hanbihui/archive/2007/09/21/147038.htmlhttp://www.tkk7.com/hanbihui/comments/147038.htmlhttp://www.tkk7.com/hanbihui/archive/2007/09/21/147038.html#Feedback3http://www.tkk7.com/hanbihui/comments/commentRss/147038.htmlhttp://www.tkk7.com/hanbihui/services/trackbacks/147038.htmlJ2EE全面介[转]


    J2EEQJava 2 Enterprise EditionQ是建立在Java 2q_上的企业U应用的解决Ҏ(gu)。J2EE技术的基础便是Java 2q_Q不但有J2SEq_的所有功能,同时q提供了对EJBQServletQJSPQXML{技术的全面支持Q其最l目标是成ؓ一个支持企业应用开发的体系l构Q简化企业解x案的开发,部v和管理等复杂问题。事实上QJ2EE已经成ؓ企业U开发的工业标准和首选^台?
  J2EEq一个品,而是一pd的标准。市Z可以看到很多实现了J2EE的品,如BEA WebLogicQIBM WebSphere以及开源的JBOSs{等?/p>

    J2EEQ是sun公司提出的一个标准,W合q个标准的品叫"实现"Q其中你下蝲的sun公司的j2ee开发包中就有一个这L"实现"Q而jBOssQweblogicQwebsphere都是j2ee标准的一?实现"。由于jbossQweblogicQwebsphere自n带有j2ee的APIQ所以可以不使用sun的j2ee实现?/p>

 

一. J2EE的概?/strong>

    目前QJava 2q_?个版本,它们是适用于小型设备和卡的Java 2q_MiCRo版(Java 2 PlatfORM Micro EDItionQJ2MEQ、适用于桌面系l的Java 2q_标准版(Java 2 Platform STandard EditionQJ2SEQ、适用于创建服务器应用E序和服务的Java2q_企业版(Java 2 Platform Enterprise EditionQJ2EEQ?/p>

    J2EE是一U利用Java 2q_来简化企业解x案的开发、部|和理相关的复杂问题的体系l构。J2EE技术的基础是核心Javaq_或Java 2q_的标准版QJ2EE不仅巩固了标准版中的许多优点Q例?~写一ơ、随处运?的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式{等Q同时还提供了对 EJBQEnterprise JavaBeansQ、Java Servlets API、JSPQJava Server PagESQ以及XML技术的全面支持。其最l目的就是成Z个能够企业开发者大q羃短投攑ָ场时间的体系l构?/p>

    J2EE体系l构提供中间层集成框架用来满x需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供l一的开发^収ͼJ2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持Q完全支持Enterprise JavaBeansQ有良好的向导支持打包和部v应用Q添加目录支持,增强了安全机Ӟ提高了性能?/p>

 

? J2EE的优?/strong>

    J2EE为搭建具有可伸羃性、灵zL、易l护性的商务pȝ提供了良好的机制:保留现存的IT资: ׃企业必须适应新的商业需求,利用已有的企业信息系l方面的投资Q而不是重新制定全盘方案就变得很重要。这P一个以渐进的(而不是激q的Q全盘否定的Q方式徏立在已有pȝ之上的服务器端^台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公怋用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及NetSCApe Application Server。这之所以成为可能是因ؓJ2EE拥有q泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客h供了不用废弃已有投资Q进入可UL的J2EE领域的升U途径。由于基于J2EEq_的品几乎能够在M操作pȝ和硬仉|上q行Q现有的操作pȝ和硬件也能被保留使用?/p>

    高效的开? J2EE允许公司把一些通用的、很J琐的服务端d交给中间件供应商d成。这样开发h员可以集中精力在如何创徏商业逻辑上,相应地羃短了开发时间。高U中间g供应商提供以下这些复杂的中间件服?

    状态管理服?-- 让开发h员写更少的代码,不用兛_如何理状态,q样能够更快地完成程序开发?br />     持箋性服?-- 让开发h员不用对数据讉K逻辑q行~码p~写应用E序Q能生成更轻巧,与数据库无关的应用程序,q种应用E序更易于开发与l护?br />     分布式共享数据对象CACHE服务 -- 让开发h员编刉性能的系l,极大提高整体部v的׾~性?br />     支持异构环境: J2EE能够开发部|在异构环境中的可移植程序。基于J2EE的应用程序不依赖M特定操作pȝ、中间g、硬件。因此设计合理的ZJ2EE的程序只需开发一ơ就可部|到各种q_。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客戯购与J2EE兼容的第三方的现成的lgQ把他们部v到异构环境中Q节省了p己制订整个方案所需的费用?br />     可׾~? 企业必须要选择一U服务器端^収ͼq种q_应能提供极佳的可伸羃性去满那些在他们系l上q行商业q作的大Ҏ(gu)客户。基于J2EEq_的应用程序可被部|到各种操作pȝ上。例如可被部|到高端UNIX与大型机pȝQ这U系l单机可支持64?56个处理器。(q是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负蝲q{略。能消除pȝ中的瓉Q允许多台服务器集成部v。这U部|可达数千个处理器,实现可高度׾~的pȝQ满x来商业应用的需要?br />     E_的可用? 一个服务器端^台必能全天候运转以满公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的Q即使在夜间按计划停Z可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部v到可靠的操作环境中,他们支持长期的可用性。一些J2EE部v在WINDOWS环境中,客户也可选择健壮性能更好的操作系l如Sun Solaris、IBM OS/390。最健壮的操作系l可辑ֈ99.999%的可用性或每年只需5分钟停机旉。这是实时性很强商业系l理想的选择?/p>

 

? J2EE 的四层模?/strong>

    J2EE使用多层的分布式应用模型Q应用逻辑按功能划分ؓlgQ各个应用组件根据他们所在的层分布在不同的机器上。事实上Qsun设计J2EE的初h是ؓ了解决两层模?Client/server)的弊端,在传l模式中Q客L担当了过多的角色而显得臃肿,在这U模式中Q第一ơ部|的时候比较容易,但难于升U或改进Q可伸展性也不理惻I而且l常Z某种专有的协议――通常是某U数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业应用模型两层化模型中的不同层面切分成许多层。一个多层化应用能够Z同的每种服务提供一个独立的层,以下?J2EE 典型的四层结?

    q行在客L机器上的客户层组?br />     q行在J2EE服务器上的Web层组?br />     q行在J2EE服务器上的业务逻辑层组?br />     q行在EIS服务器上的企业信息系l?Enterprise Information System)层Y?/p>

    J2EE应用E序lg
    J2EE应用E序是由lg构成?J2EElg是具有独立功能的软g单元Q它们通过相关的类和文件组装成J2EE应用E序Qƈ与其他组件交互。J2EE说明书中定义了以下的J2EElg:
    应用客户端程序和Applets是客户层lg.
    Java Servlet和JavAServer Pages(JSP)是web层组?
    Enterprise JavaBeans(EJB)是业务层lg.

    客户层组?br />     J2EE应用E序可以是基于web方式?也可以是Z传统方式?
    web 层组件J2EE web层组件可以是JSP 面或Servlets.按照J2EE规范Q静态的HTML面和Applets不算是web层组件?/p>

    正如下图所C的客户层那Pweb层可能包含某?JavaBean 对象来处理用戯入,q把
输入发送给q行在业务层上的enterprise bean 来进行处理?/p>

    业务层组?br />     业务层代码的逻辑用来满银行Q零售,金融{特D商务领域的需?p行在业务层上的enterprise bean q行处理. 下图表明了一个enterprise bean 是如何从客户端程序接收数据,q行处理(如果必要的话), q发送到EIS 层储存的Q这个过E也可以逆向q行?/p>

    有三U企业的bean: 会话(session) beans, 实体(entity) beans, 和消息驱?mesSAge-driven) beans. 会话bean 表示与客LE序的时交? 当客LE序执行完后, 会话bean 和相x据就会消? 相反, 实体bean 表示数据库的表中一行永久的记录. 当客LE序中止或服务器关闭? ׃有潜在的服务保证实体bean 的数据得以保?消息驱动 bean l合了会话bean ?JMS的消息监听器的特? 允许一个业务层lg异步接收JMS 消息.

    企业信息pȝ?br />     企业信息pȝ层处理企业信息系lY件包括企业基pȝ例如企业资源计划 (ERP), 大型Z务处? 数据库系l?和其它的遗留信息pȝ. 例如QJ2EE 应用lg可能Z数据库连接需要访问企业信息系l?/p>

    我们J2EE的各U组件、服务和APIQ进行更加详l的阐述Q看看在开发不同类型的企业U应用时Q根据各自需求和目标的不同,应当如何灉|使用q组合不同的lg和服务?/p>

· Servlet

    Servlet是Javaq_上的CGI技术。Servlet在服务器端运行,动态地生成Web面。与传统的CGI和许多其它类似CGI的技术相比,Java Servleth更高的效率ƈ更容易用。对于ServletQ重复的h不会D同一E序的多ơ{载,它是依靠U程的方式来支持q发讉K的?/p>

· JSP

    JSP(Java Server Page)是一U实现普通静态HTML和动态页面输出؜合编码的技术。从q一Ҏ(gu)看,非常cMMicrosoft ASP、PHP{技术。借助形式上的内容和外观表现的分离QWeb面制作的Q务可以比较方便地划分l页面设计h员和E序员,q方便地通过JSP来合成。在q行时态,JSP会被首先{换成ServletQƈ以Servlet的Ş态编译运行,因此它的效率和功能与Servlet相比没有差别Q一样具有很高的效率?/p>

· EJB

    EJB定义了一l可重用的组ӞEnterprise Beans。开发h员可以利用这些组Ӟ像搭U木一样徏立分布式应用。在装配lgӞ所有的Enterprise Beans都需要配|到EJB服务?一般的Weblogic、WebSphere{J2EE应用服务器都是EJB服务?中。EJB服务器作为容器和低层q_的桥梁管理着EJB容器Qƈ向该容器提供讉Kpȝ服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系l的服务,控制了EJB的生命周期。EJB容器为它的开发h员代了诸如安全性、远E连接、生命周期管理及事务理{技术环节,化了商业逻辑的开发。EJB中定义了三种Enterprise BeansQ?/p>

?Session Beans

?Entity Beans

?Message-driven Beans

· JDBC

    JDBC(Java database ConnECtivityQjava数据库连?API是一个标准SQL(STructured Query LanguageQ结构化查询语言)数据库访问接口,它数据库开发h员能够用标准Java API~写数据库应用程序。JDBC API主要用来q接数据库和直接调用SQL命o执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过E。Java中的JDBC相当与Microsoftq_中的ODBC(Open Database Connectivity)?/p>

· JMS

    JMS(Java Message ServiceQJava消息服务)是一lJava应用接口Q它提供创徏、发送、接收、读取消息的服务。JMS API定义了一l公q应用E序接口和相应语法,使得Java应用能够和各U消息中间gq行通信Q这些消息中间g包括IBM MQ-Series、Microsoft MSMQ及纯Java的SoniCMQ。通过使用JMS APIQ开发h员无需掌握不同消息产品的用方法,也可以用统一的JMS API来操U各U消息中间g。通过使用JMSQ能够最大限度地提升消息应用的可UL性?JMS既支持点对点的消息通信Q也支持发布/订阅式的消息通信?/p>

· JNDI

    ׃J2EE应用E序lg一般分布在不同的机器上Q所以需要一U机制以便于lg客户使用者查扑֒引用lg及资源。在J2EE体系中,使用JNDI(Java NAMing and Directory Interface)定位各种对象Q这些对象包括EJB、数据库驱动、JDBC数据源及消息q接{。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用q可以用JNDI讉K各种特定的目录服务,如LDAP、NDS和DNS{?/p>

· JTA

    JTA(Java Transaction API)提供了J2EE中处理事务的标准接口Q它支持事务的开始、回滚和提交。同时在一般的J2EEq_上,L供一个JTS(Java Transaction Service)作ؓ标准的事务处理服务,开发h员可以用JTA来用JTS?/p>

· JCA

    JCA(J2EE Connector Architecture)是J2EE体系架构的一部分Qؓ开发h员提供了一套连接各U企业信息系l?EISQ包括ERP、SCM、CRM{?的体pL构,对于EIS开发商而言Q它们只需要开发一套基于JCA的EISq接适配器,开发h员就能够在Q何的J2EE应用服务器中q接q用它。基于JCA的连接适配器的实现Q需要涉及J2EE中的事务理、安全管理及q接理{服务组件?/p>

· JMX

    JMX(Java Management Extensions)的前w是JMAPI。JMX致力于解军_布式pȝ理的问题。JMX是一U应用编E接口、可扩展对象和方法的集合体,可以跨越各种异构操作pȝq_、系l体pȝ构和|络传输协议Q开发无~集成的面向pȝ、网l和服务的管理应用。JMX是一个完整的|络理应用E序开发环境,它同时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的用h口;讉KSNMP的网lAPIQ主机间q程q程调用Q数据库讉KҎ(gu){?/p>

· JAAS

    JAAS(Java Authentication and Authorization Service)实现了一个Java版本的标准PlugGAble Authentication Module(PAM)的框架。JAAS可用来进行用戯n份的鉴定Q从而能够可靠ƈ安全地确定谁在执行Java代码。同时JAASq能通过对用戯行授权,实现Z用户的访问控制?/p>

· JACC

    JACC(Java Authorization Service ProvIDEr Contract for ContAIners)在J2EE应用服务器和特定的授权认证服务器之间定义了一个连接的协约Q以便将各种授权认证服务器插入到J2EE产品中去?/p>

· JAX-RPC

    通过使用JAX-RPC(Java API for XML-based RPC)Q已有的JavacLJava应用都能够被重新包装Qƈ以Web Services的Ş式发布。JAX-RPC提供了将RPC参数(in/out)~码和解码的APIQ开发h员可以方便地使用SOAP消息来完成RPC调用。同P对于那些使用EJB(Enterprise JavaBeans)的商业应用而言Q同样可以用JAX-RPC来包装成Web服务Q而这个Web Servoce的WSDL界面是与原先的EJB的方法是对应一致的。JAX-RPC为用户包装了Web服务的部|和实现Q对Web服务的开发h员而言QSOAP/WSDL变得透明Q这有利于加速Web服务的开发周期?/p>

· JAXR

    JAXRQJava API for XML RegistriesQ提供了与多U类型注册服务进行交互的API。JAXRq行客户端访问与JAXR规范相兼容的Web ServcicesQ这里的Web Services即ؓ注册服务。一般来_注册服务L以Web Services的Ş式运行的。JAXR支持三种注册服务cdQJAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository{??/p>

· SAAJ

    SAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一个增强,行低层次的SOAP消息操纵提供了支持?/p>

 

? J2EE 的结?/strong>

    q种ZlgQ具有^台无x的J2EE l构使得J2EE E序的编写十分简单,因ؓ业务逻辑被封装成可复用的lgQƈ且J2EE 服务器以容器的Ş式ؓ所有的lgcd提供后台服务. 因ؓ你不用自己开发这U服? 所以你可以集中_֊解决手头的业务问?

    容器和服?/p>

    容器讄定制了J2EE服务器所提供得内在支持,包括安全Q事务管理,JNDI(Java Naming and Directory Interface)d,q程q接{服务,以下列出最重要的几U服务:

    J2EE安全(Security)模型可以让你配置 web lg或enterprise bean ,q样只有被授权的用户才能讉Kpȝ资源. 每一客户属于一个特别的角色Q而每个角色只允许Ȁzȝ定的Ҏ(gu)。你应在enterprise bean的布|描qC声明角色和可被激zȝҎ(gu)。由于这U声明性的Ҏ(gu)Q你不必~写加强安全性的规则?/p>

    J2EE 事务理QTransaction ManagementQ模型让你指定组成一个事务中所有方法间的关p,q样一个事务中的所有方法被当成一个单一的单? 当客LȀzM个enterprise bean中的Ҏ(gu)Q容器介入一理事务。因有容器管理事务,在enterprise bean中不必对事务的边界进行编码。要求控制分布式事务的代码会非常复杂。你只需在布|描q文件中声明enterprise bean的事务属性,而不用编写ƈ调试复杂的代码。容器将L文gqؓ你处理此enterprise bean的事务?/p>

    JNDI d(JNDI LOOkup)服务向企业内的多重名字和目录服务提供了一个统一的接?q样应用E序lg可以讉K名字和目录服?

    J2EEq程q接QRemote Client ConnectivityQ模型管理客L和enterprise bean间的低层交互. 当一个enterprise bean创徏? 一个客L可以调用它的Ҏ(gu)p它和客户端位于同一虚拟Z一?

    生存周期理QLife Cycle ManagementQ模型管理enterprise bean的创建和U除,一个enterprise bean在其生存周期中将会历l几U状态。容器创建enterprise beanQƈ在可用实例池与活动状态中Ud他,而最l将其从容器中移除。即使可以调用enterprisebean的create及removeҎ(gu)Q容器也会在后台执行这些Q务?/p>

 

五、企业应用CZ

    下面我们通过假设一个企业应用的J2EE实现Q来了解各种lg和服务的应用。假讑ֺ用对象是计算Z品的生?零售商的销售系l,q个销售系l能够通过自己的网站发布品信息,同时也能品目录传送给计算Z品交易市场。销售系l能够在U接受订?来自自己的Web|站或者来自计机产品交易市场)Qƈ随后转入内部企业理pȝq行相关的后l处理?/p>

    参见?Q这个企业应用可以这U方式架构。该企业应用的核心是产品目录理和品定购管理这两个业务逻辑Q用EJB加以实现Qƈ部v在EJB容器中。由于品目录和定购信息都需要持久化Q因此用JDBCq接数据库,q用JTA来完成数据库存取事务?br /> ? J2EE应用CZ

    然后使用JSP/Servlet来实现应用的Web表现Q在U品目录浏览和在线定购。ؓ了将产品目录发送给特定的交易市场,使用JMS实现异步的基于消息的产品目录传输。ؓ了得更多的其它外部交易市场能够集成产品目录和定购业务,需要用Web Services技术包装商业逻辑的实现。由于品定购管理需要由公司内部雇员q行处理Q因此需要集成公司内部的用户pȝ和访问控制服务以方便雇员的用,使用JACC集成内部的访问控制服务,使用JNDI集成内部的用L录,q用JAASq行讉K控制。由于品订购事务会触发后箋的企业ERPpȝ的相x?包括仓储、胦务、生产等)Q需要用JCAq接企业ERP?/p>

    最后ؓ了将q个应用U_C业整体的pȝ理体系中去Q用Application Client架构了一个管理客L(与其它企业应用管理应用部|在一台机器上)Qƈ通过JMX理q个企业应用?br />



]]>
引元数量可变的方?/title><link>http://www.tkk7.com/hanbihui/archive/2007/09/19/146428.html</link><dc:creator>浪?/dc:creator><author>浪?/author><pubDate>Wed, 19 Sep 2007 05:06:00 GMT</pubDate><guid>http://www.tkk7.com/hanbihui/archive/2007/09/19/146428.html</guid><wfw:comment>http://www.tkk7.com/hanbihui/comments/146428.html</wfw:comment><comments>http://www.tkk7.com/hanbihui/archive/2007/09/19/146428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hanbihui/comments/commentRss/146428.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hanbihui/services/trackbacks/146428.html</trackback:ping><description><![CDATA[<p align="center">引元数量可变的方?/p> <p>public class Test {<br />     public void test(String... body){</p> <p>//String...代表String的数l,长度׃q来时的数组长度军_<br />         for (int i = 0; i < body.length; i++) {<br />             System.out.print(body[i]);<br />         }</p> <p>        System.out.println();<br />     }<br /> }</p> <p>public class Main {<br />     public static void main(String[] args) {<br />         Test t=new Test();<br />         t.test("hello,","hi");<br />         t.test("good morning");<br />         t.test("good afternoon,","good evening,","good night");<br />     }<br /> }<br /> 输出l果Q?br /> hello,hi<br /> good morning<br /> good afternoon,good evening,good night</p> <img src ="http://www.tkk7.com/hanbihui/aggbug/146428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hanbihui/" target="_blank">浪?/a> 2007-09-19 13:06 <a href="http://www.tkk7.com/hanbihui/archive/2007/09/19/146428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>增强的for语句http://www.tkk7.com/hanbihui/archive/2007/09/19/146425.html浪?/dc:creator>浪?/author>Wed, 19 Sep 2007 04:58:00 GMThttp://www.tkk7.com/hanbihui/archive/2007/09/19/146425.htmlhttp://www.tkk7.com/hanbihui/comments/146425.htmlhttp://www.tkk7.com/hanbihui/archive/2007/09/19/146425.html#Feedback0http://www.tkk7.com/hanbihui/comments/commentRss/146425.htmlhttp://www.tkk7.com/hanbihui/services/trackbacks/146425.html增强的for语句


    增强的for语句形式如下Q?br />     for(Type loop-variable:set - expression)
         statement
    其中set - expression必须为确定的对象Q这个对象是我们惌q代的数值的集合。loop-variable是一个局部变量,它的cdType必须适合于数值集合set - expression的内容,每次q行循环Ӟloop-variable都会从set - expression取出下一个|然后执行statementQ直到取完集合中的数据?br />     set - expression必须是数l或者实Cjava.lang.Iterable接口的对?br />    
    它的好处是不用手工维护数l下标,也不必检查数l的长度?br />     它的~点是只能在单独的一个数l上向前循环Qƈ且只能查看数l的元素   
 
    下面是例子:
 
import java.util.Vector;

public class ForEx {

 

    public static void main(String[] args) {
        Vector<String> v=new Vector<String>();

        v.add("Hello");
        v.add("Hi");
        v.add("Good Moning");

 

        for (String string : v) {
            System.out.println(string);
        }
    }
}

输出l果Q?/p>

Hello
Hi
Good Moning

 

如果q个“增强的for语句”?#8220;引元数量可变的方?#8221;联合h一L的话会有不错的效果:

 

public class Test {

    public static void main(String[] args) {
        Test t=new Test();
        t.test("hello,","hi");
        t.test("good morning");
        t.test("good afternoon,","good evening,","good night");
    }

    public void test(String... body){

//String...代表String的数l,长度׃q来时的数组长度军_
        for (String string : body) {
            System.out.println(string);
        }
    }
}

输出如下Q?/p>

hello,
hi
good morning
good afternoon,
good evening,
good night



]]>
标号与continue,breakhttp://www.tkk7.com/hanbihui/archive/2007/09/18/146250.html浪?/dc:creator>浪?/author>Tue, 18 Sep 2007 12:48:00 GMThttp://www.tkk7.com/hanbihui/archive/2007/09/18/146250.htmlhttp://www.tkk7.com/hanbihui/comments/146250.htmlhttp://www.tkk7.com/hanbihui/archive/2007/09/18/146250.html#Feedback0http://www.tkk7.com/hanbihui/comments/commentRss/146250.htmlhttp://www.tkk7.com/hanbihui/services/trackbacks/146250.html标号与continue,break


    可以l语句块加标可予它们名Uͼ标号位于语句之前。标号只能被continue和break引用。格式如下:
    label:statement
    语句前只允许加一个标P标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while{@环?br />     通过用标P我们可以对外层@环进行控?br /> 下面是用continue控制标号
public class Label {

    public static void main(String[] args) {
        System.out.println("i j");
        search:
            for (int i = 0; i < 3; i++) {
                for (int j = 0; j < 50; j++) {
                    if (j == 3)
                        continue search;
                    System.out.println(i+" "+j);
                }
            }
    }
}
输出如下Q?/p>

i j
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2


可以看出内层循环q没有执?0ơ,而到了continue时就跛_最外层循环MQcontinue执行后执行的是i++.

 

下面是用break控制标号

public class Label {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("i j");
        search:
            for (int i = 0; i < 3; i++) {
                for (int j = 0; j < 50; j++) {
                    if (j == 3)
                        break search;
                    System.out.println(i+" "+j);
                }
            }
    }
}

输出如下Q?/p>

i j
0 0
0 1
0 2
 

可以看出内层循环也没有执?0ơ,而且break后@环就再也没执行。break跛_的是最外层循环Q蟩Z标号的范围?/p>

 

break跛_标号Ҏ(gu)询一条记录来说比较有用,当查己想要的一条记录时Q就可以跛_循环了,不用再执行了?/span>

其中标号的另一个用意就在于让程序员不去用goto(替代了goto)Q写出更安全Q干净的代?/span>



]]>
վ֩ģ壺 ޹ƷVA߿| ҹƬ߹ۿӰԺ| ޹Ʒlv| ƬվɫƬѹۿAPP| պþ| ߹ۿƵ| ޳AƬ߹ۿWWW| þþƷƵۿ| ޳AVƬþ| ҹƬ | һëƬaŮ˴̼Ƶ| ѻɫëƬƵ| ڵ߳Ƶѹۿ| ޹ۺϾƷĻ| óav| avۺavһ| һѹۿ| ɫվWWWĻ| ȫѹɫһ| ɫƬѿ| 91޾ƷƵ| ҹһëƬƵ| һƵ| һ| ҹƵ| պĻ| 2017| ҹҹƵ| Ƶ | һ3Ŀ| AVһ| һػƴƬëƬ| ĻȫƵ| רҳ| AVרAVֻ鶹| 69paoǿѸ| ˬˬƬav | һһ| ߹ۿ޾Ʒ| ӰԺֻ߹ۿ| ŮAëƬƵ|