﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-流浪域-随笔分类-J2SE</title><link>http://www.blogjava.net/hanbihui/category/25961.html</link><description>一个人去流浪</description><language>zh-cn</language><lastBuildDate>Wed, 19 Sep 2007 17:39:10 GMT</lastBuildDate><pubDate>Wed, 19 Sep 2007 17:39:10 GMT</pubDate><ttl>60</ttl><item><title>引元数量可变的方法</title><link>http://www.blogjava.net/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.blogjava.net/hanbihui/archive/2007/09/19/146428.html</guid><wfw:comment>http://www.blogjava.net/hanbihui/comments/146428.html</wfw:comment><comments>http://www.blogjava.net/hanbihui/archive/2007/09/19/146428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hanbihui/comments/commentRss/146428.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hanbihui/services/trackbacks/146428.html</trackback:ping><description><![CDATA[<p align="center">引元数量可变的方法</p>
<p>public class Test {<br />
&nbsp;&nbsp;&nbsp; public void test(String... body){</p>
<p>//String...代表String的数组，长度由传进来时的数组长度决定<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; body.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(body[i]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println();<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>public class Main {<br />
&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Test t=new Test();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("hello,","hi");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("good morning");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("good afternoon,","good evening,","good night");<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
输出结果：<br />
hello,hi<br />
good morning<br />
good afternoon,good evening,good night</p>
<img src ="http://www.blogjava.net/hanbihui/aggbug/146428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hanbihui/" target="_blank">流浪韩</a> 2007-09-19 13:06 <a href="http://www.blogjava.net/hanbihui/archive/2007/09/19/146428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>增强的for语句</title><link>http://www.blogjava.net/hanbihui/archive/2007/09/19/146425.html</link><dc:creator>流浪韩</dc:creator><author>流浪韩</author><pubDate>Wed, 19 Sep 2007 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/hanbihui/archive/2007/09/19/146425.html</guid><wfw:comment>http://www.blogjava.net/hanbihui/comments/146425.html</wfw:comment><comments>http://www.blogjava.net/hanbihui/archive/2007/09/19/146425.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hanbihui/comments/commentRss/146425.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hanbihui/services/trackbacks/146425.html</trackback:ping><description><![CDATA[<p align="center">增强的for语句<br />
</p>
<p><br />
&nbsp;&nbsp;&nbsp; 增强的for语句形式如下：<br />
&nbsp;&nbsp;&nbsp; for(Type loop-variable:set - expression)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; statement<br />
&nbsp;&nbsp;&nbsp; 其中set - expression必须为确定的对象，这个对象是我们想要迭代的数值的集合。loop-variable是一个局部变量，它的类型Type必须适合于数值集合set - expression的内容，每次进行循环时，loop-variable都会从set - expression取出下一个值，然后执行statement，直到取完集合中的数据。<br />
&nbsp;&nbsp;&nbsp; set - expression必须是数组或者实现了java.lang.Iterable接口的对象<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; <span style="color: red">它的好处是不用手工维护数组下标，也不必检查数组的长度。<br />
&nbsp;&nbsp;&nbsp; 它的缺点是只能在单独的一个数组上向前循环，并且只能查看数组的元素&nbsp;&nbsp;</span>&nbsp;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; 下面是例子：<br />
&nbsp;<br />
import java.util.Vector;</p>
<p>public class ForEx {</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vector&lt;String&gt; v=new Vector&lt;String&gt;();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.add("Hello");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.add("Hi");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v.add("Good Moning");</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (String string : v) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(string);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>输出结果：</p>
<p>Hello<br />
Hi<br />
Good Moning</p>
<p>&nbsp;</p>
<p>如果这个&#8220;增强的for语句&#8221;和&#8220;引元数量可变的方法&#8221;联合起来一起用的话会有不错的效果：</p>
<p>&nbsp;</p>
<p>public class Test {</p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Test t=new Test();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("hello,","hi");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("good morning");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t.test("good afternoon,","good evening,","good night");<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void test(String... body){</p>
<p>//String...代表String的数组，长度由传进来时的数组长度决定<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (String string : body) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(string);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>输出如下：</p>
<p>hello,<br />
hi<br />
good morning<br />
good afternoon,<br />
good evening,<br />
good night</p>
<img src ="http://www.blogjava.net/hanbihui/aggbug/146425.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hanbihui/" target="_blank">流浪韩</a> 2007-09-19 12:58 <a href="http://www.blogjava.net/hanbihui/archive/2007/09/19/146425.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标号与continue,break</title><link>http://www.blogjava.net/hanbihui/archive/2007/09/18/146250.html</link><dc:creator>流浪韩</dc:creator><author>流浪韩</author><pubDate>Tue, 18 Sep 2007 12:48:00 GMT</pubDate><guid>http://www.blogjava.net/hanbihui/archive/2007/09/18/146250.html</guid><wfw:comment>http://www.blogjava.net/hanbihui/comments/146250.html</wfw:comment><comments>http://www.blogjava.net/hanbihui/archive/2007/09/18/146250.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hanbihui/comments/commentRss/146250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hanbihui/services/trackbacks/146250.html</trackback:ping><description><![CDATA[<p align="center">标号与continue,break<br />
</p>
<p><br />
&nbsp;&nbsp;&nbsp; 可以给语句块加标号赋予它们名称，标号位于语句之前。标号只能被continue和break引用。格式如下：<br />
&nbsp;&nbsp;&nbsp; label:statement<br />
&nbsp;&nbsp;&nbsp; 语句前只允许加一个标号，标号后面不能跟大括号。通过用break后加标号对处于标号中的语句进行控制。往往标号后是for.while.do-while等循环。<br />
&nbsp;&nbsp;&nbsp; 通过用标号，我们可以对外层循环进行控制<br />
下面是用continue控制标号<br />
public class Label {</p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("i j");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; search:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 3; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int j = 0; j &lt; 50; j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (j == 3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue search;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(i+" "+j);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
输出如下：</p>
<p>i j<br />
0 0<br />
0 1<br />
0 2<br />
1 0<br />
1 1<br />
1 2<br />
2 0<br />
2 1<br />
2 2</p>
<p><br />
可以看出内层循环并没有执行50次，而到了continue时就跳到<span style="color: #ff0000">最外层循环</span>去了，continue执行后执行的是i++.</p>
<p>&nbsp;</p>
<p>下面是用break控制标号</p>
<p>public class Label {</p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("i j");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; search:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; 3; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int j = 0; j &lt; 50; j++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (j == 3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break search;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(i+" "+j);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p>输出如下：</p>
<p>i j<br />
0 0<br />
0 1<br />
0 2 <br />
&nbsp;</p>
<p>可以看出内层循环也没有执行50次，而且break后循环就再也没执行。break跳出的是<span style="color: #ff0000">最外层循环</span>，跳出了标号的范围。</p>
<p>&nbsp;</p>
<p><span style="color: #008000">break跳出标号对查询一条记录来说比较有用，当查出自己想要的一条记录时，就可以跳出循环了，不用再执行了。</span></p>
<p><span style="color: #008000">其中标号的另一个用意就在于让程序员不去用goto(替代了goto)，写出更安全，干净的代码</span><br />
</p>
<img src ="http://www.blogjava.net/hanbihui/aggbug/146250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hanbihui/" target="_blank">流浪韩</a> 2007-09-18 20:48 <a href="http://www.blogjava.net/hanbihui/archive/2007/09/18/146250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>