<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>dev.azki.org</title>
		<link>http://dev.azki.org/</link>
		<description>위아래 동서남북 감정 다막아놓고 뭔 프로그래밍을 하겠다는건데? 그냥 니본능대로하란말이야! 오기, 독기, 싸우고, 덤비고, 터뜨리라고!!</description>
		<language>ko</language>
		<pubDate>Wed, 17 Feb 2010 13:29:16 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<image>
		<title>dev.azki.org</title>
		<url><![CDATA[http://cfile2.uf.tistory.com/image/205A050D49BDB52A926FA1]]></url>
		<link>http://dev.azki.org/</link>
		<description>위아래 동서남북 감정 다막아놓고 뭔 프로그래밍을 하겠다는건데? 그냥 니본능대로하란말이야! 오기, 독기, 싸우고, 덤비고, 터뜨리라고!!</description>
		</image>
		<item>
			<title>Java (J2SE 5.0) and C# Comparison</title>
			<link>http://dev.azki.org/entry/Java-J2SE-50-and-C-Comparison</link>
			<description>&lt;FONT color=#ff0000 size=6&gt;
&lt;P&gt;&lt;FONT size=1&gt;출처 : &lt;/FONT&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html&quot; target=_blank&gt;&lt;FONT color=#0066cc size=1&gt;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Java (J2SE 5.0) and C# Comparison&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;/P&gt;
&lt;DIV style=&quot;BORDER-RIGHT: rgb(200,200,200) 2px solid; BORDER-TOP: rgb(200,200,200) 2px solid; BORDER-LEFT: rgb(200,200,200) 2px solid; BORDER-BOTTOM: rgb(200,200,200) 2px solid&quot;&gt;
&lt;TABLE id=menutable borderColor=gainsboro cellSpacing=1 cellPadding=0 width=600 align=center border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;23%&quot;&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#comments&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Comments&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#datatypes&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Data Types&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#constants&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Constants&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#enumerations&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Enumerations&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#operators&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Operators&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;/TD&gt;
&lt;TD width=&quot;23%&quot;&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#choices&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Choices&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#loops&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Loops&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#arrays&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Arrays&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#functions&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Functions&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#strings&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Strings&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;/TD&gt;
&lt;TD width=&quot;31%&quot;&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#exceptionhandling&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Exception Handling&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#namespaces&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Namespaces&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#classesinterfaces&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Classes / Interfaces&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#constructorsdestructors&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Constructors / Destructors&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#objects&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Objects&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;/TD&gt;
&lt;TD width=&quot;25%&quot;&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#properties&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Properties&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#structs&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Structs&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#consoleio&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;Console I/O&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;A class=con_link href=&quot;http://www.harding.edu/USER/fmccown/WWW/java1_5_csharp_comparison.html#fileio&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#800080&gt;File I/O&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;br /&gt;&lt;br /&gt;
&lt;TABLE height=2742 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=&quot;50%&quot; height=29&gt;
&lt;H2 align=center&gt;&lt;FONT color=#ff0000&gt;&lt;U&gt;Java&lt;/U&gt;&lt;/FONT&gt;&lt;/H2&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot; height=29&gt;
&lt;H2 align=center&gt;&lt;FONT color=#ff0000&gt;&lt;U&gt;C#&lt;/U&gt;&lt;/FONT&gt;&lt;/H2&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Comments&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT color=#008000&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;EM&gt;&lt;SPAN class=comment&gt;// Single line&lt;/SPAN&gt;&lt;br /&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;EM&gt;&lt;SPAN class=comment&gt;/* Multiple&lt;br /&gt;&amp;nbsp; &amp;nbsp; line&amp;nbsp; */&lt;/SPAN&gt;&lt;br /&gt;&lt;SPAN class=comment&gt;/** Javadoc documentation comments */&lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=#008000&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;EM&gt;&lt;SPAN class=comment&gt;// Single line&lt;/SPAN&gt;&lt;br /&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;EM&gt;&lt;SPAN class=comment&gt;/* Multiple&lt;br /&gt;&amp;nbsp; &amp;nbsp; line&amp;nbsp; */&lt;/SPAN&gt;&lt;br /&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;/// XML comments on a single line&lt;br /&gt;/** XML comments on multiple lines */&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2&gt;Data Types&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Primitive Types&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;boolean&lt;br /&gt;byte&lt;br /&gt;char&lt;br /&gt;short, int, long&lt;br /&gt;float, double&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;Reference Types&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;br /&gt;Object &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(superclass of all other classes)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;String&lt;br /&gt;&lt;EM&gt;arrays, classes, interfaces&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;Conversions&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// int to String&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;int x = 123; &lt;br /&gt;String y = Integer.toString(x);&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// y is &quot;123&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// String to int&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;y = &quot;456&quot;; &lt;br /&gt;x = Integer.parseInt(y); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// x is 456&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// double to int&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;double z = 3.5; &lt;br /&gt;x = &lt;STRONG&gt;(int)&lt;/STRONG&gt; z; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// x is 3&amp;nbsp; (truncates decimal)&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Value Types&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;bool&lt;br /&gt;byte, sbyte&lt;br /&gt;char&lt;br /&gt;short, ushort, int, uint, long, ulong&lt;br /&gt;float, double, decimal&lt;br /&gt;&lt;EM&gt;structures, enumerations&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Reference Types&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;object &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(superclass of all other classes)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;string&lt;br /&gt;&lt;EM&gt;arrays, classes, interfaces, delegates&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;Convertions&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// int to string&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;int x = 123; &lt;br /&gt;String y = x.ToString();&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// y is &quot;123&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// string to int&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;y = &quot;456&quot;; &lt;br /&gt;x = int.Parse(y); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// or x = Convert.ToInt32(y);&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// double to int&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;double z = 3.5; &lt;br /&gt;x = &lt;STRONG&gt;(int)&lt;/STRONG&gt; z; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// x is 3&amp;nbsp; (truncates decimal)&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Constants&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// May be initialized in a constructor &lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;final&lt;/STRONG&gt; double PI = 3.14; &lt;/TD&gt;
&lt;TD&gt;&lt;STRONG&gt;const&lt;/STRONG&gt; double PI = 3.14; 
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Can be set to a const or a variable. May be initialized in a constructor. &lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;B&gt;readonly&lt;/B&gt; int MAX_HEIGHT = 9; &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Enumerations&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;enum&lt;/STRONG&gt; Action {Start, Stop, Rewind, Forward};&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Special type of class &lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;enum&lt;/STRONG&gt; Status {&lt;br /&gt;&amp;nbsp; Flunk(50), Pass(70), Excel(90);&lt;br /&gt;&amp;nbsp; private final int value;&lt;br /&gt;&amp;nbsp; Status(int value) { this.value = value; }&lt;br /&gt;&amp;nbsp; public int value() { return value; } &lt;br /&gt;}; &lt;/P&gt;
&lt;P&gt;Action a = Action.Stop;&lt;br /&gt;if (a != Action.Start)&lt;br /&gt;&amp;nbsp; System.out.println(a); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Prints &quot;Stop&quot;&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Status s = Status.Pass;&lt;br /&gt;System.out.println(s.value()); &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Prints &quot;70&quot; &lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;STRONG&gt;enum&lt;/STRONG&gt; Action {Start, Stop, Rewind, Forward};&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;enum&lt;/STRONG&gt; Status {Flunk = 50, Pass = 70, Excel = 90};&lt;br /&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;No equivalent.&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Action a = Action.Stop;&lt;br /&gt;if (a != Action.Start)&lt;br /&gt;&amp;nbsp; Console.WriteLine(a); &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Prints &quot;Stop&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Status s = Status.Pass;&lt;br /&gt;Console.WriteLine((int) s); &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Prints &quot;70&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Operators&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=16&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Comparison&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;==&amp;nbsp; &amp;lt;&amp;nbsp; &amp;gt;&amp;nbsp; &amp;lt;=&amp;nbsp; &amp;gt;=&amp;nbsp; !=&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Arithmetic&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;+&amp;nbsp; -&amp;nbsp; *&amp;nbsp; /&lt;br /&gt;%&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(mod)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;/ &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(integer division if both operands are ints)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Math.Pow(x, y)&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Assignment&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;=&amp;nbsp; +=&amp;nbsp; -= &amp;nbsp;*=&amp;nbsp; /= &amp;nbsp; %= &amp;nbsp; &amp;amp;=&amp;nbsp; |=&amp;nbsp; ^=&amp;nbsp; &amp;lt;&amp;lt;=&amp;nbsp; &amp;gt;&amp;gt;=&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;=&amp;nbsp; ++&amp;nbsp; --&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Bitwise&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;amp; &amp;nbsp;| &amp;nbsp;^ &amp;nbsp; ~&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp; &amp;gt;&amp;gt;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Logical&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;amp;&amp;amp; &amp;nbsp;|| &amp;nbsp;&amp;amp;&amp;nbsp; | &amp;nbsp; !&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; &amp;amp;&amp;amp; and || perform short-circuit logical evaluations&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;String Concatenation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;+&lt;/P&gt;&lt;/TD&gt;
&lt;TD height=16&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Comparison&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;==&amp;nbsp; &amp;lt;&amp;nbsp; &amp;gt;&amp;nbsp; &amp;lt;=&amp;nbsp; &amp;gt;=&amp;nbsp; !=&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Arithmetic&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;+&amp;nbsp; -&amp;nbsp; *&amp;nbsp; /&lt;br /&gt;%&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(mod)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;/ &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;(integer division if both operands are ints)&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Math.Pow(x, y)&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Assignment&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;=&amp;nbsp; +=&amp;nbsp; -= &amp;nbsp;*=&amp;nbsp; /= &amp;nbsp; %=&amp;nbsp; &amp;amp;=&amp;nbsp; |=&amp;nbsp; ^=&amp;nbsp; &amp;lt;&amp;lt;=&amp;nbsp; &amp;gt;&amp;gt;=&amp;nbsp; ++&amp;nbsp; --&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Bitwise&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;amp; &amp;nbsp;| &amp;nbsp;^ &amp;nbsp; ~&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp; &amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;Logical&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;amp;&amp;amp;&amp;nbsp; || &amp;nbsp; !&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; &amp;amp;&amp;amp; and || perform short-circuit logical evaluations, no &amp;amp; and | equivalents&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;String Concatenation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;+&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Choices&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=163&gt;
&lt;P&gt;greeting = age &amp;lt; 20 &lt;STRONG&gt;?&lt;/STRONG&gt; &quot;What&#039;s up?&quot; &lt;STRONG&gt;:&lt;/STRONG&gt; &quot;Hello&quot;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if &lt;/STRONG&gt;(x &amp;lt; y) &lt;br /&gt;&amp;nbsp; System.out.println(&quot;greater&quot;);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if &lt;/STRONG&gt;(x != 100) { &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; x *= 5; &lt;br /&gt;&amp;nbsp; y *= 2; &lt;br /&gt;} &lt;br /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; z *= 6;&lt;/P&gt;
&lt;P&gt;int selection = 2;&lt;br /&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt; (selection) {&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;// Must be byte, short, int, char, or enum&lt;/I&gt;&lt;/FONT&gt;&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; 1: x++; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;// Falls through to next case if no break&lt;/I&gt;&lt;/FONT&gt;&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; 2: y++; &amp;nbsp; &lt;STRONG&gt;break;&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; 3: z++; &amp;nbsp; &lt;STRONG&gt;break;&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;default:&lt;/STRONG&gt; other++;&lt;br /&gt;} &lt;/P&gt;&lt;/TD&gt;
&lt;TD height=163&gt;
&lt;P&gt;greeting = age &amp;lt; 20 &lt;STRONG&gt;?&lt;/STRONG&gt; &quot;What&#039;s up?&quot; &lt;STRONG&gt;:&lt;/STRONG&gt; &quot;Hello&quot;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if &lt;/STRONG&gt;(x &amp;lt; y)&amp;nbsp; &lt;br /&gt;&amp;nbsp; Console.WriteLine(&quot;greater&quot;);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if &lt;/STRONG&gt;(x != 100) { &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; x *= 5; &lt;br /&gt;&amp;nbsp; y *= 2; &lt;br /&gt;} &lt;br /&gt;&lt;STRONG&gt;else&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; z *= 6;&lt;br /&gt;&lt;br /&gt;string color = &quot;red&quot;;&lt;br /&gt;&lt;STRONG&gt;switch&lt;/STRONG&gt; (color) {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;I&gt;&lt;FONT color=#008000&gt;// Can be any predefined type&lt;/FONT&gt;&lt;/I&gt;&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; &quot;red&quot;: &amp;nbsp;&amp;nbsp; r++; &amp;nbsp;&amp;nbsp; &lt;STRONG&gt;break;&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;// break is mandatory; no fall-through&lt;/I&gt;&lt;/FONT&gt;&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; &quot;blue&quot;: &amp;nbsp; b++; &amp;nbsp; &lt;STRONG&gt;break;&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;case&lt;/STRONG&gt; &quot;green&quot;: g++; &amp;nbsp; &lt;STRONG&gt;break;&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;default:&lt;/STRONG&gt;&amp;nbsp;other++; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;break;&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;// break necessary on default&lt;/I&gt;&lt;/FONT&gt;&lt;br /&gt;} &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Loops&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=259&gt;
&lt;P&gt;&lt;STRONG&gt;while&lt;/STRONG&gt; (i &amp;lt; 10) &lt;br /&gt;&amp;nbsp; i++;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;for&lt;/STRONG&gt; (i = 2; i &amp;lt;= 10; i += 2) &lt;br /&gt;&amp;nbsp; System.out.println(i);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;do&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; i++; &lt;br /&gt;&lt;STRONG&gt;while&lt;/STRONG&gt; (i &amp;lt; 10);&lt;/P&gt;
&lt;P&gt;&lt;B&gt;for&lt;/B&gt; (int i &lt;B&gt;:&lt;/B&gt; numArray)&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// foreach construct&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; sum += i;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// for loop can be used to iterate through any Collection&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;import java.util.ArrayList;&lt;br /&gt;ArrayList&amp;lt;Object&amp;gt; list = new ArrayList&amp;lt;Object&amp;gt;();&lt;br /&gt;list.add(10); &amp;nbsp; &amp;nbsp;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// boxing converts to instance of Integer&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;list.add(&quot;Bisons&quot;);&lt;br /&gt;list.add(2.3); &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// boxing converts to instance of Double&lt;/SPAN&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;B&gt;for&lt;/B&gt; (Object o &lt;B&gt;:&lt;/B&gt; list)&lt;br /&gt;&amp;nbsp; System.out.println(o); &lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top height=259&gt;
&lt;P&gt;&lt;STRONG&gt;while&lt;/STRONG&gt; (i &amp;lt; 10) &lt;br /&gt;&amp;nbsp; i++;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;for&lt;/STRONG&gt; (i = 2; i &amp;lt;= 10; i += 2) &lt;br /&gt;&amp;nbsp; Console.WriteLine(i);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;do&lt;/STRONG&gt; &lt;br /&gt;&amp;nbsp; i++; &lt;br /&gt;&lt;STRONG&gt;while&lt;/STRONG&gt; (i &amp;lt; 10);&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;foreach&lt;/STRONG&gt; (int i &lt;STRONG&gt;in&lt;/STRONG&gt; numArray)&amp;nbsp; &lt;br /&gt;&amp;nbsp; sum += i;&lt;/P&gt;
&lt;P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&lt;I&gt;// foreach can be used to iterate through any collection&lt;/I&gt;&lt;/FONT&gt;&amp;nbsp;&lt;br /&gt;using System.Collections;&lt;br /&gt;ArrayList list = new ArrayList();&lt;br /&gt;list.Add(10);&lt;br /&gt;list.Add(&quot;Bisons&quot;);&lt;br /&gt;list.Add(2.3);&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;foreach&lt;/STRONG&gt; (Object o &lt;STRONG&gt;in&lt;/STRONG&gt; list)&lt;br /&gt;&amp;nbsp; Console.WriteLine(o);&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Arrays&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=144&gt;int nums&lt;STRONG&gt;[]&lt;/STRONG&gt; = {1, 2, 3}; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;or&lt;/I&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; int&lt;STRONG&gt;[]&lt;/STRONG&gt; nums = {1, 2, 3};&lt;br /&gt;for (int i = 0; i &amp;lt; nums.length; i++)&lt;br /&gt;&amp;nbsp; System.out.println(nums[i]);&lt;br /&gt;&lt;br /&gt;String names[] = new String[5];&lt;br /&gt;names[0] = &quot;David&quot;;&lt;br /&gt;&lt;br /&gt;float twoD&lt;STRONG&gt;[][]&lt;/STRONG&gt; = new float[rows][cols];&lt;br /&gt;twoD[2][0] = 4.5; 
&lt;P&gt;int&lt;STRONG&gt;[][]&lt;/STRONG&gt; jagged = new int[5][]; &lt;br /&gt;jagged[0] = new int[5]; &lt;br /&gt;jagged[1] = new int[2]; &lt;br /&gt;jagged[2] = new int[3]; &lt;br /&gt;jagged[0][4] = 5; &lt;/P&gt;&lt;/TD&gt;
&lt;TD height=144&gt;int&lt;STRONG&gt;[]&lt;/STRONG&gt; nums = {1, 2, 3};&lt;br /&gt;for (int i = 0; i &amp;lt; nums.Length; i++)&lt;br /&gt;&amp;nbsp; Console.WriteLine(nums[i]);&lt;br /&gt;&lt;br /&gt;string[] names = new string[5];&lt;br /&gt;names[0] = &quot;David&quot;;&lt;br /&gt;&lt;br /&gt;float&lt;STRONG&gt;[,]&lt;/STRONG&gt; twoD = new float[rows, cols];&lt;br /&gt;twoD[2,0] = 4.5f; 
&lt;P&gt;int&lt;STRONG&gt;[][]&lt;/STRONG&gt; jagged = new int[3][] {&lt;br /&gt;&amp;nbsp; &amp;nbsp; new int[5], new int[2], new int[3] }; &lt;br /&gt;jagged[0][4] = 5; &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Functions&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot;&gt;
&lt;TABLE cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot;&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Return single value&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;int&lt;/STRONG&gt; Add(int x, int y) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;return&lt;/STRONG&gt; x + y; &lt;br /&gt;} 
&lt;P&gt;int sum = Add(2, 3); &lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot;&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Return no value&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;void&lt;/STRONG&gt; PrintSum(int x, int y) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; System.out.println(x + y); &lt;br /&gt;} 
&lt;P&gt;PrintSum(2, 3); &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Primitive types and references are always passed by value&lt;br /&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;void TestFunc(int x, Point p) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;x++; &lt;br /&gt;&amp;nbsp;&amp;nbsp; p.x++; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Modifying property of the object&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; p = null; &amp;nbsp;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Remove local reference to object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;class Point { &lt;br /&gt;&amp;nbsp;&amp;nbsp; public int x, y; &lt;br /&gt;}&lt;/P&gt;
&lt;P&gt;Point p = new Point(); &lt;br /&gt;p.x = 2; &lt;br /&gt;int a = 1; &lt;br /&gt;TestFunc(a, p);&lt;br /&gt;System.out.println(a + &quot; &quot; + p.x + &quot; &quot; + (p == null) );&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// 1 3 false&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Accept variable number of arguments&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;int Sum(int &lt;STRONG&gt;...&lt;/STRONG&gt; nums) {&lt;br /&gt;&amp;nbsp; int sum = 0;&lt;br /&gt;&amp;nbsp; for (int i : nums)&lt;br /&gt;&amp;nbsp; &amp;nbsp; sum += i;&lt;br /&gt;&amp;nbsp; return sum;&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;int total = Sum(4, 3, 2, 1); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// returns 10&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot;&gt;
&lt;TABLE id=Table1 cellPadding=0 width=&quot;100%&quot; border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot;&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Return single value&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;int&lt;/STRONG&gt; Add(int x, int y) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;return&lt;/STRONG&gt; x + y; &lt;br /&gt;} 
&lt;P&gt;int sum = Add(2, 3); &lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot;&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Return no value&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;void&lt;/STRONG&gt; PrintSum(int x, int y) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; Console.WriteLine(x + y); &lt;br /&gt;} 
&lt;P&gt;PrintSum(2, 3); &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Pass by value (default), in/out-reference (ref), and out-reference (out)&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;void TestFunc(int x, &lt;STRONG&gt;ref&lt;/STRONG&gt; int y, &lt;STRONG&gt;out&lt;/STRONG&gt; int z, Point p1, &lt;STRONG&gt;ref&lt;/STRONG&gt; Point p2) { &lt;br /&gt;&amp;nbsp;&amp;nbsp; x++;&amp;nbsp; y++;&amp;nbsp; z = 5; &lt;br /&gt;&amp;nbsp;&amp;nbsp; p1.x++; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Modifying property of the object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; p1 = null;&amp;nbsp; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Remove local reference to object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp; p2 = null; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Free the object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;}&lt;/P&gt;
&lt;P&gt;class Point { &lt;br /&gt;&amp;nbsp;&amp;nbsp; public int x, y; &lt;br /&gt;}&lt;/P&gt;
&lt;P&gt;Point p1 = new Point(); &lt;br /&gt;Point p2 = new Point(); &lt;br /&gt;p1.x = 2; &lt;br /&gt;int a = 1, b = 1, c; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Output param doesn&#039;t need initializing&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;TestFunc(a, &lt;STRONG&gt;ref&lt;/STRONG&gt; b, &lt;STRONG&gt;out&lt;/STRONG&gt; c, p1, &lt;STRONG&gt;ref&lt;/STRONG&gt; p2); &lt;br /&gt;Console.WriteLine(&quot;{0} {1} {2} {3} {4}&quot;, &lt;br /&gt;&amp;nbsp;&amp;nbsp; a, b, c, p1.x, p2 == null); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// 1 2 5 3 True&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Accept variable number of arguments&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;int Sum(&lt;STRONG&gt;params&lt;/STRONG&gt; int[] nums) {&lt;br /&gt;&amp;nbsp; int sum = 0;&lt;br /&gt;&amp;nbsp; foreach (int i in nums)&lt;br /&gt;&amp;nbsp; &amp;nbsp; sum += i;&lt;br /&gt;&amp;nbsp; return sum;&lt;br /&gt;}&lt;/P&gt;
&lt;P&gt;int total = Sum(4, 3, 2, 1); &amp;nbsp; &lt;FONT color=#008000&gt;&lt;I&gt;// returns 10&lt;/I&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Strings&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// String concatenation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;String&lt;/STRONG&gt; school = &quot;Harding &quot;; &lt;br /&gt;school = school + &quot;University&quot;; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// school is &quot;Harding University&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// String comparison&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;String mascot = &quot;Bisons&quot;; &lt;br /&gt;if (mascot == &quot;Bisons&quot;) &amp;nbsp; &amp;nbsp;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Not the correct way to do string comparisons&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;equals&lt;/STRONG&gt;(&quot;Bisons&quot;)) &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// true&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;equalsIgnoreCase&lt;/STRONG&gt;(&quot;BISONS&quot;)) &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// true&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;compareTo&lt;/STRONG&gt;(&quot;Bisons&quot;) == 0) &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// true&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;System.out.println(mascot.&lt;STRONG&gt;substring&lt;/STRONG&gt;(2, 5)); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints &quot;son&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// My birthday: Oct 12, 1973&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;java.util.Calendar c = new java.util.GregorianCalendar(1973, 10, 12);&lt;br /&gt;String s = String.format(&quot;My birthday: %1$tb %1$te, %1$tY&quot;, c);&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Mutable string&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;&lt;STRONG&gt;StringBuffer&lt;/STRONG&gt; buffer = new &lt;STRONG&gt;StringBuffer&lt;/STRONG&gt;(&quot;two &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;append&lt;/STRONG&gt;(&quot;three &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;insert&lt;/STRONG&gt;(0, &quot;one &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;replace&lt;/STRONG&gt;(4, 7, &quot;TWO&quot;); &lt;br /&gt;System.out.println(buffer); &amp;nbsp; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints &quot;one TWO three&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// String concatenation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;string&lt;/STRONG&gt; school = &quot;Harding &quot;; &lt;br /&gt;school = school + &quot;University&quot;; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// school is &quot;Harding University&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// String comparison&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;string mascot = &quot;Bisons&quot;; &lt;br /&gt;if (mascot == &quot;Bisons&quot;)&amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// true&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;Equals&lt;/STRONG&gt;(&quot;Bisons&quot;))&amp;nbsp; &amp;nbsp;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// true&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;ToUpper&lt;/STRONG&gt;().&lt;STRONG&gt;Equals&lt;/STRONG&gt;(&quot;BISONS&quot;)) &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// true&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;if (mascot.&lt;STRONG&gt;CompareTo&lt;/STRONG&gt;(&quot;Bisons&quot;) == 0) &amp;nbsp;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// true&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Console.WriteLine(mascot.&lt;STRONG&gt;Substring&lt;/STRONG&gt;(2, 3)); &amp;nbsp;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints &quot;son&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// My birthday: Oct 12, 1973&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;DateTime dt = new DateTime(1973, 10, 12);&lt;br /&gt;string s = &quot;My birthday: &quot; + dt.ToString(&quot;MMM dd, yyyy&quot;); &lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Mutable string&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;System.Text.&lt;STRONG&gt;StringBuilder&lt;/STRONG&gt; buffer = new System.Text.&lt;STRONG&gt;StringBuilder&lt;/STRONG&gt;(&quot;two &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;Append&lt;/STRONG&gt;(&quot;three &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;Insert&lt;/STRONG&gt;(0, &quot;one &quot;); &lt;br /&gt;buffer.&lt;STRONG&gt;Replace&lt;/STRONG&gt;(&quot;two&quot;, &quot;TWO&quot;); &lt;br /&gt;Console.WriteLine(buffer); &amp;nbsp; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints &quot;one TWO three&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Exception Handling&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=96&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Must be in a method that is declared to throw this exception&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Exception ex = new Exception(&quot;Something is really wrong.&quot;); &lt;br /&gt;&lt;STRONG&gt;throw&lt;/STRONG&gt; ex; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;try&lt;/STRONG&gt; {&lt;br /&gt;&amp;nbsp; y = 0; &lt;br /&gt;&amp;nbsp; x = 10 / y;&lt;br /&gt;} &lt;STRONG&gt;catch&lt;/STRONG&gt; (Exception ex) {&lt;br /&gt;&amp;nbsp; System.out.println(ex.getMessage()); &lt;br /&gt;} &lt;STRONG&gt;finally&lt;/STRONG&gt; {&lt;br /&gt;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Code that always gets executed&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;} &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Exception up = new Exception(&quot;Something is really wrong.&quot;); &lt;br /&gt;&lt;STRONG&gt;throw&lt;/STRONG&gt; up;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// ha ha &lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;br /&gt;try&lt;/STRONG&gt; {&lt;br /&gt;&amp;nbsp; y = 0; &lt;br /&gt;&amp;nbsp; x = 10 / y;&lt;br /&gt;} &lt;STRONG&gt;catch&lt;/STRONG&gt; (Exception ex) { &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Variable &quot;ex&quot; is optional&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp; Console.WriteLine(ex.Message); &lt;br /&gt;} &lt;STRONG&gt;finally&lt;/STRONG&gt; {&lt;br /&gt;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Code that always gets executed&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;} &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Namespaces&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=163&gt;
&lt;P&gt;&lt;STRONG&gt;package&lt;/STRONG&gt; harding.compsci.graphics; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import&lt;/STRONG&gt; harding.compsci.graphics.Rectangle;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Import single class&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;import&lt;/STRONG&gt; harding.compsci.graphics.*; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Import all classes&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD height=163&gt;
&lt;P&gt;&lt;STRONG&gt;namespace&lt;/STRONG&gt; Harding.Compsci.Graphics {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;or&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;namespace&lt;/STRONG&gt; Harding {&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;namespace&lt;/STRONG&gt; Compsci {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;STRONG&gt;namespace&lt;/STRONG&gt; Graphics {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Import all class. Can&#039;t import single class.&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;using&lt;/STRONG&gt; Harding.Compsci.Graphics; &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=heading colSpan=2 height=29&gt;
&lt;P align=center&gt;Classes / Interfaces&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;Accessibility keywords&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;public&lt;br /&gt;private&lt;br /&gt;protected&lt;br /&gt;static&lt;/P&gt;&lt;br /&gt;&lt;br /&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Inheritance&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;class&lt;/STRONG&gt; FootballGame &lt;STRONG&gt;extends&lt;/STRONG&gt; Competition {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Interface definition&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;interface&lt;/STRONG&gt; IAlarmClock {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Extending an interface &lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;interface&lt;/STRONG&gt; IAlarmClock &lt;STRONG&gt;extends&lt;/STRONG&gt; IClock {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Interface implementation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;class&lt;/STRONG&gt; WristWatch &lt;STRONG&gt;implements&lt;/STRONG&gt; IAlarmClock, ITimer {&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;Accessibility keywords&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;public&lt;br /&gt;private&lt;br /&gt;internal&lt;br /&gt;protected&lt;br /&gt;protected internal&lt;br /&gt;static&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Inheritance&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;class&lt;/STRONG&gt; FootballGame &lt;STRONG&gt;:&lt;/STRONG&gt; Competition {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Interface definition&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;interface&lt;/STRONG&gt; IAlarmClock {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Extending an interface &lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;interface&lt;/STRONG&gt; IAlarmClock : IClock {&lt;br /&gt;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Interface implementation&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;class&lt;/STRONG&gt; WristWatch &lt;STRONG&gt;:&lt;/STRONG&gt; IAlarmClock, ITimer {&lt;br /&gt;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;} &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Constructors / Destructors&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=176&gt;
&lt;P&gt;class SuperHero { &lt;br /&gt;&amp;nbsp; private int mPowerLevel; &lt;/P&gt;
&lt;P&gt;&amp;nbsp; public SuperHero() { &lt;br /&gt;&amp;nbsp; &amp;nbsp; mPowerLevel = 0; &lt;br /&gt;&amp;nbsp; } &lt;/P&gt;
&lt;P&gt;&amp;nbsp; public SuperHero(int powerLevel) { &lt;br /&gt;&amp;nbsp; &amp;nbsp; this.mPowerLevel= powerLevel; &lt;br /&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// No destructors, just override the finalize method&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp; protected void &lt;STRONG&gt;finalize&lt;/STRONG&gt;() throws Throwable { &lt;br /&gt;&amp;nbsp; &amp;nbsp; super.finalize(); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Always call parent&#039;s finalizer&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &amp;nbsp; &lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/P&gt;&lt;/TD&gt;
&lt;TD height=176&gt;
&lt;P&gt;class SuperHero {&lt;br /&gt;&amp;nbsp; private int mPowerLevel;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public SuperHero() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;mPowerLevel = 0;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public SuperHero(int powerLevel) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; this.mPowerLevel= powerLevel; &lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;~&lt;/STRONG&gt;SuperHero() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Destructor code to free unmanaged resources.&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Implicitly creates a Finalize method.&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Objects &lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=163&gt;
&lt;P&gt;SuperHero hero = new SuperHero(); &lt;/P&gt;
&lt;P&gt;hero.setName(&quot;SpamMan&quot;); &lt;br /&gt;hero.setPowerLevel(3); &lt;br /&gt;&lt;br /&gt;hero.Defend(&quot;Laura Jones&quot;);&lt;br /&gt;SuperHero.Rest(); &amp;nbsp;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Calling static method&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;SuperHero hero2 = hero; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Both refer to same object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;hero2.setName(&quot;WormWoman&quot;); &lt;br /&gt;System.out.println(hero.getName()); &amp;nbsp;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints WormWoman&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;&lt;br /&gt;hero = &lt;STRONG&gt;null&lt;/STRONG&gt;; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Free the object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;if (hero == &lt;STRONG&gt;null&lt;/STRONG&gt;)&lt;br /&gt;&amp;nbsp; hero = new SuperHero();&lt;/P&gt;
&lt;P&gt;Object obj = new SuperHero(); &lt;br /&gt;System.out.println(&quot;object&#039;s type: &quot; + obj.&lt;STRONG&gt;getClass()&lt;/STRONG&gt;.toString()); &lt;br /&gt;if (obj &lt;STRONG&gt;instanceof&lt;/STRONG&gt; SuperHero) &lt;br /&gt;&amp;nbsp; System.out.println(&quot;Is a SuperHero object.&quot;);&lt;/P&gt;&lt;/TD&gt;
&lt;TD height=163&gt;
&lt;P&gt;SuperHero hero = new SuperHero(); &lt;br /&gt;&lt;br /&gt;hero.Name = &quot;SpamMan&quot;; &lt;br /&gt;hero.PowerLevel = 3;&lt;/P&gt;
&lt;P&gt;hero.Defend(&quot;Laura Jones&quot;);&lt;br /&gt;SuperHero.Rest(); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Calling static method&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;SuperHero hero2 = hero; &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Both refer to same object&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;br /&gt;hero2.Name = &quot;WormWoman&quot;; &lt;br /&gt;Console.WriteLine(hero.Name); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints WormWoman&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;hero = &lt;STRONG&gt;null&lt;/STRONG&gt; ; &amp;nbsp; &lt;EM&gt;&lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;// Free the object&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/EM&gt; &lt;/P&gt;
&lt;P&gt;if (hero == &lt;STRONG&gt;null&lt;/STRONG&gt;)&lt;br /&gt;&amp;nbsp; hero = new SuperHero();&lt;/P&gt;
&lt;P&gt;Object obj = new SuperHero(); &lt;br /&gt;Console.WriteLine(&quot;object&#039;s type: &quot; + obj.&lt;STRONG&gt;GetType()&lt;/STRONG&gt;.ToString()); &lt;br /&gt;if (obj &lt;STRONG&gt;is&lt;/STRONG&gt; SuperHero) &lt;br /&gt;&amp;nbsp; Console.WriteLine(&quot;Is a SuperHero object.&quot;);&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Properties&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot; height=134&gt;
&lt;P&gt;private int mSize;&lt;/P&gt;
&lt;P&gt;public int &lt;STRONG&gt;getSize&lt;/STRONG&gt;() { return mSize; } &lt;br /&gt;public void &lt;STRONG&gt;setSize&lt;/STRONG&gt;(int value) {&lt;br /&gt;&amp;nbsp; if (value &amp;lt; 0) &lt;br /&gt;&amp;nbsp; &amp;nbsp; mSize = 0; &lt;br /&gt;&amp;nbsp; else &lt;br /&gt;&amp;nbsp; &amp;nbsp; mSize = value; &lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;&lt;br /&gt;int s = shoe.getSize();&lt;br /&gt;shoe.setSize(s+1);&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot; height=134&gt;
&lt;P&gt;private int mSize;&lt;/P&gt;
&lt;P&gt;public int Size { &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;get&lt;/STRONG&gt; { return mSize; } &lt;br /&gt;&amp;nbsp; &lt;STRONG&gt;set&lt;/STRONG&gt; { &lt;br /&gt;&amp;nbsp; &amp;nbsp; if (value &amp;lt; 0) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mSize = 0; &lt;br /&gt;&amp;nbsp; &amp;nbsp; else &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mSize = value; &lt;br /&gt;&amp;nbsp; } &lt;br /&gt;} &lt;/P&gt;
&lt;P&gt;shoe.Size++; &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Structs&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD height=256&gt;&lt;I&gt;&lt;FONT color=#008000&gt;&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;br /&gt;
&lt;P&gt;&lt;I&gt;&lt;FONT color=#008000&gt;No structs in Java.&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD height=256&gt;&lt;STRONG&gt;struct&lt;/STRONG&gt; StudentRecord {&lt;br /&gt;&amp;nbsp; public string name;&lt;br /&gt;&amp;nbsp; public float gpa;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public StudentRecord(string name, float gpa) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; this.name = name;&lt;br /&gt;&amp;nbsp; &amp;nbsp; this.gpa = gpa;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;StudentRecord stu = new StudentRecord(&quot;Bob&quot;, 3.5f);&lt;br /&gt;StudentRecord stu2 = stu; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;stu2.name = &quot;Sue&quot;;&lt;br /&gt;Console.WriteLine(stu.name); &amp;nbsp;&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Prints &quot;Bob&quot;&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Console.WriteLine(stu2.name); &amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints &quot;Sue&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;Console I/O&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot; height=163&gt;java.io.DataInput in = new java.io.DataInputStream(System.in);&lt;br /&gt;System.out.print(&quot;What is your name? &quot;);&lt;br /&gt;String name = in.readLine();&lt;br /&gt;System.out.print(&quot;How old are you? &quot;);&lt;br /&gt;int age = Integer.parseInt(in.readLine());&lt;br /&gt;System.out.println(name + &quot; is &quot; + age + &quot; years old.&quot;); 
&lt;P&gt;&lt;br /&gt;int c = System.in.read(); &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Read single char&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;System.out.println(c); &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints 65 if user enters &quot;A&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// The studio costs $499.00 for 3 months.&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;System.out.printf(&quot;The %s costs $%.2f for %d months.%n&quot;, &quot;studio&quot;, 499.0, 3);&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Today is 06/25/04&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;System.out.printf(&quot;Today is %tD%n&quot;, new java.util.Date());&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot; height=163&gt;Console.Write(&quot;What&#039;s your name? &quot;);&lt;br /&gt;string name = Console.ReadLine();&lt;br /&gt;Console.Write(&quot;How old are you? &quot;);&lt;br /&gt;int age = Convert.ToInt32(Console.ReadLine());&lt;br /&gt;Console.WriteLine(&quot;{0} is {1} years old.&quot;, name, age);&lt;br /&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// or&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Console.WriteLine(name + &quot; is &quot; + age + &quot; years old.&quot;); 
&lt;P&gt;int c = Console.Read();&amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Read single char&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Console.WriteLine(c); &amp;nbsp;&amp;nbsp; &lt;SPAN class=comment&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Prints 65 if user enters &quot;A&quot;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// The studio costs $499.00 for 3 months.&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Console.WriteLine(&quot;The {0} costs {1:C} for {2} months.\n&quot;, &quot;studio&quot;, 499.0, 3);&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Today is 06/25/2004&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;Console.WriteLine(&quot;Today is &quot; + DateTime.Now.ToShortDateString()); &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR align=middle&gt;
&lt;TD class=heading colSpan=2 height=29&gt;File I/O&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=&quot;50%&quot; height=163&gt;
&lt;P&gt;import java.io.*;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Character stream writing&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;FileWriter&lt;/STRONG&gt; writer = new FileWriter(&quot;c:\\myfile.txt&quot;);&lt;br /&gt;writer.write(&quot;Out to file.&quot;);&lt;br /&gt;writer.close();&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Character stream reading&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;FileReader&lt;/STRONG&gt; reader = new FileReader(&quot;c:\\myfile.txt&quot;);&lt;br /&gt;&lt;STRONG&gt;BufferedReader&lt;/STRONG&gt; br = new BufferedReader(reader);&lt;br /&gt;String line = br.readLine(); &lt;br /&gt;while (line != null) {&lt;br /&gt;&amp;nbsp; System.out.println(line); &lt;br /&gt;&amp;nbsp; line = br.readLine(); &lt;br /&gt;} &lt;br /&gt;reader.close(); &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Binary stream writing&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT id=altools-findtxt style=&quot;FONT-WEIGHT: bold; FONT-SIZE: 120%; COLOR: #000000; BACKGROUND-COLOR: #ffff00&quot; size=5&gt;FileOutputStream&lt;/FONT&gt;&lt;/STRONG&gt; out = new FileOutputStream(&quot;c:\\myfile.dat&quot;);&lt;br /&gt;out.write(&quot;Text data&quot;.getBytes());&lt;br /&gt;out.write(123);&lt;br /&gt;out.close();&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Binary stream reading&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;FileInputStream&lt;/STRONG&gt; in = new FileInputStream(&quot;c:\\myfile.dat&quot;);&lt;br /&gt;byte buff[] = new byte[9];&lt;br /&gt;in.read(buff, 0, 9); &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Read first 9 bytes into buff&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;String s = new String(buff);&lt;br /&gt;int num = in.read(); &amp;nbsp; &lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Next is 123&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;in.close();&lt;/P&gt;&lt;/TD&gt;
&lt;TD width=&quot;50%&quot; height=163&gt;
&lt;P&gt;using System.IO;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Character stream writing&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;StreamWriter&lt;/STRONG&gt; writer = File.CreateText(&quot;c:\\myfile.txt&quot;); &lt;br /&gt;writer.WriteLine(&quot;Out to file.&quot;); &lt;br /&gt;writer.Close(); &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Character stream reading&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;StreamReader&lt;/STRONG&gt; reader = File.OpenText(&quot;c:\\myfile.txt&quot;); &lt;br /&gt;string line = reader.ReadLine(); &lt;br /&gt;while (line != null) {&lt;br /&gt;&amp;nbsp; Console.WriteLine(line); &lt;br /&gt;&amp;nbsp; line = reader.ReadLine(); &lt;br /&gt;} &lt;br /&gt;reader.Close(); &lt;/P&gt;
&lt;P&gt;&lt;SPAN class=comment&gt;&lt;br /&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot; color=#008000&gt;&lt;EM&gt;// Binary stream writing&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;br /&gt;&lt;STRONG&gt;BinaryWriter&lt;/STRONG&gt;&amp;nbsp;out = new BinaryWriter(File.OpenWrite(&quot;c:\\myfile.dat&quot;)); &lt;br /&gt;out.Write(&quot;Text data&quot;); &lt;br /&gt;out.Write(123); &lt;br /&gt;out.Close(); &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;&lt;EM&gt;&lt;FONT style=&quot;BACKGROUND-COLOR: #f7f7f7&quot;&gt;&lt;SPAN class=comment&gt;// Binary stream reading&lt;/SPAN&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;STRONG&gt;BinaryReader&lt;/STRONG&gt; in = new BinaryReader(File.OpenRead(&quot;c:\\myfile.dat&quot;)); &lt;br /&gt;string s = in.ReadString(); &lt;br /&gt;int num = in.ReadInt32(); &lt;br /&gt;in.Close(); 
&lt;DIV class=autosourcing-stub&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;</description>
			<author>아즈키</author>
			<guid>http://dev.azki.org/34</guid>
			<comments>http://dev.azki.org/entry/Java-J2SE-50-and-C-Comparison#entry34comment</comments>
			<pubDate>Mon, 16 Mar 2009 17:15:08 +0900</pubDate>
		</item>
		<item>
			<title>[펌] C# I/O와 네트워킹 by Raffi Krikorian</title>
			<link>http://dev.azki.org/entry/%ED%8E%8C-C-IO%EC%99%80-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9-by-Raffi-Krikorian</link>
			<description>&lt;DIV class=&quot;post-view pcol2&quot; id=post-view&gt;&lt;EM&gt;by Raffi Krikorian, 역 한빛리포터 2기 신동섭&lt;/EM&gt; 자바가 프로그래밍 언어로 유명해진 이유는 입력/출력과 네트워킹 동작을 행함에 있어 자바가 지니고 있는 편리성 때문이다. 자바는 C#과 같은 맥락을 가지고 있으며 복잡함에 대해 신경쓰지 않아도 되는 라이브러리를 제공한다. 이 시리즈 중 앞의 두 기사에서는 자바 프로그래머가 간단한 C# 프로그램을 구축하기 위해 알아야 하는 언어 구조의 다른점을 중점적으로 다루었다. 이번 기사는 이러한 라이브러리들의 공통적 사용패턴을 따라 I/O와 네트워킹을 다루는 몇몇 C# 네임스페이스에 중점을 두고 작성할 예정이다. &lt;FONT class=hd2&gt;스트림의 이해&lt;/FONT&gt; 자바와 C#에서 스트림이란 보통 콘솔로부터 콘솔까지, 파일시스템에서 파일시스템까지, 네트워크에서 네트워크까지 바이트를 읽고 쓰는 것을 포함한다. 두 언어 모두에서 스트림 패러다임은 하나의 프로그램을 바이트 그룹으로 동작하거나 이동할 필요가 있을 때 더 일반적으로 사용된다. 자바는 두 개의 추상 클래스인 &lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;과 &lt;FONT color=#333399&gt;java.io.OutputStream&lt;/FONT&gt;을 제공한다. 이 클래스는 프로그램이 이러한 두 스트림 서브 타입으로부터 읽고 쓸 수 있게 인증될 필요가 있는 구현되지 않은 메소드를 포함하고 있다. 반면, C#은 이러한 두 개의 클래스를 &lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt; 하나로 통합한다. 하나는 읽기를 하고 하나는 쓰기를 하는 객체 두 개 대신에 C# 스트림 객체는 &lt;FONT color=#333399&gt;CanRead&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;CanWrite&lt;/FONT&gt; 프로퍼티를 그 능력을 검증받을 필요가 있다. &lt;FONT class=hd2&gt;동기 I/O&lt;/FONT&gt; 동기 I/O는 두 언어에 있어서 문법적으로 아주 비슷하다. &lt;FONT color=#333399&gt;C# System.IO.Stream&lt;/FONT&gt;와 함께 자바 &lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;java.io.OutputStream&lt;/FONT&gt;은 바이트 배열로 동작하는 메소드와 함께 한 번에 1 바이트를 동작하는 메소드를 가진다. (C#은 전체 배열에 대한 운영 문법이 필요하다. C#은 대신에 offset/length 쌍으로 배열을 사용하는 방법만 알고있다.) 
&lt;TABLE style=&quot;WIDTH: 781px; HEIGHT: 126px&quot; cellSpacing=0 cellPadding=3 width=781 border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=silver&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;기능&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;자바&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;C#&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;1 바이트를 읽어라&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;read()&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;ReadByte()&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;전체 바이트 배열을 읽어라&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;read( byte[] b )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;그러한 구문적 메소드 없음 - offset/count 쌍을 가진 읽기 메소드를 사용할 것&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;바이트 배열의 일부분으로 읽어라.&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;read( byte[] b, int off, int len )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;Read( byte[] buffer, int offset, int length )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;1 바이트를 작성해라.&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.OutputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;write( int b ) &lt;/FONT&gt;메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;WriteByte( byte value ) &lt;/FONT&gt;메소드&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;전체 바이트 &lt;FONT color=#333399&gt;arrayjava.io.OutputStream&lt;/FONT&gt;을 작성해라&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;write( byte[] b )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;특정 메소드 없음 - offset/count 쌍을 요청하는 메소드를 사용할 것 &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;바이트 배열의 일부분을 작성해라&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.OutputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;write( byte[] b, int off, int len )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;Write( byte[] buffer, int offset, int length )&lt;/FONT&gt; 메소드&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;[표 1] 자바와 C#에서 동기 I/O 메소드 &lt;/B&gt;동시에 스트림하도록 일하기 원할 때 사용하는 메소드들 자바 프로그래머들을 위한 조언 중 하나는 &lt;FONT color=#333399&gt;IOException&lt;/FONT&gt;을 포착하는 것을 잊지 말라는 것이다. 자바와는 달리 C# 컴파일러는 컴파일 할 때 예외(exceptions)를 강요하지 않기 때문이다. &lt;FONT class=hd2&gt;비동기 I/O&lt;/FONT&gt; 자바는 I/O 동작을 공식적으로 비동기로 수행하는 방법이 부족하다. 스트림에 발생하는 읽기 또는 쓰기 야기시킨 후 그 결과를 나중에 점검하는 &#039;내장&#039; 방법이 없다. 자바에서 가장 근접한 시뮬레이션은 동기 메소드 주위에 java.lang.Thread를 생성하는 것이며 콜백을 실행하거나 부작용을 일으키는 스레드를 가지고 있거나 I/O 동작상태에 있을 수도 있다. C#은 그 라이브러리에 내장된 비동기 I/O 메소드를 가지고 있다. 예를 들어 자바에서 비동기 &lt;FONT color=#333399&gt;read(byte[] b)&lt;/FONT&gt; 호출을 실행하기 위해 콜백 또는 이후에 점검될 수 있는 상태 모두에서 할 수 있는 구현은 아래와 같다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;// variables to hold the side effects of the read
int read; // to hold the result of the read
IOException exception; // to hold a possible exception
Object wait  ... 
     // some value to block on until the end of the = call

// a wrap around a read on the InputStream variable &quot;is&quot;
( new Thread( new Runnable() {
  public void run() {
    try {
      read  is.read();

    } catch( IOException error ) {
      exception  error;

    } finally {
      synchronized( wait ) {
        // wake up all other threads waiting on this
        // read
        wait.notifyAll();

        }

      // call a callback method
      callback();

      }

    }

} ) ).start();
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;이것은 &#039;읽기&#039;와 &#039;예외&#039;에 각각 저장된 것에 읽기 값 또는 읽을 때 포착되는 예외를 발생시킬 것이다. 다른 스레드는 변수 &#039;wait&#039;를 수반하거나 비동기 읽기가 완성될 때를 알기 위해 &#039;callback&#039; 메소드를 구현할 수도 있다. 이것을 정리함에 있어 C#은 위에서 언급한 모든 기능을 포함하는 &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;EndRead&lt;/FONT&gt; 메소드를 제공한다. &lt;FONT color=#333399&gt;AsyncCallback&lt;/FONT&gt;과 상태 객체인 두 개 이상의 변수를 가지는 것을 제외하고 &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;Read&lt;/FONT&gt;의 서명은 비슷하며 &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;의 서명은 나중에 비동기 읽기의 과정을 점검하는데 사용하는 &lt;FONT color=#333399&gt;IasyncResult &lt;/FONT&gt;객체를 환원한다. &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;의 표준사용은 아래와 같다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;IAsyncResult iar sbs.BeginRead( buffer, 0, 1, new AsyncCallback( = callback ), null );
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;아래와 같이 보이는 &lt;FONT color=#333399&gt;callback&lt;/FONT&gt; 메소드 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;public void callback( IAsyncResult iar )
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;실제로 몇 바이트를 읽었는지 알아 보기위해 EndRead 메소드 호출은 &lt;FONT color=#333399&gt;IAsyncResult&lt;/FONT&gt; 오브젝트로 호출될 수 있다. &lt;FONT color=#333399&gt;EndRead&lt;/FONT&gt;를 호출하는 것은 &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;이 완성될때까지 블록킹 할 것이라는 것을 경고받는다. 블록킹 없는 읽기상태를 발견하기 위해 &lt;FONT color=#333399&gt;IasyncResult&lt;/FONT&gt; 환원에 대한 &lt;FONT color=#333399&gt;IsCompleted&lt;/FONT&gt; 프로퍼티가 리턴되는지 점검해라. 또한 &lt;FONT color=#333399&gt;buffer&lt;/FONT&gt; 변수의 내용이 비동기식 읽기가 완성될 때까지 보장되지 않는다는 것에 주목해야 한다. &lt;FONT class=hd2&gt;스트림 구현&lt;/FONT&gt; 자바와 C# 스트림은 여러분이 자바 스트림에 대해 알고있는 것처럼 C# 스트림 구현이 그렇게 어렵지 않기 때문에 거의 비슷하다고 볼 수 있다. 이 두 가지를 구현하는데 있어 주요한 차이점은 적절한 읽기, 쓰기 메소드가 구현되어야 하는 것 외에도 C# 스트림 클래스는 읽기 또는 쓰기 두 가지 모두가 가능하기 때문에 성능 프로퍼티는 스트림이 할 수 있는 것을 정확하게 반영해야 한다는 것이다. 
&lt;TABLE style=&quot;WIDTH: 784px; HEIGHT: 158px&quot; cellSpacing=0 cellPadding=3 width=784 border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=silver&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;기능&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;자바&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;C#&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;읽기&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;read() &lt;/FONT&gt;메소드&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;ReadByte() &lt;/FONT&gt;메소드&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;검색&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.InputStream&lt;/FONT&gt;에 있는 메소드를 생락하고 파일 내로 향하는 필요한 연산을 수행하고, &lt;FONT color=#333399&gt;markSupported&lt;/FONT&gt;, &lt;FONT color=#333399&gt;mark&lt;/FONT&gt; 및 스트림으로 되돌아가는 &lt;FONT color=#333399&gt;reset&lt;/FONT&gt; 메소드를 구현 &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;이 스트림이 &lt;FONT color=#333399&gt;Seek&lt;/FONT&gt; 메소드를 검색하고 구현할 수 있는지 프로그램을 보고하기 위해 &lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;CanSeek&lt;/FONT&gt; 프로퍼티를 사용해라.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;쓰기&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.OutputStream&lt;/FONT&gt;에 있는 &lt;FONT color=#333399&gt;write&lt;/FONT&gt; 메소드 구현 (다시 한 번, 최적화 하기위해 &lt;FONT color=#333399&gt;OutputStream&lt;/FONT&gt;에 있는 다른 &lt;FONT color=#333399&gt;write&lt;/FONT&gt; 메소드들이 제작될 수 있음) &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;CanWrite&lt;/FONT&gt;라고 명명된 &lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt; 프로퍼티로부터 참값을 환원해라. 그리고 최소한 &lt;FONT color=#333399&gt;Write&lt;/FONT&gt;, &lt;FONT color=#333399&gt;WriteByte&lt;/FONT&gt;, &lt;FONT color=#333399&gt;BeginWrite/EndWrite&lt;/FONT&gt; 메소드 중에 하나를 써라.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;[표 2] 자바와 C#에서 스트림 구현하기&lt;/B&gt; 대응하는 스트림 클래스에서 구현될 필요가 있는 메소드 리스트 C# 스트림 클래스는 기능 구현을 위한 메소드에 관련된 많은 옵션을 제공한다. 모든 메소드의 기본 구현이 다른 메소드를 사용할 수 있는 것처럼 &lt;FONT color=#333399&gt;Read&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;Write&lt;/FONT&gt;(두 가지 모두 바이트 배열, 오프셋과 길이를 차지함)를 오버라이딩 하는 것은 일반적으로 충분하다. 단순하게 읽기/쓰기 메소드 중 최소한 하나만이라도 오버라이딩 하는 것은 전체 스트림에 요구되는 기능을 추가해 줄 것이다. &lt;FONT color=#333399&gt;ReadByte&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;WriteByte&lt;/FONT&gt;의 기본 구현은 롱 값을 바이트 배열로 바꿀 것이다. 반면에 비동기 &lt;FONT color=#333399&gt;BeginRead&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;BeginWrite&lt;/FONT&gt; 메소드 기본 구현은 분할된 스레드로 &lt;FONT color=#333399&gt;Read&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;Write&lt;/FONT&gt;를 실행할 것이다. &lt;FONT class=hd2&gt;읽기와 쓰기&lt;/FONT&gt; 이 기사의 대부분은 C#에서 &lt;FONT color=#333399&gt;System.IO.Stream&lt;/FONT&gt; 클래스와 관련된 사항에 많은 시간을 할애했다. 그렇지만 가끔씩 &lt;FONT color=#333399&gt;System.IO.TextReader&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;System.IO.TextWriter&lt;/FONT&gt;에 대한 사항에 대해서도 생각해 볼 필요가 있다. 이 두 클래스는 다른 클래스 타입이 쓰기를 다루고 있는 동안 또다른 클래스 타입은 읽기를 하는 자바 I/O 모델과 아주 흡사하다. 그런 점에서 C# 스트림 객체는 바이트를 동시에 읽고 쓰는 방법에 대한 지식을 캡슐화 하고 &lt;FONT color=#333399&gt;TextReader&lt;/FONT&gt;와&lt;FONT color=#333399&gt;TextWriter&lt;/FONT&gt; 클래스는 읽기와 쓰기 특성을 각각 캡슐화한다. 위의 두 가지로부터 나온 가장 일반적으로 사용되는 클래스는 &lt;FONT color=#333399&gt;System.IO.StreamReader&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;System.IO.StreamWriter&lt;/FONT&gt; 클래스로서 이들 두 클래스는 &lt;FONT color=#333399&gt;Stream&lt;/FONT&gt; 객체를 취할 수 있으며 선택사항으로 바이트 스트림을 문자 스트림(C#은 기본으로 UTF-8 인코더/디코더를 사용)으로 바꾸는 방법을 명세하는 &lt;FONT color=#333399&gt;System.Text.Encoding&lt;/FONT&gt; 객체를 취할 수 있다. 만약 스트림과 유사한 기능으로 접근하는 것이 요구되고, 바이트로 동작하는 것 대신 문자 사용을 위해 프로그래밍을 하고 있다면 스트림 클래스의 미묘한 차이를 다루는 것보다 &lt;FONT color=#333399&gt;TextReader&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;TextWriter&lt;/FONT&gt; 클래스의 서브 클래스를 구현하는 것이 더 쉬울 수도 있다. 만약 스트림이 적절히 구현되었다고 할지라도, 여러분은 커스텀 스트림을 랩핑(Wrapping)하기 위해 &lt;FONT color=#333399&gt;StreamReader&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;StreamWriter&lt;/FONT&gt; 클래스를 사용해야 한다. &lt;FONT class=hd2&gt;파일시스템 I/O&lt;/FONT&gt; 자바에서 디스크 작동 실행은 아주 간단하다. 그것은 &lt;FONT color=#333399&gt;java.io.FileInputStream&lt;/FONT&gt;이나 &lt;FONT color=#333399&gt;java.io.FileOutputStream&lt;/FONT&gt; 둘 중 하나를 사용하고 &lt;FONT color=#333399&gt;java.io.File&lt;/FONT&gt; 객체를 조작하는 것과 관련된 것이다. 이 전에서부터 많이 언급해왔던 것처럼 C#은 자바와 거의 비슷하지만 미묘한 차이가 있다. 자바에서처럼, C# 파일 객체는 파일 시스템 하에서 확고한 관계를 형성하지 않는다. 존재하지 않는 파일을 위해 파일 객체를 생성할 수 있으며 존재하는 파일을 위해 파일 객체를 생성해 파일을 열려고 할 때까지 C# 프로그램도 모르게 CLR하에서 그 파일을 이동시킬 수도 있다. 자바와 달리 파일 객체는 파일시스템으로 스트림을 환원해줄 &lt;FONT color=#333399&gt;AppendText&lt;/FONT&gt; 또는 &lt;FONT color=#333399&gt;CreateText&lt;/FONT&gt;와 같은 정적 메소드를 가지는 것만큼 훨씬 더 중요한 역할을 수행할 수 있다. 자바에서는 &lt;FONT color=#333399&gt;FileInputStream&lt;/FONT&gt;을 위한 생성자는 똑같은 기능을 얻기 위해 사용되어야 한다. 자바에서 쓰기를 위한 새로운 파일을 생성하기 위해서는 &lt;FONT color=#333399&gt;FileInputStream&lt;/FONT&gt;을 사용해야 한다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;FileOutputStream fos new FileOutputStream( &quot;brand-new-file.txt&quot; =);
fos.write( ... )
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;그렇지만 C#에서는 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT color=#006699&gt;
Stream s File.Create( &quot;brand-new-file.txt&quot; );
&lt;/FONT&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;또는 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT color=#006699&gt;
StreamWriter sw File.CreateText( &quot;brand-new-file.txt&quot; );
&lt;/FONT&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;을 새 파일을 얻기 위해 &lt;FONT color=#333399&gt;Stream&lt;/FONT&gt; 또는 &lt;FONT color=#333399&gt;StreamWriter&lt;/FONT&gt; 을 허락한다. (&lt;FONT color=#333399&gt;FileOutputStream&lt;/FONT&gt;의 생성자 중 하나로 &#039;append&#039; 불린을 설정함에 따라 자바에서는 &lt;FONT color=#333399&gt;appending&lt;/FONT&gt;이 수행됨) C#은 &lt;FONT color=#333399&gt;OpenWrite&lt;/FONT&gt;와 &lt;FONT color=#333399&gt;OpenText&lt;/FONT&gt;라고 이름 붙여진 정적 메소드를 가지는 반면 자바는 &lt;FONT color=#333399&gt;java.io.FileInputStream&lt;/FONT&gt;를 사용하는 파일로부터 읽기를 허락한다. 마지막으로 C#은 &lt;FONT color=#333399&gt;Open&lt;/FONT&gt; 메소드에 더욱 세심한 컨트롤을 제공하며 이 메소드는 파일 퍼미션과 접근 내용을 설정할 수 있는 능력을 보여준다. 
&lt;TABLE style=&quot;WIDTH: 787px; HEIGHT: 70px&quot; cellSpacing=0 cellPadding=3 width=787 border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=silver&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;기능&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;자바&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;C#&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;쓰기 위한 새로운 파일 생성&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.FileOutputStream&lt;/FONT&gt; 사용&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;정적 &lt;FONT color=#333399&gt;File.Create&lt;/FONT&gt; 메소드나 정적 &lt;FONT color=#333399&gt;CreateText &lt;/FONT&gt;사용 또는 인스턴스 &lt;FONT color=#333399&gt;CreateText&lt;/FONT&gt; 메소드 사용&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;기존 파일에 쓰기&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.FileOutputStream&lt;/FONT&gt; 사용&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;정적 또는 인스턴스 &lt;FONT color=#333399&gt;OpenWrite&lt;/FONT&gt; 메소드 사용&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;파일에 텍스트 추가하기&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.FileOutputStream&lt;/FONT&gt; 사용 그러나 &lt;FONT color=#333399&gt;append&lt;/FONT&gt; 매개변수를 차지하는 생성자를 사용해야 함.&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;정적 또는 인스턴스 &lt;FONT color=#333399&gt;AppendText &lt;/FONT&gt;메소드 사용&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;파일로부터 텍스트 제거하기&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.io.FileInputStream &lt;/FONT&gt;사용&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;정적 또는 인스턴스 &lt;FONT color=#333399&gt;OpenRead&lt;/FONT&gt;, &lt;FONT color=#333399&gt;OpenText &lt;/FONT&gt;메소드 사용&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;[표 3] 읽기와 쓰기를 위한 파일 조작&lt;/B&gt; 자바와 C# 모두에서 파일로부터 쓰거나 읽기 위해 사용하는 메소드 호기심을 위해 언급할 가치가 충분한 C#이 가져온 또다른 향상점은 &lt;FONT color=#333399&gt;File.Copy&lt;/FONT&gt; 메소드의 추가라고 말할 수 있다. 파일 시스템 I/O를 사용했던 대부분의 자바 프로그래머들은 파일을 적절하게 옮기는 능력이 부족했다. &lt;FONT color=#333399&gt;Java.io.File&lt;/FONT&gt;에는 파일이름을 다시 정의할 수 있는 &lt;FONT color=#333399&gt;renameTo &lt;/FONT&gt;메소드를 포함하고 있지만 파일시스템 경계(디스크, 네트워크 등등)에서는 실행되지 않는다. 대개의 경우 프로그래머는 자신의 이동 명령어를 구현해야만 했다. 이동 명령어는 &lt;FONT color=#333399&gt;java.io.FileInputStream&lt;/FONT&gt;과 &lt;FONT color=#333399&gt;java.io.FileOutputStream&lt;/FONT&gt; 모두를 사용해 파일을 복사하고 원본 파일을 지운다. &lt;FONT color=#333399&gt;File.Move&lt;/FONT&gt; 명령어 역시 볼륨(Volumes)과 파일시스템 경계에서는 실행되지 않는다고 하더라도 Copy 메소드의 C# 산물은 작은 파일들을 옮긴다. C# 파일-시스템 구현은 자바 모델이 대처해야만 하는 범용 플렛폼을 다룰 필요는 없다. &lt;FONT color=#333399&gt;Java.io.File.pathSeparator&lt;/FONT&gt;나 &lt;FONT color=#333399&gt;java.io.File.separator&lt;/FONT&gt;과 일치하는 변수는 없다. 불행하게도 이것은 또한 &lt;FONT color=#333399&gt;java.io.File&lt;/FONT&gt; 생성자중 호의적인 &lt;FONT color=#333399&gt;public File( File parent, String child )&lt;/FONT&gt;이 존재하지 않는다는 것을 의미한다. 그 대신 C# 프로그래머는 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;File parent  ...
File child  new File( parent.FullName + &quot;\&quot; + childName );
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;와 함께 새로운 &lt;FONT color=#333399&gt;System.IO.File &lt;/FONT&gt;객체를 생성하는 문제가 남는다. &lt;FONT class=hd2&gt;네트워크 이해하기&lt;/FONT&gt; 두 가지 프로그래밍 언어(C#, Java) 모두는 기본레벨 소켓 구현에 있어 몇 가지 추상적 계층을 제공한다(당연히 자바의 &lt;FONT color=#333399&gt;java.net.Socket&lt;/FONT&gt; 클래스는 C#의 &lt;FONT color=#333399&gt;System.Net.Sockets.Socket&lt;/FONT&gt; 클래스보다 더 추상적임). 
&lt;TABLE style=&quot;WIDTH: 792px; HEIGHT: 74px&quot; cellSpacing=0 cellPadding=3 width=792 border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=silver&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;Tier&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;자바&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;C#&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;응답/요청&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;java.net.URL&lt;/FONT&gt; 및 &lt;FONT color=#333399&gt;java.net.URLConnection&lt;/FONT&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT color=#333399 size=2&gt;System.Net.WebRequest&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;프로토콜&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;TCP/IP를 위한 &lt;FONT color=#333399&gt;java.net.Socket&lt;/FONT&gt; 및 &lt;FONT color=#333399&gt;java.net.ServerSocket&lt;/FONT&gt;; UDP를 위한 &lt;FONT color=#333399&gt;java.net.DatagramSocket&lt;/FONT&gt; 및 &lt;FONT color=#333399&gt;java.net.MulticastSocket &lt;/FONT&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;TCP/IP를 위한 &lt;FONT color=#333399&gt;System.Net.Sockets.TCPListener&lt;/FONT&gt; 및 &lt;FONT color=#333399&gt;System.Net.Sockets.TCPClient &lt;/FONT&gt;; &lt;FONT color=#333399&gt;System.Net.Sockets.UDPClient&lt;/FONT&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT size=2&gt;원래 소켓&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;없음&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;&lt;FONT color=#333399&gt;System.Net.Sockets.Socke&lt;/FONT&gt;t&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;B&gt;[표 4] 자바와 C#에서 네트워크 아키텍처 계층&lt;/B&gt; 자바와 C# 모두 인터페이스의 다른 점에 영향을 주도록 허락하는 네트워크를 위한 서로 다른 추상 층을 갖고 있다. 응답/요구 계층은 한쪽 끝에서 연결을 초기화하고 스트림으로 바이트를 보낸다. 그리고 응답으로 바이트 집합을 기다리는 동안 블록킹하는 HTTP 형태의 요구를 위해 사용될 수 있다. 좀더 유연한 스트림 작동을 위해 프로토콜 계층은 아주 유용하다(우리는 아래에서 TCP/IP 동작을 커버할 것이다). 대부분 자바 프로그래머들은 네트워크 작동을 최적화하지 않는다면 정확한 소켓 콘트롤을 요구하지는 않는다. C#은 만약 필요하다면 원래의 버클리 소켓을 제어할 수 있는 능력을 제공한다. &lt;FONT class=hd2&gt;응답/요구 계층&lt;/FONT&gt; 이 계층은 모든 네트워킹을 제거하고 앞뒤로 데이터를 이동할 수 있도록 스트림 같은 인터페이스를 제공한다. 자바는 HTTP URL을 가질것이고 아래와 같은 코드를 실행함으로써 간단히 GET을 실행할 것이다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;URL url  new URL( &quot;http://to.post.to.com&quot; );
URLConnection urlConnection  url.openConnection();
InputStream input  urlConnection.getInputStream();
... read stuff from input ...
input.close();
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;C#은 System.Net.WebRequest 객체로 이 코드를 모방한다: 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;PRE&gt;&lt;FONT color=#006699&gt;
WebRequest request WebRequestFactory.Create( = &quot;http://to.post.to.com&quot; );
Stream input request.GetResponse().GetResponseStream();
... read stuff from input ...
input.Close();
&lt;/FONT&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;이러한 두 가지 구현은 기본적인 소켓 생성과 HTTP protocol 요구를 숨길 것이며 프로그래머가 데이터를 싣고 받는데 사용할 수 있는 스트림을 제공할 것이다. C# 스트림 클래스처럼, &lt;FONT color=#333399&gt;WebRequest&lt;/FONT&gt; 클래스는 읽기 위한 &lt;FONT color=#333399&gt;WebResponse&lt;/FONT&gt; 객체 또는 쓰기 위한 요구 스트림을 비동기적으로 얻기 위한 메소드를 가진다. &lt;FONT class=hd2&gt;프로토콜 계층&lt;/FONT&gt; &lt;FONT color=#333399&gt;System.Net.Sockets.TCPClient &lt;/FONT&gt;클래스는 &lt;FONT color=#333399&gt;java.net.Socket&lt;/FONT&gt;에 친숙한 자바 프로그래머들에게 더 친숙해 보여야 한다. 왜냐하면 이 두 가지는 거의 똑같기 때문이다. 사용되는 리턴 스트림 대신에 프로그래머가 소켓 구현을 다룰 필요가 없는 것처럼 둘 다 아주 비슷한 API 및 비슷한 기능을 공유한다. 간단한 텔넷 클라이언트 구현은 간단히 아래의 코드를 사용함으로써 자바에서 조합될 수 있다: 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;Socket telnet  new Socket( &quot;telnet.host.com&quot;, 23 );
OutputStream output  telnet.getOutputStream();
InputStream input  telnet.getInputStream();
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;그리고 위의 두 스트림도 &lt;FONT color=#333399&gt;telnet.host.com&lt;/FONT&gt;에 텔넷에 결합하는데 사용될 수 있다. C#으로도 거의 같은 형태로 똑같은 프로그램을 쓸 수 있다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;TCPClient telnet  new TCPClient( &quot;telnet.host.com&quot;, 23 );
Stream telnetStream  telnet.GetStream();
StreamWriter output  new StreamWriter( telnetStream );
StreamReader input  new StreamReader( telnetStream );
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;또한, 자바로 들어오는 소켓을 설정하고 아래 코드를 사용하여 받는 것처럼 TCP/IP 연결을 받는 것은 두 언어에 있어 아주 비슷하다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;ServerSocket server  new ServerSocket( 23 );
Socket accept  server.accept();
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;반면에 C#은 아래와 같은 코드를 사용한다. 
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=code&gt;&lt;PRE&gt;TCPListener server  new TCPListener( 23 );
server.Start();
Socket accept  server.Accept();
&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;두 언어에서 인정되는 각각의 소켓은 따로 다루어져야 한다. 자바에서 선호하는 방법(java 1.4까지)은 받는 개개의 소켓을 위한 스레드를 생성하는 것이었다. 똑같은 것이 C# 소켓에서도 사용될 수 있다. 그러나 소켓 클래스는 &#039;select&#039; 메소드로 이벤트 구동 인터페이스를 사용하는 능력을 제공한다. (이벤트 구동 모델에서 소켓 프로그래밍은 이 기사의 범주를 벗어나는 것이므로 다루지 않겠다.) &lt;FONT class=hd2&gt;Raw 소켓 계층&lt;/FONT&gt; 이제 우리는 대부분의 자바 프로그래머에게 익숙하지 않은 영역으로의 모험을 시작할 것이다. 자바만 사용하는 프로그래머들은 버클리 소켓 구현에 대해 알 필요가 없었다. 왜냐하면 버클리 소켓 구현은 &lt;FONT color=#333399&gt;java.net.Socket &lt;/FONT&gt;및 &lt;FONT color=#333399&gt;java.net.DatagramSocket &lt;/FONT&gt;클 래스에 의해 추출되기 때문이었다. 이 버클리 소켓 클래스를 적절하게 조작함으로써 눈에 익은 자바 기능의 스트림을 성취할 수 있다. 지금까지 우리는 자바(I/O와 네트워킹을 수행할 수 있는 능력)로부터 가장 강력한 추상개념을 포함하는 C# 레퍼토리에 대해 살펴보았다. 다음 기사에서는 병렬 동작을 허용하는 멀티스레딩을 다룰 것이다. &lt;B&gt;Raffi Krikorian&lt;/B&gt;은 메사추세스 주 캠브리지에서 컨설턴트로 활동하고 있으며 대용량 분산 P2P 시스템, JXTA와 C#에 능통한 전문가 이다. 
&lt;DIV class=autosourcing-stub&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
			<author>아즈키</author>
			<guid>http://dev.azki.org/33</guid>
			<comments>http://dev.azki.org/entry/%ED%8E%8C-C-IO%EC%99%80-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9-by-Raffi-Krikorian#entry33comment</comments>
			<pubDate>Mon, 16 Mar 2009 11:04:34 +0900</pubDate>
		</item>
		<item>
			<title>[펌] Free unix timestamp and epoch conversion tool</title>
			<link>http://dev.azki.org/entry/%ED%8E%8C-Free-unix-timestamp-and-epoch-conversion-tool</link>
			<description>출처 : &lt;A href=&quot;http://www.epochconverter.com/&quot; target=_blank&gt;&lt;U&gt;&lt;FONT color=#0066cc&gt;http://www.epochconverter.com/&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Free unix timestamp and epoch conversion tool&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;The current Unix epoch time is &amp;nbsp; 1207534309 &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;Convert epoch to human readable date and vice versa&lt;BR&gt;&amp;nbsp;&amp;nbsp; or &amp;nbsp;batch convert epochs to human dates &lt;BR&gt;&lt;BR&gt;Mon Day Yr &amp;nbsp; Hr Min Sec &lt;BR&gt;/ &amp;nbsp; / &amp;nbsp; &amp;nbsp; &amp;nbsp;: &amp;nbsp; : &amp;nbsp; GMT &amp;nbsp; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; or &amp;nbsp;batch convert &lt;BR&gt;Format: RFC 2822 formatted date &lt;BR&gt;&lt;BR&gt;Epoch dates for the start and end of the year/month/day&lt;BR&gt;Show start &amp;amp; end of &amp;nbsp;year &amp;nbsp;month &amp;nbsp;day &lt;BR&gt;&lt;BR&gt;Mon Day Yr &amp;nbsp;&lt;BR&gt;/ &amp;nbsp; / &amp;nbsp; &amp;nbsp; &amp;nbsp; or &amp;nbsp;Epoch List By Month &amp;amp; Year &lt;BR&gt;&lt;BR&gt;Convert seconds to days, hours and minutes&lt;BR&gt;&amp;nbsp; &lt;BR&gt;More date conversion tools&lt;BR&gt;Calculate the difference between 2 dates&lt;BR&gt;&lt;BR&gt;What is epoch time?&lt;BR&gt;The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds. The epoch timestamp 0 can be written in ISO 8601 format as: 1970-01-01T00:00:00Z. One epoch hour is 3600 seconds, one epoch day is 86400 seconds long, leap seconds are not calculated. Many Unix systems store epoch dates as a signed 32-bit integer, which might cause problems on January 19, 2038 (known as the Year 2038 problem or Y2038). &lt;BR&gt;&lt;BR&gt;Human readable time &amp;nbsp;Seconds &lt;BR&gt;1 minute 60 seconds &lt;BR&gt;1 hour 3600 seconds &lt;BR&gt;1 day 86400 seconds &lt;BR&gt;1 week 604800 seconds &lt;BR&gt;1 month (30.44 days) &amp;nbsp;2629743 seconds &lt;BR&gt;1 year (365.24 days) &amp;nbsp; 31556926 seconds &lt;BR&gt;&lt;BR&gt;How to get the current epoch time in ...&lt;BR&gt;Perl time &lt;BR&gt;PHP time() &lt;BR&gt;Ruby Time.now (or Time.new). To display the epoch: Time.now.to_i &lt;BR&gt;Python import time first, then time.time() &lt;BR&gt;Java long epoch = System.currentTimeMillis()/1000; &lt;BR&gt;Microsoft .NET C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000; &lt;BR&gt;VBScript/ASP DateDiff(&quot;s&quot;, &quot;01/01/1970 00:00:00&quot;, Now()) &lt;BR&gt;MySQL SELECT unix_timestamp(now()) &lt;BR&gt;PostgreSQL SELECT extract(epoch FROM now()); &lt;BR&gt;SQL Server SELECT DATEDIFF(s, &#039;19700101&#039;, GETDATE()) &lt;BR&gt;JavaScript Math.round(new Date().getTime()/1000.0) getTime() returns time in milliseconds. &lt;BR&gt;Unix/Linux date +%s &lt;BR&gt;Other OS&#039;s &amp;nbsp;Command line: perl -e &quot;print time&quot; (If Perl is installed on your system) &lt;BR&gt;&lt;BR&gt;Convert from human readable date to epoch&lt;BR&gt;Perl Use these Perl Epoch routines &lt;BR&gt;PHP mktime(hour, minute, second, month, day, year) &amp;nbsp;&lt;BR&gt;Ruby Time.local(year, month, day, hour, minute, second, usec ) (or Time.gm for GMT/UTC input). To display add .to_i &lt;BR&gt;Python import time first, then int(time.mktime(time.strptime(&#039;2000-01-01 12:34:00&#039;, &#039;%Y-%m-%d %H:%M:%S&#039;))) &lt;BR&gt;Java long epoch = new java.text.SimpleDateFormat (&quot;dd/MM/yyyy HH:mm:ss&quot;).parse(&quot;01/01/1970 01:00:00&quot;); &lt;BR&gt;VBScript/ASP DateDiff(&quot;s&quot;, &quot;01/01/1970 00:00:00&quot;, time field) &amp;nbsp;&lt;BR&gt;MySQL SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD &amp;nbsp;&lt;BR&gt;PostgreSQL SELECT extract(epoch FROM date(&#039;2000-01-01 12:34&#039;));&lt;BR&gt;With timestamp: SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE &#039;2001-02-16 20:38:40-08&#039;);&lt;BR&gt;With interval: SELECT EXTRACT(EPOCH FROM INTERVAL &#039;5 days 3 hours&#039;); &lt;BR&gt;SQL Server SELECT DATEDIFF(s, &#039;19700101&#039;, time field) &lt;BR&gt;JavaScript use the JavaScript Date object &lt;BR&gt;Unix/Linux date +%s -d&quot;Jan 1, 1980 00:00:01&quot; &lt;BR&gt;&lt;BR&gt;Convert from epoch to human readable date&lt;BR&gt;Perl Use these Perl Epoch routines &lt;BR&gt;PHP date(output format, epoch); Output format example: &#039;r&#039; = RFC 2822 date &amp;nbsp;&lt;BR&gt;Ruby Time.at(epoch) &lt;BR&gt;Python import time first, then time.gmtime(epoch) time is an array of year, month, day, hour, min, sec, day of week, day of year, DST &amp;nbsp;&lt;BR&gt;Java String date = new java.text.SimpleDateFormat(&quot;dd/MM/yyyy HH:mm:ss&quot;).format(new java.util.Date (epoch*1000)); &lt;BR&gt;VBScript/ASP DateAdd(&quot;s&quot;, epoch, &quot;01/01/1970 00:00:00&quot;) &amp;nbsp;&lt;BR&gt;PostgreSQL SELECT TIMESTAMP WITH TIME ZONE &#039;epoch&#039; + epoch * INTERVAL &#039;1 second&#039;; &amp;nbsp;&lt;BR&gt;MySQL from_unixtime(epoch, optional output format) The default output format is YYY-MM-DD HH:MM:SS &amp;nbsp;&lt;BR&gt;SQL Server DATEADD(s, epoch, &#039;19700101&#039;) &lt;BR&gt;JavaScript use the JavaScript Date object &lt;BR&gt;Linux date -d @1190000000 (replace 1190000000 with your epoch, needs newer version of date) &lt;BR&gt;Other OS&#039;s Command line: perl -e &quot;print scalar(localtime(epoch))&quot; (If Perl is installed) Replace &#039;localtime&#039; with &#039;gmtime&#039; for GMT/UTC time. &lt;BR&gt;&lt;BR&gt;Full screen epoch clock | Epoch Conversion Functions | Related Books&lt;BR&gt;Esta página en Español: Convertir Epochs / Tiempos Unix &lt;BR&gt;Please note: All tools on this page are based on the time settings of your computer. &amp;nbsp;&lt;BR&gt;&lt;BR&gt;add to Favorites - add to Del.icio.us&lt;BR&gt;www.epochconverter.com - © 2008 Misja.com - contact - privacy - Unicode Tools&lt;BR&gt;&lt;!--&quot;&lt;--&gt;</description>
			<author>아즈키</author>
			<guid>http://dev.azki.org/32</guid>
			<comments>http://dev.azki.org/entry/%ED%8E%8C-Free-unix-timestamp-and-epoch-conversion-tool#entry32comment</comments>
			<pubDate>Mon, 16 Mar 2009 10:23:43 +0900</pubDate>
		</item>
		<item>
			<title>SourceSafe Error &#039;Cannot find SS.INI for user&#039;</title>
			<link>http://dev.azki.org/entry/SourceSafe-Error-Cannot-find-SSINI-for-user</link>
			<description>회사 개발 서버가 죽고 리부팅을 한 다음에 보니깐..&lt;br&gt;&lt;br&gt;어떤 한분이 접속이 안대는 에러가 있었다.&lt;br&gt;&lt;br&gt;&#039;Cannot find SS.INI file for user ******&#039;&lt;br&gt;&lt;br&gt;라는 메시지가 뜨면서 로그인이 안되는 문제였다.&lt;br&gt;&lt;br&gt;구글링을 통해 어떤 친절한 외국분의 설명을 듣고 수정에 성공하였다.&lt;br&gt;&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(228, 228, 228);&quot;&gt;방법은 간단.&lt;br&gt;&lt;br&gt;소스세이프 파일이 있는 폴더로 가서, users 폴더안의 유저이름으로 된 폴더 안을 보면..&lt;br&gt;&lt;br&gt;~.tmp 로 된 파일이 있고 SS.INI 파일이 없다.&lt;br&gt;&lt;br&gt;그럼 그 ~.tmp 파일의 이름을 SS.INI 로 바꿔주기만 하면 된다.&lt;/div&gt;&lt;br&gt;</description>
			<author>아즈키</author>
			<guid>http://dev.azki.org/31</guid>
			<comments>http://dev.azki.org/entry/SourceSafe-Error-Cannot-find-SSINI-for-user#entry31comment</comments>
			<pubDate>Fri, 06 Feb 2009 11:17:24 +0900</pubDate>
		</item>
		<item>
			<title>What is false in javascript?</title>
			<link>http://dev.azki.org/entry/What-is-false-in-javascript</link>
			<description>갑자기 포스팅이 하고싶어서 씀.&lt;br&gt;&lt;br&gt;&lt;br&gt;자바스크립트에서 조건식을 쓸때 무엇이 false 이고 무엇이 true 일까?&lt;br&gt;&lt;br&gt;boolean 값인 true 나 false 는 그 자체가 true, false 이다.&lt;br&gt;&lt;br&gt;number 일 경우 0 이나 NaN 이면 false, 그 외에는 모두 true 이다.&lt;br&gt;&lt;br&gt;string 일 경우 &quot;&quot; 이면 false, 그 외에는 모두 true 이다.&lt;br&gt;&lt;br&gt;object 의 경우 null 일 경우 false, 그 외에는 모두 true.&lt;br&gt;&lt;br&gt;function, array 등은 모두 true.&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;정리하면.. 자바스크립트 조건문에서 true 는 &lt;span style=&quot;color: rgb(0, 128, 0);&quot;&gt;false&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 128, 0);&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 128, 0);&quot;&gt;NaN&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 128, 0);&quot;&gt;&quot;&quot;&lt;/span&gt;, &lt;span style=&quot;color: rgb(0, 128, 0);&quot;&gt;null&lt;/span&gt; 을 제외한 모든 값이다.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;ps. 위를 응용한 재미있는 사실&lt;br&gt;&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;if (&quot;0&quot;) alert(1);&lt;br&gt;else alert(0);&lt;/div&gt;&amp;nbsp;1 이 출력됨. (true)&lt;br&gt;&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;if (&quot;0&quot; == true) alert(1);&lt;br&gt;
else alert(0);&lt;/div&gt;&amp;nbsp;0 이 출력됨. (false)&lt;br&gt;
&lt;br&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;if (&quot;0&quot; == false) alert(1);&lt;br&gt;
else alert(0);&lt;/div&gt;&amp;nbsp;1 이 출력됨. (true) &lt;br&gt;&lt;br&gt;&lt;span style=&quot;text-decoration: underline; color: rgb(212, 26, 1);&quot;&gt;조건문에서 &quot;0&quot; 은 true 지만, &quot;0&quot; == false 이다.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;참고 : &lt;br&gt;&lt;h2&gt;&lt;a href=&quot;../../entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%83%80%EC%9E%85-%EB%B9%84%EA%B5%90-%ED%85%8C%EC%9D%B4%EB%B8%94-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%9E%91%EC%84%B1-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8&quot; class=&quot;entry-title&quot; rel=&quot;bookmark&quot; title=&quot;자바스크립트 타입 비교 테이블 + 테이블 작성 스크립트&quot;&gt;자바스크립트 타입 비교 테이블 + 테이블 작성 스크립트&lt;/a&gt;&lt;/h2&gt;</description>
			<author>아즈키</author>
			<guid>http://dev.azki.org/29</guid>
			<comments>http://dev.azki.org/entry/What-is-false-in-javascript#entry29comment</comments>
			<pubDate>Fri, 16 Jan 2009 11:26:18 +0900</pubDate>
		</item>
		<item>
			<title>apply Style Sheet rules</title>
			<link>http://dev.azki.org/entry/apply-Style-Sheet-rules</link>
			<description>&lt;P&gt;스타일 적용시에는 styleSheet 오브젝트의 (document.styleSheets : Array) 메소드를 사용하는데,&lt;BR&gt;&lt;STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;IE 에서는 addRule 을 사용&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/STRONG&gt;인자값을 3개(필수3개)로,&lt;BR&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;0번 argument에는 선택자(&#039;div&#039;, &#039;p&#039; 등..)를 넣고,&lt;/LI&gt;
&lt;LI&gt;1번 argument에는 스타일 명령(&quot;color:blue&quot;, &quot;overflow:hidden&quot; 등..)을 넣는다.&lt;/LI&gt;
&lt;LI&gt;2번 argument에는 0부터 시작하는 pages 컬렉션(document.styleSheets[?].pages : Array)에서의 위치할 인수를 넣는다. (-1을 넣으면 제일 뒤에 위치하게 된다.)&lt;BR&gt;반환값은 항상 -1이다. (주의: 오류가 없어도 -1을 반환)&lt;BR&gt;&lt;STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;FF 에서는 insertRule 를 사용&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/STRONG&gt;인자값은 2개(필수2개)로,&lt;BR&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;0번 argument에는 스타일 명령을 선택자를 포함하여 넣는다. (예: &quot;#myTable {-moz-user-select:none}&quot;)&lt;/LI&gt;
&lt;LI&gt;1번 argument에는 0부터 시작하는 cssRules 컬렉션(document.styleSheets[?].cssRules : Array)에서의 위치할 인수를 넣는다. (주의: addRule과는 다르다, -1 인자값을 넣으면 에러가 난다.)&lt;BR&gt;반환값은 cssRules 컬렉션에서의 위치한 위치값이다.&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;ps. 아즈키네 2번째 블로그 옛글중에 가져옴 (&lt;A href=&quot;http://2.azki.org/182&quot;&gt;http://2.azki.org/182&lt;/A&gt;)&lt;/P&gt;</description>
			<category>javascript</category>
			<author>아즈키</author>
			<guid>http://dev.azki.org/28</guid>
			<comments>http://dev.azki.org/entry/apply-Style-Sheet-rules#entry28comment</comments>
			<pubDate>Mon, 01 Dec 2008 13:50:31 +0900</pubDate>
		</item>
		<item>
			<title>javascript 막코딩으로 flip 효과 시도 (뒤집는 효과)</title>
			<link>http://dev.azki.org/entry/javascript-%EB%A7%89%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C-flip-%ED%9A%A8%EA%B3%BC-%EC%8B%9C%EB%8F%84-%EB%92%A4%EC%A7%91%EB%8A%94-%ED%9A%A8%EA%B3%BC</link>
			<description>자바스크립트 막코딩으로 (특별한 animation/effect 라이브러리 사용 없이) 뒤집는 효과를 구현해 보았습니다&lt;br&gt;&lt;br&gt;구현을 위주로 엉망으로 짠 코드라&amp;nbsp; 부끄럽지만, 올리고 봅니다.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;url&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://fliptest.azki.org/proto.html&quot; target=&quot;_blank&quot;&gt;http://fliptest.azki.org/proto.html&lt;/a&gt;&lt;br&gt;(상수값으로 효과를 만들어본 첫번째 버전)&lt;br&gt;&lt;a href=&quot;http://fliptest.azki.org/&quot; target=&quot;_blank&quot;&gt;http://fliptest.azki.org/&lt;/a&gt;&lt;br&gt;(몇가지 변수를 적용할 수 있는 두번째 버전)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;소개&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;4각형과 3각형의 조합으로 접히는 효과를 내보았습니다.&lt;br&gt;실제 flip 과정중 캡쳐화면입니다.&lt;br&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1759030D49BDB52D8747E9&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;151&quot; width=&quot;450&quot;/&gt;&lt;/div&gt;그리고 element 의 구성은 3가지로 이루어져 있습니다.&lt;br&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/160AB40B49BDB52D7A0C32&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;151&quot; width=&quot;450&quot;/&gt;&lt;/div&gt;왼쪽 삼각형과 오른쪽 삼각형이 입체적으로 착각하도록 할 수 있습니다.&lt;br&gt;&lt;br&gt;삼각형을 만드는 방법은 참고사이트중 &lt;a href=&quot;http://www.uselesspickles.com/triangles/demo.html&quot; target=&quot;_blank&quot;&gt;Triangles in Javascript&lt;/a&gt; 에 자세하게 나와있습니다.&lt;br&gt;&lt;blockquote&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/162DE40F49BDB52D66C546&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;296&quot; width=&quot;328&quot;/&gt;&lt;/div&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;참고 사이트&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://lab.smashup.it/flip/&quot; target=&quot;_blank&quot;&gt;http://lab.smashup.it/flip/&lt;/a&gt;&lt;br&gt;(Flip!0.4 - A jQuery plugin)&lt;br&gt;&lt;a href=&quot;http://www.uselesspickles.com/triangles/demo.html&quot; target=&quot;_blank&quot;&gt;http://www.uselesspickles.com/triangles/demo.html&lt;/a&gt;&lt;br&gt;(Triangles in Javascript)&lt;br&gt;&lt;a href=&quot;http://www.xentrik.net/css/filters.php&quot; target=&quot;_blank&quot;&gt;http://www.xentrik.net/css/filters.php&lt;/a&gt;&lt;br&gt;(CSS Filters)&lt;br&gt;&lt;br&gt;&lt;br&gt;ps.&lt;br&gt;참고사이트중 &lt;a href=&quot;http://lab.smashup.it/flip/&quot; target=&quot;_blank&quot;&gt;Flip!0.4 - A jQuery plugin&lt;/a&gt; 에서 처음 flip 효과를 보았는데,&lt;br&gt;그 flip 은 Opera browser 를 지원하지 못합니다. 제가 만든 것은 됩니다 :]&lt;br&gt;테스트 한 브라우저 목록입니다.&lt;br&gt;&lt;ul&gt;&lt;li&gt;FF2, FF3&lt;/li&gt;&lt;li&gt;IE6, IE7, IE8&lt;/li&gt;&lt;li&gt;Opera 9&lt;/li&gt;&lt;li&gt;safari 3 (windows)&lt;/li&gt;&lt;li&gt;Chrome 0.3&lt;/li&gt;&lt;/ul&gt;</description>
			<category>javascript</category>
			<author>아즈키</author>
			<guid>http://dev.azki.org/27</guid>
			<comments>http://dev.azki.org/entry/javascript-%EB%A7%89%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C-flip-%ED%9A%A8%EA%B3%BC-%EC%8B%9C%EB%8F%84-%EB%92%A4%EC%A7%91%EB%8A%94-%ED%9A%A8%EA%B3%BC#entry27comment</comments>
			<pubDate>Tue, 18 Nov 2008 17:56:12 +0900</pubDate>
		</item>
		<item>
			<title>자바스크립트로 마우스 휠 (mousewheel) 움직임 체크.</title>
			<link>http://dev.azki.org/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EB%A7%88%EC%9A%B0%EC%8A%A4-%ED%9C%A0-mousewheel-%EA%B5%AC%ED%95%98%EA%B8%B0</link>
			<description>등록 부분&lt;br /&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;initialize: function(id, container){&lt;br /&gt;&amp;nbsp; &amp;nbsp; (...)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; var thisP = this;&lt;br /&gt;&amp;nbsp; &amp;nbsp; AzLib.Event.observe(&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this._element, &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AzLib.Browser.Gecko ? &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;DOMMouseScroll&quot; : &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;  &quot;mousewheel&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function(e){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisP.__event_mouseWheel(e);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; (...)&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;콜백 부분&lt;br /&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;__event_mouseWheel: function(e){&lt;br /&gt;&amp;nbsp; &amp;nbsp; AzLib.Event.stop(e);&lt;br /&gt;&amp;nbsp; &amp;nbsp; var delta = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (e.wheelDelta) { /* IE, Opera, Safari, Chrome */&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delta = -e.wheelDelta / (AzLib.Browser.Chrome? 360: 120);&lt;br /&gt;&amp;nbsp; &amp;nbsp; } else if (e.detail) { /* Gecko */&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; delta = e.detail / 3;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; this._verticalScrollbar.stepPosition(delta * this.wheelRowCount);&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;mouse wheel 관련 자료를 찾아보니 살짝? 오동작도 하고 크롬 브라우저에 대한 처리가 안되어있어 수정하여 적용중인 코드.&lt;br /&gt;&lt;br /&gt;IE6, IE7, IE8beta, FF2, Opera9, Safari3, Chrome0.2 에서 테스트 됨.&lt;br /&gt;</description>
			<category>javascript</category>
			<author>아즈키</author>
			<guid>http://dev.azki.org/22</guid>
			<comments>http://dev.azki.org/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A1%9C-%EB%A7%88%EC%9A%B0%EC%8A%A4-%ED%9C%A0-mousewheel-%EA%B5%AC%ED%95%98%EA%B8%B0#entry22comment</comments>
			<pubDate>Thu, 30 Oct 2008 11:05:55 +0900</pubDate>
		</item>
		<item>
			<title>JSON 2 Table v 1.01 제이슨 데이타를 테이블로 출력합니다</title>
			<link>http://dev.azki.org/entry/JSON-2-Table-v-101-%EC%A0%9C%EC%9D%B4%EC%8A%A8-%EB%8D%B0%EC%9D%B4%ED%83%80%EB%A5%BC-%ED%85%8C%EC%9D%B4%EB%B8%94%EB%A1%9C-%EC%B6%9C%EB%A0%A5%ED%95%A9%EB%8B%88%EB%8B%A4</link>
			<description>다른 팀의 업무를 도와주며 한두시간의 시간을 투자해서 만든 프로그램입니다.. (그런데 사용할 일이 사라져서 빛을 보지도 못한 프로그램입니다;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;URL&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;http://json2table.azki.org/&quot; target=&quot;_blank&quot;&gt;http://json2table.azki.org/&lt;/a&gt; 입니다&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;소개&lt;/li&gt;&lt;/ul&gt;JSON 문자열을 textarea 에 넣고 &lt;span style=&quot;background-color: rgb(193, 193, 193);&quot;&gt;2 table !&lt;/span&gt; 버튼을 누르면 JSON 데이타를 테이블로 출력하고, 출력하는데 걸린 시간을 출력합니다. 표시하는 룰은 object 타입은 테이블로 나타내고, array 타입은 row로 나타냅니다.&lt;br /&gt;(참고: array 타입일 경우 테이블의 첫번째 로우에 각 item 의 이름(key)이 표시되는데, 그 아이템의 순서가 뒤바뀌거나 item 의 이름 종류나 개수가 일치하지 않는 경우 예외처리를 해놓지 않아서 정확하게 동작하지 않습니다)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;예제&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; code: &#039;success&#039;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; data: {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; member: {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name: &#039;김성준&#039;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; id: &#039;azki&#039;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sno: &#039;0701082&#039;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;/div&gt;위의 JSON 코드를 넣으니 아래 테이블로 표시되네요..&lt;div style=&quot;padding: 10px; background-color: rgb(201, 237, 255);&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;code&lt;/td&gt;&lt;td&gt;data&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;success&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;member&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;name&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;td&gt;sno&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;김성준&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;azki&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;0701082&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;15ms
		&lt;/div&gt;&lt;br /&gt;아래부터는 다른 예제입니다&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(250, 255, 169);&quot;&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &quot;dataset&quot;: [{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;columnInfo&quot;: [{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;string&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;size&quot;: 10,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;departure_city&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;string&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;size&quot;: 10,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;departure_date&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;string&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;size&quot;: 10,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;arrival_city&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;type&quot;: &quot;string&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;size&quot;: 10,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;arrival_date&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }],&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;rows&quot;: [{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;03Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;05Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;03Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;06Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;10Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;12Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;10Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;13Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;17Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;19Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;17Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;20Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;24Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;26Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;24Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;27Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;31Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;02Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;31Jul08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;03Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;07Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;09Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;07Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;10Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;14Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;16Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;14Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;17Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;21Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;23Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_city&quot;: &quot;TOKYO&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_date&quot;: &quot;21Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;arrival_date&quot;: &quot;24Aug08&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;departure_city&quot;: &quot;BUSAN&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }],&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;name&quot;: &quot;Schedule&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }]&lt;br /&gt;}&lt;/div&gt;위의 JSON 코드를 넣으니 아래 테이블로 표시되네요..&lt;br /&gt;&lt;div style=&quot;padding: 10px; background-color: rgb(201, 237, 255);&quot;&gt;&lt;br /&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;dataset&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;columnInfo&lt;/td&gt;&lt;td&gt;rows&lt;/td&gt;&lt;td&gt;name&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;type&lt;/td&gt;&lt;td&gt;size&lt;/td&gt;&lt;td&gt;name&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;string&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;departure_city&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;string&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;departure_date&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;string&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;arrival_city&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;string&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;arrival_date&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;arrival_city&lt;/td&gt;&lt;td&gt;departure_date&lt;/td&gt;&lt;td&gt;arrival_date&lt;/td&gt;&lt;td&gt;departure_city&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;03Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;05Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;03Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;06Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;12Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;13Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;17Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;19Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;17Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;20Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;24Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;26Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;24Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;27Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;31Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;02Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;31Jul08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;03Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;07Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;09Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;07Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;10Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;14Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;16Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;14Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;17Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;21Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;23Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;TOKYO&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;21Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;24Aug08&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;BUSAN&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align: top;&quot;&gt;Schedule&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;109ms
		&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;추후 업데이트될 수도 있는(?) 기능들..&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;JSON 데이타를 포맷팅해주는 기능 (보기 편하게)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;색상등으로 좀 더 보기 편하게 해주는 기능&lt;br /&gt;&lt;/li&gt;&lt;li&gt;두가지 이상의 JSON 데이타를 서로 비교-분석 해주는 기능&lt;br /&gt;&lt;/li&gt;&lt;li&gt;많은 케이스에 대해서 테스트가 이뤄지지 않은 상태라 버그가 있을 가능성이 높음. -&amp;gt; 디버깅..&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;</description>
			<category>javascript</category>
			<author>아즈키</author>
			<guid>http://dev.azki.org/19</guid>
			<comments>http://dev.azki.org/entry/JSON-2-Table-v-101-%EC%A0%9C%EC%9D%B4%EC%8A%A8-%EB%8D%B0%EC%9D%B4%ED%83%80%EB%A5%BC-%ED%85%8C%EC%9D%B4%EB%B8%94%EB%A1%9C-%EC%B6%9C%EB%A0%A5%ED%95%A9%EB%8B%88%EB%8B%A4#entry19comment</comments>
			<pubDate>Wed, 02 Jul 2008 09:18:56 +0900</pubDate>
		</item>
		<item>
			<title>input type 변경의 크로스 브라우저 문제 (password)</title>
			<link>http://dev.azki.org/entry/input-type-password-%EC%9D%98-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%AC%B8%EC%A0%9C</link>
			<description>소스1.&lt;BR&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: rgb(255,218,237)&quot;&gt;var input = document.createElement(&quot;input&quot;);&lt;BR&gt;input.setAttribute(&quot;type&quot;, &quot;text&quot;);&lt;BR&gt;document.body.appendChild(input);&lt;BR&gt;&lt;/DIV&gt;&lt;BR&gt;소스1. 적용 이후 다음 소스가 적용되지 않는다.. IE 에서만 ^^;&lt;BR&gt;&lt;BR&gt;소스2.&lt;BR&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: rgb(255,218,237)&quot;&gt;input.setAttribute(&quot;type&quot;, &quot;password&quot;);&lt;/DIV&gt;&lt;BR&gt;IE 에서 나타나는 에러 메시지는 &quot;이 명령은 지원하지 않습니다.&quot;&lt;BR&gt;&lt;BR&gt;물론, setAttribute 메소드를 사용하지 않고 input.type = &quot;...&quot;; 로 적용시켜도 에러가 남.&lt;BR&gt;&lt;BR&gt;FF2, Opera9, Safari3 에서는 정확히 잘 동작한다. IE6, IE7, IE8 beta1 에선 에러가 난다..&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;프로젝트에서는 아래와 같은 코드로 대체했다&lt;BR&gt;&amp;nbsp;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: rgb(255,218,237)&quot;&gt;if (Prototype.Browser.IE) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; var outerHTML = this._input.outerHTML;&lt;BR&gt;&amp;nbsp; &amp;nbsp; outerHTML = outerHTML.replace(/type=[a-z]*/, &quot;&quot;);&lt;BR&gt;&amp;nbsp; &amp;nbsp; outerHTML = outerHTML.replace(/value=&quot;&quot;/, &quot;value=\&quot;&quot;+this._getText()+&quot;\&quot;&quot;);&lt;BR&gt;&amp;nbsp; &amp;nbsp; // IE 에서는 한번 지정된 type을 변경할 수 없어서 새로운 Element 를 만들어야 함.&lt;BR&gt;&amp;nbsp; &amp;nbsp; // IE 에서 password 타입의 텍스트 박스는 outerHTML 에서 value 값이 나타나지 않아서 다시 넣어줘야함.&lt;BR&gt;&amp;nbsp; &amp;nbsp; var newInput = document.createElement(outerHTML);&lt;BR&gt;&amp;nbsp; &amp;nbsp; if (this._getPassword()) {&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newInput.setAttribute(&quot;type&quot;, &quot;password&quot;);&lt;BR&gt;&amp;nbsp; &amp;nbsp; }&lt;BR&gt;&amp;nbsp; &amp;nbsp; this._input.parentNode.replaceChild(newInput, this._input);&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;BR&gt;&amp;nbsp; &amp;nbsp; //이벤트등록해제 등등 reference value 에 관련된 모든 것들 해제&lt;BR&gt;&amp;nbsp; &amp;nbsp; //...&lt;BR&gt;&amp;nbsp; &amp;nbsp; this._input = newInput;&lt;BR&gt;&amp;nbsp; &amp;nbsp; //...&lt;BR&gt;&amp;nbsp; &amp;nbsp; //이벤트등록 등등 reference value 에 관련된 모든 것들 재등록&lt;BR&gt;}&lt;BR&gt;else {&lt;BR&gt;&amp;nbsp; &amp;nbsp; this._input.setAttribute(&quot;type&quot;, this._getPassword()? &quot;password&quot;: &quot;text&quot;);&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;BR&gt;ps. 이벤트 등 element 값 자체를 등록시켜놓은 부분에 대해 수정이 반드시 필요하다.&lt;BR&gt;&lt;BR&gt;참고로 이 문제의 다른 해결 방법이 없는지.. 구글을 찾아보니 역시나 비슷한게 있었다&lt;BR&gt;http://codingforums.com/showthread.php?t=107073&lt;BR&gt;&lt;STRONG&gt;Change &lt;SPAN class=hilite1&gt;input&lt;/SPAN&gt; &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;text&quot; to &lt;SPAN class=hilite1&gt;input&lt;/SPAN&gt; &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;&lt;SPAN class=hilite3&gt;password&lt;/SPAN&gt;&quot;&lt;/STRONG&gt; &lt;BR&gt;&lt;BR&gt;
&lt;DIV class=smallfont style=&quot;MARGIN-BOTTOM: 2px&quot;&gt;Code:&lt;/DIV&gt;&lt;PRE class=alt2 dir=ltr style=&quot;BORDER-RIGHT: 1px inset; PADDING-RIGHT: 6px; BORDER-TOP: 1px inset; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; MARGIN: 0px; OVERFLOW: auto; BORDER-LEFT: 1px inset; WIDTH: 750px; PADDING-TOP: 6px; BORDER-BOTTOM: 1px inset; HEIGHT: 258px; TEXT-ALIGN: left&quot;&gt;&amp;lt;script &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;text/javascript&quot;&amp;gt;&lt;BR&gt;function passit(ip){&lt;BR&gt;var np=ip.cloneNode(true);&lt;BR&gt;np.&lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&#039;&lt;SPAN class=hilite3&gt;password&lt;/SPAN&gt;&#039;;&lt;BR&gt;if(np.value!=ip.value)&lt;BR&gt;np.value=ip.value;&lt;BR&gt;ip.parentNode.replaceChild(np,ip);&lt;BR&gt;}&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;form id=&quot;login&quot; action=&quot;#&quot; method=&quot;post&quot;&amp;gt;&lt;BR&gt;&amp;lt;&lt;SPAN class=hilite1&gt;input&lt;/SPAN&gt; id=&quot;username-field&quot; &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;text&quot; name=&quot;username&quot; title=&quot;Username&quot; onmousedown=&quot;javascript:this.value=&#039;&#039;; javascript:this.focus();&quot; value=&quot;Username&quot; tabindex=&quot;1&quot; /&amp;gt;&lt;BR&gt;&amp;lt;&lt;SPAN class=hilite1&gt;input&lt;/SPAN&gt; id=&quot;&lt;SPAN class=hilite3&gt;password&lt;/SPAN&gt;-field&quot; &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;text&quot; name=&quot;&lt;SPAN class=hilite3&gt;password&lt;/SPAN&gt;&quot; title=&quot;&lt;SPAN class=hilite3&gt;Password&lt;/SPAN&gt;&quot; onmousedown=&quot;javascript:this.value=&#039;&#039;; passit(this.form[0]); javascript:this.focus();&quot; value=&quot;&lt;SPAN class=hilite3&gt;Password&lt;/SPAN&gt;&quot; tabindex=&quot;2&quot; /&amp;gt;&lt;BR&gt;&amp;lt;&lt;SPAN class=hilite1&gt;input&lt;/SPAN&gt; &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;=&quot;submit&quot; name=&quot;submit&quot; value=&quot;sign in&quot; tabindex=&quot;3&quot; /&amp;gt;&lt;BR&gt;&amp;lt;/form&amp;gt;&lt;/PRE&gt;&lt;BR&gt;&lt;BR&gt;나도 처음에 cloneNode 메소드를 생각했었는데, 사용하지 않았다..&lt;BR&gt;이유는 type=&quot;text&quot; 인 input 을 type=&quot;password&quot; 로 변경은 가능하지만..&lt;BR&gt;반대로는 불가능했기 때문이다. -ㅁ-&lt;BR&gt;어째뜬..&lt;BR&gt;&lt;SPAN class=hilite4&gt;IE&lt;/SPAN&gt; does not like to change dynamically the &lt;SPAN class=hilite2&gt;type&lt;/SPAN&gt;, thus one solution might be to replace entirely the object.</description>
			<category>javascript</category>
			<author>아즈키</author>
			<guid>http://dev.azki.org/16</guid>
			<comments>http://dev.azki.org/entry/input-type-password-%EC%9D%98-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%AC%B8%EC%A0%9C#entry16comment</comments>
			<pubDate>Tue, 10 Jun 2008 15:12:28 +0900</pubDate>
		</item>
	</channel>
</rss>
