<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Мастерская интернет-разработчика &#187; Java. Изучаем вместе!</title>
	<atom:link href="http://adw0rd.ru/category/java-learn-together/feed/" rel="self" type="application/rss+xml" />
	<link>http://adw0rd.ru</link>
	<description>Блог Михаила Андреева (aka adw0rd)</description>
	<lastBuildDate>Wed, 18 Jan 2012 13:52:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Java. Наша первая программа</title>
		<link>http://adw0rd.ru/2009/java-first-programm/</link>
		<comments>http://adw0rd.ru/2009/java-first-programm/#comments</comments>
		<pubDate>Wed, 20 May 2009 00:14:06 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Java. Изучаем вместе!]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=2519</guid>
		<description><![CDATA[Продолжение статьи &#171;Java. Установка среды разработки и Eclipse IDE&#187;, в которой мы напишем нашу первую программу на языке Java. В Java для работы с объектами используются ссылки на объекты. Объекты хранятся в куче (пул памяти общего назначения, по скорости уступает стеку), а данные с примитивным типом хранятся в стеке (область хранения данных в RAM, обращение [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/java-first-programm/" ><img src="http://adw0rd.ru/wp-content/uploads/2009/05/java1.png" alt="java" title="java" width="58" height="108" class="alignright size-full wp-image-2472" style="padding:0px 30px 0px 20px;" /></a></p>
<p>Продолжение статьи &laquo;<a href="http://adw0rd.ru/2009/java-install-jdk-and-eclipse/" >Java. Установка среды разработки и Eclipse IDE</a>&raquo;, в которой мы напишем нашу первую программу на языке <strong>Java</strong>.</p>
<p>В <strong>Java</strong> для работы с объектами используются ссылки на объекты. Объекты хранятся в куче (пул памяти общего назначения, по скорости уступает стеку), а данные с примитивным типом хранятся в стеке (область хранения данных в RAM, обращение к данным происходит по указателю стека).</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003399;">String</span> x <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;test&quot;</span><span style="color: #339933;">;</span></div></div>
<p>В <strong>x</strong> храниться ссылка на объект String со значением &laquo;test&raquo;.</p>
<p>Объекты из кучи удаляются сами, сборщиком мусора, так что делать это явно нет необходимости.</p>
<h3>Типы данных</h3>
<p>В Java существую так же и примитивные типы данных: <strong>boolean, char, byte, short, int, float, long, double и void</strong>. Данные этих типов хранятся в стеке. Все числовые значения являются знаковыми!</p>
<p>Остальные типы данных являются классами (String, Character и т.д.) и производные их объекты хранятся в куче.</p>
<h3>Класс и члены класса</h3>
<p>Имя класса должно начинаться с заглавной буквы. Имена методов и свойств (переменных класса) должны начинаться в нижнем регистре, за исключением конструктора класса, который имеет одинаковое имя с именем класса.</p>
<p><strong>UPD:</strong> Все что сказано выше, касается стиля, никто вам не запретит начинать имя класса с прописной буквы...</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TestClass<br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; testMethod<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> testMethod <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Date: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Date</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">int</span> x <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">double</span> y<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TestClass2<br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> TestClass2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Конструктор</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Статический метод <strong>main</strong> запускается первым, это так называемая точка входа программы.</p>
<p>Конструктор никогда ничего не возвращает! Он необходим для инициализации объекта.</p>
<p>Статические члены класса в Java принято вызывать в таком виде:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Class.function() и Class.var</div></div>
<p>а для нестатических членов класса не доступна возможность обращаться к членам по имени класса, доступна только при обращению к объекту:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">Class</span> var <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000000; font-weight: bold;">Class</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">Class</span>.<span style="color: #006633;">method</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// не доступно</span><br />
var.<span style="color: #006633;">method</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// доступно</span></div></div>
<p><span id="more-2519"></span></p>
<h3>Инкапсуляция</h3>
<p><noindex><a rel="nofollow" href="http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%BA%D0%B0%D0%BF%D1%81%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" >Сокрытие данных</a></noindex> осуществляется при помощи трех ключевых слов:</p>
<ol>
<li><strong>public</strong>&nbsp;&mdash; член класса доступен для всех</li>
<li><strong>private</strong>&nbsp;&mdash; доступ к члену имеют только члены класса</li>
<li><strong>protected</strong>&nbsp;&mdash; доступ имеют как члены класса, так и потомки этого класса (см. наследование)</li>
</ol>
<h3>Пример нашей программы</h3>
<p>Так как для работы нам нужно подключать пакеты (библиотеки классов), например для работы с датой, то необходимо использовать ключевое слово <strong>import</strong>.</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.*</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp;* Класс вывода текущей даты<br />
&nbsp;* @author adw0rd<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> JavaTest<br />
<span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp; &nbsp; &nbsp;* @param args<br />
&nbsp; &nbsp; &nbsp;* @return Date Stamp<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Date: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Date</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Жмем в <strong>Eclipse</strong>&nbsp;&mdash; <strong>Ctrl+F11</strong> (или <strong>Run->Run</strong>) и запускаем программу, в окне <strong>Console</strong> выведется текущая дата и время. При сохранении файла, Eclipse откомпилирует его вновь, если в коде нет ошибок.</p>
<p>Так же можно откомпилировать через <strong>javac.exe</strong> и запустить через <strong>java.exe</strong>, вам решать, но мне удобнее работать в IDE.</p>
<h3>Комментарии</h3>
<p>Доступны в Java два вида комментариев:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// однострочный</span><br />
<br />
<span style="color: #666666; font-style: italic;">/*<br />
многострочный<br />
*/</span></div></div>
<p>Так же для документирования классов и членов класса нужно пользоваться форматом <strong>Javadoc</strong>, доступно множество команд, вот некоторые из них:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp;* @author ИмяАвтора (И дополнительная информация, например e-mail)<br />
&nbsp;* @see ИмяКласса (Ссылка на другие классы)<br />
&nbsp;* @version Версия<br />
&nbsp;* @param Входные параметры метода<br />
&nbsp;* @return Описание того, что возвращает метод<br />
&nbsp;*/</span></div></div>
<p>На сегодня все, в следующий раз рассмотрим <strong>основные и условные операторы</strong>, а также <strong>циклы</strong> в Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/java-first-programm/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Java. Установка среды разработки и Eclipse IDE</title>
		<link>http://adw0rd.ru/2009/java-install-jdk-and-eclipse/</link>
		<comments>http://adw0rd.ru/2009/java-install-jdk-and-eclipse/#comments</comments>
		<pubDate>Wed, 20 May 2009 00:13:09 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Java. Изучаем вместе!]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDK]]></category>
		<category><![CDATA[ООП]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=2457</guid>
		<description><![CDATA[Решил изучить Java и заодно написать ряд статей &#171;Java. Изучаем вместе!&#187;, может кому пригодится. Изучаю этот замечательный язык по книгам подаренных девушкой на день Святого Валентина. Я не собираюсь перепечатывать эти книги, по мере надобности буду освещать некоторые аспекты языка и сред разработки. Итак, преступим! Для работы нам понадобится JDK и среда разработки Eclipse. Установка [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/java-install-jdk-and-eclipse/" ><img src="http://adw0rd.ru/wp-content/uploads/2009/05/java1.png" alt="java" title="java" width="58" height="108" class="alignright size-full wp-image-2472" style="padding:0px 30px 0px 20px;" /></a></p>
<p>Решил изучить <strong>Java</strong> и заодно написать ряд статей <strong>&laquo;Java. Изучаем вместе!&raquo;</strong>, может кому пригодится. Изучаю этот замечательный язык по книгам подаренных девушкой <a href="http://adw0rd.ru/2009/java-and-sv/" >на день Святого Валентина</a>.</p>
<p><img src="http://adw0rd.ru/wp-content/uploads/2009/02/1.jpg" alt="Философия Java" style="padding:2px;border: dotted #c4c4c4 2px;" /> <img src="http://adw0rd.ru/wp-content/uploads/2009/02/2.jpg" alt="Гибкая разработки приложений на Java" style="border: dotted #c4c4c4 2px;" /></p>
<p>Я не собираюсь перепечатывать эти книги, по мере надобности буду освещать некоторые аспекты языка и сред разработки.</p>
<p>Итак, преступим! Для работы нам понадобится <strong>JDK</strong> и среда разработки <strong>Eclipse</strong>.</p>
<h3>Установка JDK</h3>
<blockquote>
<p>Java Development Kit, сокращенно JDK — бесплатно распространяемый фирмой Sun комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java (IDE), поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.</p>
<p><noindex><a rel="nofollow" href="http://ru.wikipedia.org/wiki/JDK" >http://ru.wikipedia.org/wiki/JDK</a></noindex>
</p>
</blockquote>
<p>Качаем <noindex><a rel="nofollow" href="http://java.sun.com/javase/downloads/index.jsp" >JDK</a></noindex> и устанавливаем. Я качал дистрибутив <strong>&laquo;JDK 6 Update 13 with Java EE&raquo;</strong>.</p>
<p>Пропишем путь до исполняемых файлов среды разработки в системную переменную <strong>PATH</strong>, если не указали установщику чтобы он сам прописал их туда. У меня такой путь:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\Program Files\Sun\SDK\jdk\bin</div></div>
<p>После установки нам доступны утилиты <strong>javac.exe</strong>&nbsp;&mdash; для компиляции нашей программы и <strong>java.exe</strong> для исполнения откомпилированной программы.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#&gt; javac JavaTest.class<br />
#&gt; java JavaTest.java</div></div>
<h3>Установка Eclipse IDE</h3>
<p>У меня была установлена сборка <strong>Eclipse PDT2</strong> для работы с PHP, а также <strong>Spket</strong> для работы с JavaScript. Я доустановил набор плагинов <strong>Java Development</strong> через <strong>Help -> Software Updates… -> Available Software</strong>.</p>
<p><a href="http://adw0rd.ru/wp-content/uploads/2009/05/java-install.jpg" ><img src="http://adw0rd.ru/wp-content/uploads/2009/05/java-install-300x208.jpg" alt="java-install" title="java-install" width="300" height="208" class="alignnone size-medium wp-image-2491" /></a></p>
<p>После чего перезагрузил Eclipse и выбрал перспективу <strong>Java</strong>. Далее <strong>New -> Java Project</strong> и заполнил все необходимые поля. В появившемся проекте, щелкнул по <strong>&laquo;src&raquo;</strong>, создал класс (<strong>New -> Class</strong>) и заполнил необходимы поля.</p>
<p><a href="http://adw0rd.ru/wp-content/uploads/2009/05/new-class.jpg" ><img src="http://adw0rd.ru/wp-content/uploads/2009/05/new-class-300x271.jpg" alt="new-class" title="new-class" width="300" height="271" class="alignnone size-medium wp-image-2493" /></a></p>
<p>Все, готово, приступим к созданию <a href="http://adw0rd.ru/2009/java-first-programm/" >нашей первой программы</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/java-install-jdk-and-eclipse/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

