<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Dissmind</title><author><name>Dissmind</name></author><id>https://teletype.in/atom/javafls</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/javafls?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@javafls?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/javafls?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-18T14:30:07.551Z</updated><entry><id>javafls:iZJ-dtgS</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/iZJ-dtgS?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование в Java 2 [Практика]</title><published>2020-02-26T04:49:10.853Z</published><updated>2020-02-27T06:53:58.561Z</updated><summary type="html">&lt;img src=&quot;https://teletype.in/files/ea/dc/eadc1e01-7d30-4067-9a6a-37043f531e5d.png&quot;&gt;Напишите программу которая просит поочередно вводить данные человека (имя, возраст, вес, рост), а потом выводит их.</summary><content type="html">
  &lt;h2&gt;Задача 1.&lt;/h2&gt;
  &lt;p&gt;Напишите программу которая просит поочередно вводить данные человека (имя, возраст, вес, рост), а потом выводит их.&lt;/p&gt;
  &lt;p&gt;Разбор задачи:&lt;/p&gt;
  &lt;p&gt;Для решения этой задачи, можно использовать программу из практике к первой статье.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ea/dc/eadc1e01-7d30-4067-9a6a-37043f531e5d.png&quot; width=&quot;668&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Теперь нужно заменить значения переменных на считанные данные (с помощью сканера).&lt;/p&gt;
  &lt;p&gt;Для этого подключаем сканер в начала метода Main. &lt;/p&gt;
  &lt;pre&gt;Scanner in = new ScannerSystem.in);&lt;/pre&gt;
  &lt;p&gt;Не забываем про импорт сканера&lt;br /&gt;для этого перед классом пропишите такую строку&lt;/p&gt;
  &lt;pre&gt;import java.util.Scanner;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь нужно поменять значения для каждой переменной на значение, которые считал сканер.&lt;/p&gt;
  &lt;blockquote&gt;P.S. Для string используется nextLine(), а для int - nextInt()&lt;/blockquote&gt;
  &lt;pre&gt;String name = in.nextLine();
int age         = in.nextInt();
int height     = in.nextInt();
int width      = in.nextInt();&lt;/pre&gt;
  &lt;p&gt;Когда программа дойдет до считывания данных, она просто остановится и будет ждать пока пользователь введет данные, но выглядеть это будет как пустая консоль. Давайте перед каждым вводом будем выводить сообщение о просьбе ввести данные.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Введите имя&amp;quot;);
String name = in.nextLine();
System.out.println(&amp;quot;Введите возраст&amp;quot;);
int age         = in.nextInt();
System.out.println(&amp;quot;Введите рост&amp;quot;);
int height     = in.nextInt();
System.out.println(&amp;quot;Введите вес&amp;quot;);
int width      = in.nextInt();&lt;/pre&gt;
  &lt;p&gt;Теперь просто выводим полученные данные&lt;/p&gt;
  &lt;p&gt;Вся программа будет иметь вид:&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1b/61/1b61172a-e012-4d77-9b06-3ca735381254.png&quot; width=&quot;693&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вы можете поработать с программой в &lt;a href=&quot;https://repl.it/@DissMind/FLS-practic-21&quot; target=&quot;_blank&quot;&gt;онлайн редакторе&lt;/a&gt;.&lt;/p&gt;
  &lt;blockquote&gt;Также я добавил пробел между вводом и выводом (16 строчка) и при выводе роста и вес в конец &amp;quot;см&amp;quot; и &amp;quot;кг&amp;quot; (21 и 22 строка).&lt;/blockquote&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Задача 2.&lt;/h2&gt;
  &lt;p&gt;Напишите программу, которая считывает два значения (типа int) и выводит сумму этих чисел.&lt;/p&gt;
  &lt;p&gt;Разбор задачи:&lt;/p&gt;
  &lt;p&gt;Для начала подключим сканер и считаем два числа (если вам на этом моменте все еще нужно подробное объяснение, как это сделать - вам следует вернутся к статье с теорией).&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите первое число&amp;quot;);
int a = in.nextInt();
System.out.println(&amp;quot;Введите второе число&amp;quot;);
int b = in.nextInt();&lt;/pre&gt;
  &lt;p&gt;И в конец добавим еще одну строчку - вывода суммы&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Сумма: &amp;quot; + (a + b));&lt;/pre&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/08/04/0804aff0-6712-4873-b011-0d9540f431ab.png&quot; width=&quot;575&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вы можете поработать с программой в &lt;a href=&quot;https://repl.it/@DissMind/FLS-practic-22&quot; target=&quot;_blank&quot;&gt;онлайн редакторе.&lt;/a&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Задача 3.&lt;/h2&gt;
  &lt;p&gt;Напишите программу, которая принимает число и если число четное выводите 1, если не четное 0. (Так как ветвление мы еще не проходили, конструкцию if - использовать нельзя).&lt;/p&gt;
  &lt;p&gt;Разбор задачи:&lt;/p&gt;
  &lt;p&gt;Для начала подключим сканер и считаем число.&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите число, для проверки на четность: &amp;quot;);
int num = in.nextInt();&lt;/pre&gt;
  &lt;p&gt;Теперь выведем 1 если число четное и 0 если не четное.&lt;br /&gt;Для этого будем использовать оператор % (деления по модулю, выводит остаток от деления), если число поделить по модулю 2 - результат будет 0 - если число делится без остатка и либо если не делится выведет остаток от деления, 1.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Остаток от деления равен: &amp;quot; + (num % 2));&lt;/pre&gt;
  &lt;p&gt;Теперь программа будет выводить 1 если число не четное и 0 если четное.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/89/6f/896fc098-6d45-4bbc-ae0e-dd32cbe99ce4.png&quot; width=&quot;744&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вы можете поработать с программой в &lt;a href=&quot;https://repl.it/@DissMind/FLS-practic-23&quot; target=&quot;_blank&quot;&gt;онлайн редакторе.&lt;/a&gt;&lt;/p&gt;
  &lt;hr /&gt;

</content></entry><entry><id>javafls:fls-practic1</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/fls-practic1?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование Java 1 (Практика)</title><published>2020-02-22T10:37:42.591Z</published><updated>2020-02-26T04:51:45.507Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/7a/96/7a968b89-8bcd-4f22-80bc-d97c64366653.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/29/00/2900383b-5432-47ca-98c3-af5c49c918fd.png&quot;&gt;В первой статье мы разобрали темы:</summary><content type="html">
  &lt;p&gt;В первой статье мы разобрали темы:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Вывод в консоль + Экранирование символов&lt;/li&gt;
    &lt;li&gt;Переменные и Типы данных.&lt;/li&gt;
    &lt;li&gt;Комментарии&lt;/li&gt;
    &lt;li&gt;Константы&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь давайте попробуем на практике напишем пару программ и разберем тонкие места.&lt;/p&gt;
  &lt;p&gt;Напишем программу, которая будет выводить информацию о вас&lt;/p&gt;
  &lt;p&gt;Создаем класс, а внутри метод Main&lt;/p&gt;
  &lt;pre&gt;public class Main {
    public static void main(String[] args) {
       
    }
}&lt;/pre&gt;
  &lt;p&gt;Напоминаю, что программа начинает свою работу с метода Main.&lt;/p&gt;
  &lt;p&gt;Перед тем как двигаться дальше протестируйте, выведите что-нибудь на экран и убедитесь, что нету ошибок. &lt;/p&gt;
  &lt;p&gt;Двигаемся дальше&lt;/p&gt;
  &lt;p&gt;Выведем приветствие пользователя&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Добро пожаловать!&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;Теперь выведем саму информацию&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Ваше имя: Алексей&amp;quot;);
System.out.println(&amp;quot;Ваш возраст: 18&amp;quot;);
System.out.println(&amp;quot;Ваш рост: 170&amp;quot;);
System.out.println(&amp;quot;Ваш вес: 70&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Вся программа&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/29/00/2900383b-5432-47ca-98c3-af5c49c918fd.png&quot; width=&quot;609&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Также вы можете поработать в &lt;a href=&quot;https://repl.it/@DissMind/FLS-practic-11&quot; target=&quot;_blank&quot;&gt;онлайн редакторе&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Вывод:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/cf/fa/cffa3f75-2b58-4088-ac0b-7a83a05c879f.png&quot; width=&quot;199&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Также на 5 и 10 строчке добавил разделители, чтобы было красивее.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь давайте все данные о нас будем хранить в переменных.&lt;/p&gt;
  &lt;p&gt;Создаем 4 переменных и устанавливаем им нужны значения&lt;/p&gt;
  &lt;pre&gt;String name = &amp;quot;Алексей&amp;quot;;
int age = 18;
int height = 170;
int width = 70;&lt;/pre&gt;
  &lt;p&gt;А в выводе (6 - 9 строчки) будем использовать переменные&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Ваше имя: &amp;quot; + name);
System.out.println(&amp;quot;Ваш возраст: &amp;quot; + age);
System.out.println(&amp;quot;Ваш рост: &amp;quot; + height);
System.out.println(&amp;quot;Ваш вес: &amp;quot; + width);&lt;/pre&gt;
  &lt;p&gt;Здесь мы используем слияния строк при помощи оператора +, мы разберем операторы в следующей статье.&lt;/p&gt;
  &lt;p&gt;Теперь программа будет иметь такой вид:&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/7c/95/7c95dab1-b6a6-49d8-89c6-9c93e2f14b95.png&quot; width=&quot;617&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;И последние, добавим спец символы (экранирование)&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ea/dc/eadc1e01-7d30-4067-9a6a-37043f531e5d.png&quot; width=&quot;668&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;a href=&quot;https://repl.it/@DissMind/FLS-practic-13&quot; target=&quot;_blank&quot;&gt;Онлайн редактор&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Вывод:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/42/23/4223a1a7-e095-4f2f-bb95-7cf1f8d770fc.png&quot; width=&quot;267&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Предлагаю самостоятельно сделать такую задачу:&lt;/p&gt;
  &lt;p&gt;Нужно вывести домик:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ef/b8/efb8eb27-efa2-4b87-927b-9df77f209dfd.png&quot; width=&quot;124&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Но использовать можно только System.out.print(); и выводить только по два символа за одну операцию (не больше).&lt;/p&gt;
  &lt;p&gt;Вот пример:&lt;/p&gt;
  &lt;pre&gt;System.out.print(&amp;quot;||&amp;quot;);
System.out.print(&amp;quot; /&amp;quot;);
System.out.print(&amp;quot;\\ &amp;quot;);
System.out.print(&amp;quot;  &amp;quot;);
System.out.print(&amp;quot;\n&amp;quot;);&lt;/pre&gt;
  &lt;hr /&gt;

</content></entry><entry><id>javafls:Tw9hTo86</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/Tw9hTo86?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование Java 5</title><published>2020-02-22T04:39:18.564Z</published><updated>2020-02-22T04:39:18.564Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/9c/c3/9cc3104d-1ae1-4530-9077-67f9d90b02d8.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/b8/c8/b8c89817-6ca0-479a-abdb-da5623d7b31b.png&quot;&gt;В прошлой статье мы разобрали ветвление, теперь программа судя из ситуаций может вести себя по разному.
Любая часть программы (в некоторых случаях и вся программа) может работать в трех режимах. Самое простое это сверху-вниз, все команды будут срабатывать последовательно, теперь добавилось ветвление, когда программа может работать по одной дорожке или другой, зависит от условий. А теперь разберемся с третьим режимом - цикл.</summary><content type="html">
  &lt;p&gt;В прошлой статье мы разобрали ветвление, теперь программа судя из ситуаций может вести себя по разному.&lt;br /&gt;Любая часть программы (в некоторых случаях и вся программа) может работать в трех режимах. Самое простое это сверху-вниз, все команды будут срабатывать последовательно, теперь добавилось ветвление, когда программа может работать по одной дорожке или другой, зависит от условий. А теперь разберемся с третьим режимом - цикл.&lt;/p&gt;
  &lt;p&gt;Цикл - это повторение блока кода, пока условие верное. Во многих случаях условие не изменяется соответсвенно цикл может быть бесконечным.&lt;/p&gt;
  &lt;p&gt;Значит мы можем использовать цикл, когда нужно несколько раз повторить блок кода. А с помощью ветвления мы можем задать какие-то условия, чтобы программа имела несколько вариантов событий, что нам дает повторять не просто один и тот же блок кода, но несколько однотипных задач.&lt;/p&gt;
  &lt;p&gt;Примеры циклов:&lt;/p&gt;
  &lt;p&gt;Мытье посуды. Это ведь однотипная работа? (если где есть повторение одного и того же или чего-то однотипного - значит используется цикл)&lt;br /&gt;  Предположим, что у нас большая раковина, все тарелки одинаковые примерно 100 штук, слева от нас большой стол, куда мы будем складывать чистые тарелки, справа такой же стол, только с грязными тарелками.&lt;br /&gt;  Если не использовать цикл, нам придется сто раз описывать примерно такой алгоритм:&lt;/p&gt;
  &lt;blockquote&gt;Взять тарелку с правого стола&lt;br /&gt;Вымыть ее&lt;br /&gt;Положить на стол слева&lt;/blockquote&gt;
  &lt;p&gt;  Сто раз писать одно и тоже? Вам не кажется, что программирование должно решать подобные задачи, а не создавать их.&lt;br /&gt;  К тому же без цикла мы не можем написать бесконечную программу. Чтобы это сделать нужно было бы написать бесконечное количество строчек кода.&lt;/p&gt;
  &lt;p&gt;Надеюсь, что вы познакомились с проблемой и теперь примерно понимаете где цикл может использоваться.&lt;/p&gt;
  &lt;p&gt;Теперь давайте решим ту задачу с использованием цикла:&lt;/p&gt;
  &lt;blockquote&gt;Повторять пока не закончатся тарелки на правом столе&lt;br /&gt;     Взять тарелку с правого стола&lt;br /&gt;     Вымыть ее&lt;br /&gt;     Положить на стол слева&lt;/blockquote&gt;
  &lt;p&gt;При таком алгоритме, мы мало того, что упростили саму разработку, так еще и сделали алгоритм лучше - теперь нам даже не важно сколько тарелок на правом столе.&lt;/p&gt;
  &lt;p&gt;Теперь давайте перейдем к циклам в Java.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Цикл while&lt;/p&gt;
  &lt;p&gt;while - переводится как &amp;quot;пока&amp;quot;, имеет такую конструкцию&lt;/p&gt;
  &lt;pre&gt;while(Условие) {
    // Код который должен повторится
}&lt;/pre&gt;
  &lt;p&gt;В условие мы можем записать любое значение или выражение типа boolean. &lt;/p&gt;
  &lt;p&gt;Цикл будет работать пока условие будет - true, как только false - цикл игнорируется.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Давайте попробуем использовать его.&lt;/p&gt;
  &lt;p&gt;Пример:&lt;/p&gt;
  &lt;p&gt;Выводим Hello World 10 раз&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b8/c8/b8c89817-6ca0-479a-abdb-da5623d7b31b.png&quot; width=&quot;559&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;// Поправить сриншот&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://repl.it/@DissMind/FLS-while&quot; target=&quot;_blank&quot;&gt;https://repl.it/@DissMind/FLS-while&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Зададим переменную i и присвоим 0. Эта переменная нужна, чтобы составить условие для цикла. (5 строчка)&lt;br /&gt;Цикл while, в условие запишем пока i меньше 10, теперь цикл будет выполнятся пока i не станет больше 10 (7 строчка)&lt;br /&gt;Внутри цикла выводим фразу Hello world в консоль. (8 строчка)&lt;br /&gt;Инкрементируем i (прибавляем 1).&lt;/p&gt;

</content></entry><entry><id>javafls:TmAVRObv</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/TmAVRObv?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование в Java 3</title><published>2020-02-18T05:41:41.029Z</published><updated>2020-02-22T03:22:38.285Z</updated><summary type="html">&lt;img src=&quot;https://teletype.in/files/2f/d5/2fd5ccae-9482-4aa4-bab2-34456a1fc1e9.png&quot;&gt;Настало время знакомится с библиотеками в Java.</summary><content type="html">
  &lt;p&gt;Настало время знакомится с библиотеками в Java.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Библиотека &lt;/strong&gt;- это готовый набор методов(функций) для решения каких-либо задач.&lt;/p&gt;
  &lt;p&gt;Они бывают &lt;/p&gt;
  &lt;p&gt;Внутренние - уже встроенные в Java.&lt;br /&gt;Внешние (подключаемые) - сторонние, подключенные в ручную.&lt;/p&gt;
  &lt;p&gt;Библиотеки хранят множество готовых решений для каких-либо задач, их очень много и вы сможете их использовать для своих приложений, честно говоря иногда встречаются такие, в которых разобраться сложнее чем написать такую-же, по этому перед использованием библиотеки стоит задуматься, не будут ли они излишними? &lt;/p&gt;
  &lt;p&gt;Очень часто в программирование (в статьях, книгах..) можно встретить такую фразу &amp;quot;не изобретайте велосипед&amp;quot;, то есть некоторые вещи совсем не обязательно разрабатывать самостоятельно с нуля, можно просто использовать нужную библиотеку в которой это все уже реализовано.&lt;/p&gt;
  &lt;p&gt;P.S. Фраза &amp;quot;не изобретайте велосипед&amp;quot; одна из моих любимых, я часто спорю на эту тему. Дело в том, что не понятно в каком случае ты из изобретаешь велосипед и возможно твоя задача действительно используется во многих проектах и стоило бы использовать уже готовые решения, но большое НО все зависит от случая, как я уже говорил есть такие библиотеки в которых разобраться сложнее чем написать свою, почему бы в этом случае не написать свой &amp;quot;велосипед&amp;quot;, если вы создатель этого чуда, вы должны понимать как она устроенна и какие в нем недостатки и в любой момент можете все починить. &lt;/p&gt;
  &lt;blockquote&gt;Так, мне кажется на тему &amp;quot;Велосипедов&amp;quot; можно писать целую статью, мне есть что высказать. По этому я остановлю свою мысль и продолжу ее в другой статье. Как она выйдет здесь появится ссылка. &lt;/blockquote&gt;
  &lt;p&gt;Позже вы сможете использовать сторонние библиотеки в своих проектах, а еще позже научитесь писать свои, а пока разберемся с одной из встроенных.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Библиотека Math&lt;/p&gt;
  &lt;p&gt;В прошлой статье было очень много про вычисления, думаю стоит продолжить эту тему и прийти к какому-то завершению, по этому мы разберем библиотеку Math в которой есть множество методов(функций) для решения множества алгебраических действий (возведение в степень, синус, косинус...) &lt;/p&gt;
  &lt;p&gt;Давайте сходу напишем программу и будем разбираться на практике&lt;/p&gt;
  &lt;p&gt;Программа будет считывать два числа и выводи результат возведение в степень второго числа первое. &lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2f/d5/2fd5ccae-9482-4aa4-bab2-34456a1fc1e9.png&quot; width=&quot;643&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Также вы можете поработать с кодом в &lt;a href=&quot;https://repl.it/@DissMind/FLS-Math-pow&quot; target=&quot;_blank&quot;&gt;онлайн редакторе.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Для считывания данных нам нужен сканер, по этому импортируем его (1 строчка)&lt;br /&gt;Внутри main (опять же для считывания данных) создаем объект сканера (5 строчка)&lt;br /&gt;Просим ввести два числа, считываем их и записываем в переменные (7 - 10 строчку)&lt;br /&gt;Далее выводим слово &amp;quot;Ответ:&amp;quot; и через пробел результат вычисления возведения в степень b, число a.&lt;/p&gt;
  &lt;p&gt;Как вы уже наверное догадались для использования библиотеки Math, нужно прописать Math и через точку имя метода, в скобках через запятую указываются параметры.&lt;/p&gt;
  &lt;p&gt;Метод pow возвращает (смысл слова возвращает - значение, которое вернется при вычислении) возведение в степень первого числа, во второе. Эти числа можно передавать в параметры (числа в скобках) через запятую. &lt;/p&gt;
  &lt;p&gt;Как мы можем с этим работать &lt;/p&gt;
  &lt;p&gt;Выводить в консоль&lt;/p&gt;
  &lt;pre&gt;System.out.println(Math.pow(2, 4)); // Выведется число 2 в степени 4, 16&lt;/pre&gt;
  &lt;p&gt;Записывать в переменную&lt;br /&gt;не забывайте, что int работает только с целыми числами, если вам нужны дробные используйте double&lt;/p&gt;
  &lt;pre&gt;int a = Math.pow(2, 4); // В переменную запишется число 16&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Остальные методы в библиотеке Math&lt;br /&gt;разберем основные, остальные прикреплю в удобном формате ниже (png, pdf, txt)&lt;/p&gt;
  &lt;p&gt;Нахождение максимального и минимального числа из двух значений&lt;/p&gt;
  &lt;pre&gt;Math.max(1, 2); // 2
Math.min(1, 2); // 1&lt;/pre&gt;
  &lt;p&gt;Квадратный корень&lt;/p&gt;
  &lt;pre&gt;Math.sqrt(16); // 4.0 (типа double)&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Операции присваивания&lt;/p&gt;
  &lt;p&gt;Вы уже использовали один оператор присваивания, для присваивания значения переменной, это =&lt;/p&gt;
  &lt;p&gt;Суть оператора - присваивание значение, если до присваивания какой-то значение уже было установлено, оно перезапишется на новое.&lt;br /&gt;Тут все просто.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Помните оператор инкрементации (++)? Можно обойтись и без него вот такой записью&lt;/p&gt;
  &lt;pre&gt;int a = 0;
a = a + 1;&lt;/pre&gt;
  &lt;p&gt;Берем изначальное значение переменной, прибавляем ему 1 и записываем в переменную.&lt;/p&gt;
  &lt;p&gt;В Java есть более легких способ работы с присваиванием, когда нам нужно вычислить какие-то действия с изначальным значением.&lt;/p&gt;
  &lt;p&gt;Пример&lt;/p&gt;
  &lt;pre&gt;int a = 0;
a = a + 1; // Было так
a += 1;    // Стало так&lt;/pre&gt;
  &lt;p&gt;По такому принципу можно использовать любой бинарный оператор.&lt;/p&gt;
  &lt;pre&gt;int a = 1;

a += 1;    // 2
a -= 1;     // 1
a *= 2;    // 2
a /= 2;    // 1
a %= 1;   // 1&lt;/pre&gt;
  &lt;p&gt;Также будет работать и со строками&lt;/p&gt;
  &lt;pre&gt;String str = &amp;quot;Первая строка&amp;quot;;
str += &amp;quot; &amp;quot;;                         // Добавим пробел
str += &amp;quot;Вторая строка&amp;quot;;   // Добавим вторую строку &lt;/pre&gt;
  &lt;p&gt;Теперь переменная str ровна - Первая строка Вторая строка&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// BigDecimal&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Резюме &lt;/p&gt;

</content></entry><entry><id>javafls:fYkdD5o8</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/fYkdD5o8?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование в Java 2</title><published>2020-02-18T05:40:34.313Z</published><updated>2020-02-21T03:10:18.371Z</updated><summary type="html">&lt;img src=&quot;https://teletype.in/files/74/9d/749d5fb0-9ed3-49fc-b3c1-a03ca37aebcd.png&quot;&gt;// Ввод с консоли </summary><content type="html">
  &lt;p&gt;// Ввод с консоли &lt;/p&gt;
  &lt;p&gt;Для считывания данных который ввел пользователь нужно использовать технологию Scanner.&lt;/p&gt;
  &lt;p&gt;Для начала технологию, нужно подключить, для этого перед объявлением класса прописываем такую строчку:&lt;/p&gt;
  &lt;pre&gt;import java.util.Scanner;&lt;/pre&gt;
  &lt;p&gt;При помощи этой строчки импортируется, все не обходимое для работы со сканером.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Далее внутри метода нужно создать объект сканнера (про объекты поговорим позже)&lt;/p&gt;
  &lt;pre&gt;Scanner Имя = new Scanner(System.in);&lt;/pre&gt;
  &lt;p&gt;В качестве имени для объекта сканера часто используют in, но вы можете назвать как захотите.&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);&lt;/pre&gt;
  &lt;p&gt;Теперь давайте попробуем считать и записать данные в переменную&lt;/p&gt;
  &lt;pre&gt;String input = in.nextLine();&lt;/pre&gt;
  &lt;p&gt;В переменную input запишется строка, которую введет пользователь.&lt;/p&gt;
  &lt;p&gt;(конструкция не совсем понятная, позже вы детально поймете, каждый символ, а пока просто запомните)&lt;/p&gt;
  &lt;p&gt;Чтобы разобраться как работает ввод данных, попробуйте считать данные и вывести на экран.&lt;/p&gt;
  &lt;p&gt;Напишем не большую программу, спросим имя и поздороваемся.&lt;/p&gt;
  &lt;p&gt;Вот исходный код:&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/74/9d/749d5fb0-9ed3-49fc-b3c1-a03ca37aebcd.png&quot; width=&quot;541&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Также вы можете разобрать код в &lt;a href=&quot;https://repl.it/@DissMind/fls-scanner-article-2&quot; target=&quot;_blank&quot;&gt; онлайн редакторе.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Для начала мы импортируем сканер (1 строчка)&lt;br /&gt;Внутри main, создаем объект сканера для доступа к методу nextLine(), который обеспечивает считывание вводных данных (5 строчка)&lt;br /&gt;Просим ввести имя (7 строчка)&lt;br /&gt;Создаем переменную типа string и записываем в нее считанные данные, которые ввел пользователь (на этом моменте программа остановится и не продолжится, пока пользователь не введет данные) (8 строчка)&lt;br /&gt;И выводим Hello и через пробел имя (которое мы считали) (10 строчка)&lt;/p&gt;
  &lt;p&gt;В примере мы разобрали как считать строчку, теперь давайте разберемся как считывать данные другого типа.&lt;/p&gt;
  &lt;p&gt;На 8-ой строчке мы создали переменную и присвоили ей in.nextLine(); при помощи объекта через точку можно подключатся к его методам(функциям), если вы работаете в IDE, то после того как вы набрали in. должно высветится подсказка с возможными методами, давайте их разбирать:&lt;/p&gt;
  &lt;p&gt; Для работы со строками можно использовать два метода&lt;/p&gt;
  &lt;pre&gt;next();
nextLine();&lt;/pre&gt;
  &lt;p&gt;Оба метода считывают строчку, но next() - считает до первого пробела (ввод не остановится если вы поставите пробел, но считается все до первого пробела), а&lt;br /&gt;nextLine() - считывает вместе с пробелами.&lt;/p&gt;
  &lt;p&gt;Можно записать только в переменную типа string&lt;/p&gt;
  &lt;p&gt;С остальными типами логика проста, метод будет начинаться с next, а дальше с большой буквы тип данных (слитно). Надеюсь вы понимаете, что если вы считываете данные какого-то типа и хотите ее записать в переменную, она должна быть такого же типа.&lt;/p&gt;
  &lt;p&gt;Вот методы для int и double&lt;/p&gt;
  &lt;pre&gt;nextInt();
nextDouble();&lt;/pre&gt;
  &lt;p&gt;Позже вы познакомитесь с другими типами данных, вот методы для их чтения&lt;/p&gt;
  &lt;pre&gt;nextByte();
nextShort();
nextLong();
nextFloat();
nextBoolean();&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Арифметические Операции (Выражения)&lt;/p&gt;
  &lt;p&gt;В программирование очень большая часть состоит из вычислений и выражений.&lt;/p&gt;
  &lt;p&gt;Выражение - это процесс выполнения каких-либо операций над данными.&lt;br /&gt;Например сложение, вычитание, умножение.&lt;/p&gt;
  &lt;p&gt;Для выполнения операции нужен оператор. Многие из них вам будут очень хорошо знакомы из математики.&lt;/p&gt;
  &lt;h3&gt;Операторы &lt;/h3&gt;
  &lt;p&gt;Оператор сложения + &lt;br /&gt;вычисляет результат сложения двух значений&lt;/p&gt;
  &lt;p&gt;Оператор вычитания - &lt;br /&gt;вычисляет результат вычитания одного значения из другого&lt;/p&gt;
  &lt;p&gt;Оператор умножения *&lt;br /&gt;вычисляет результат умножение одного значения на другое&lt;/p&gt;
  &lt;p&gt;Оператор деления /&lt;br /&gt;вычисляет результат деление одного значение на другое&lt;/p&gt;
  &lt;p&gt;Оператор деления по модулю %&lt;br /&gt;вычисляет остаток от деления одного значения на другое&lt;/p&gt;
  &lt;blockquote&gt;Напомню, что такое остаток при делении. Делим 3 на 2 - на цело делится 1 раз и остается еще 1 - это и есть остаток от деления.&lt;/blockquote&gt;
  &lt;p&gt;С первыми тремя операторами все не так сложно.&lt;/p&gt;
  &lt;p&gt;Пример:&lt;/p&gt;
  &lt;pre&gt;System.out.println(2 + 2); // Выведет 4
System.out.println(2 - 2); // Выведет 0
System.out.println(2 * 2); // Выведет 4&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;С делением не все так гладко&lt;/p&gt;
  &lt;p&gt;Пример:&lt;/p&gt;
  &lt;p&gt;Если мы делим на цело, то все нормально&lt;/p&gt;
  &lt;pre&gt;System.out.println(10 / 5); // Выведет 2&lt;/pre&gt;
  &lt;p&gt;А если нет, то появляется проблема&lt;/p&gt;
  &lt;pre&gt;System.out.println(7 / 5); // Выведет 1&lt;/pre&gt;
  &lt;p&gt;Дробная часть будет отрезана, это связанно с тем, что значения вычисления в данном случае будет типа int (который не может быть дробным числом). Как решить эту проблему, поговорим в следующей теме.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Деление по модулю, у многих почему-то с этим оператором возникают проблемы, не нужно его боятся, все крайне просто, он вычисляет остаток при делении&lt;/p&gt;
  &lt;pre&gt;System.out.println(7 / 5); // 2&lt;/pre&gt;
  &lt;p&gt;Напишу еще пару примеров&lt;/p&gt;
  &lt;pre&gt;3  % 3   // 0
10 % 5   // 0
5  % 3   // 2
20 % 3   // 2&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h3&gt;Приоритет выполнения действий&lt;/h3&gt;
  &lt;p&gt;Все работает как в математике - сначала умножение и деление (добавим сюда еще и деление по модулю), потом сложение и вычитание.&lt;/p&gt;
  &lt;p&gt;И конечно же мы можем использовать скобки для установки приоритетов.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h3&gt;Еще про операторы&lt;/h3&gt;
  &lt;p&gt;Теперь когда мы познакомились с основными операторами, нужно разобраться какие бывают понятия и классификации.&lt;/p&gt;
  &lt;p&gt;Операторы делятся по признаку количеству данных над которыми выполняется операция. &lt;/p&gt;
  &lt;p&gt;Те операторы, которые мы уже рассмотрели называются &lt;strong&gt;Бинарным &lt;/strong&gt;(двойными), так как выполняют вычисление только у двух значений.&lt;/p&gt;
  &lt;p&gt;Если вам не понятно, почему они работают только с двумя значениями, объясню подробнее.&lt;br /&gt;Есть вот такое выражение 1 + 2 + 3 и вроде как тут три разных значения, о каких двух вообще может идти речь?&lt;br /&gt;Дело в том, что в выражении стоит два оператора сложения - соответсвенно операция выполняется два раза - следовательно, если операторы бинарные - значит у нас 4 значения, внезапно появилось еще одно значение, давайте разберем этот пример по этаппно:&lt;/p&gt;
  &lt;p&gt;Для начала выполняется 1 + 2, ровно 3&lt;br /&gt;А дальше 3 + 3, вот откуда берется еще одно значение, после вычисления выражения - это больше не выражение, а самостоятельное значение и мы можем с ним работать как и с любыми другими значениями.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Также существуют &lt;strong&gt;унарные&lt;/strong&gt; операторы, они работают только с одним значением.&lt;/p&gt;
  &lt;p&gt;Давайте с ними знакомится.&lt;/p&gt;
  &lt;p&gt;Унарный минус -&lt;br /&gt;делает выражение отрицательным (если унарный минус были использован к отрицательному значению - будет положительное и наоборот)&lt;/p&gt;
  &lt;p&gt;Очень страшное слово (это программирование, привыкайте)&lt;br /&gt;Инкремент (на самом деле ничего сложного, нет) ++&lt;br /&gt;увеличивает значение на 1&lt;/p&gt;
  &lt;p&gt;И еще одно страшное слово (вы ведь понимаете, что тут не будет ничего сложного?)&lt;br /&gt;Декремент --&lt;br /&gt;вычитает от значение 1&lt;/p&gt;
  &lt;p&gt;Инкремент и декремент бывает двух видов:&lt;br /&gt;Постфиксный - оператор будет стоят после значения&lt;/p&gt;
  &lt;pre&gt;int a;
a++;&lt;/pre&gt;
  &lt;pre&gt;int a;
a--;&lt;/pre&gt;
  &lt;p&gt; Префиксный - оператор будет стоять после значения&lt;/p&gt;
  &lt;pre&gt;int a = 0;
++a;&lt;/pre&gt;
  &lt;pre&gt;int a = 0;
--a;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь давайте разбираться на примере &lt;/p&gt;
  &lt;p&gt;Начнем с префиксного&lt;/p&gt;
  &lt;pre&gt;int a = 0; // создаем переменную со значением 0.
++a; // инкрементируем переменную.
System.out.println(a); // выведется 1.&lt;/pre&gt;
  &lt;p&gt;Переменная a просто увеличилась на 1.&lt;/p&gt;
  &lt;p&gt;Мы можем инкрементировать внутри конструкции вывода&lt;/p&gt;
  &lt;pre&gt;int a = 0;
System.out.println(++a); // Выведется 1.&lt;/pre&gt;
  &lt;p&gt;Если бы мы использовали декремент, переменная уменьшилась на 1.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь разберемся с постфиксным, он работает немного по другому.&lt;/p&gt;
  &lt;pre&gt;int a = 0;
System.out.println(a++); // Вывод 0.&lt;/pre&gt;
  &lt;p&gt;Выводится 0, дело в том, что операция постфиксной инкрементации имеет приоритет выполнения ниже, чем вывод в консоль. То есть a увеличится на один, после того как выведется.&lt;/p&gt;
  &lt;pre&gt;int a = 0;
System.out.println(a++); // Вывод 0.
System.out.println(a);   // Теперь вывод 1.&lt;/pre&gt;
  &lt;p&gt;Вот еще пример&lt;/p&gt;
  &lt;pre&gt;int a = 0;
System.out.println(a++);   // Вывод 0.
System.out.println(a++);   // Теперь вывод 1.
System.out.println(a++);   // Теперь вывод 2.
System.out.println(a++);   // Теперь вывод 3.
System.out.println(a);     // Теперь вывод 4.
System.out.println(a);     // Теперь вывод 4.&lt;/pre&gt;
  &lt;p&gt;Немного позже мы будем очень активно применять операторы инкремента и декремента.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;И последний вид операторов &lt;strong&gt;Тернарный &lt;/strong&gt;он всего один и познакомимся с ним позже.&lt;/p&gt;
  &lt;p&gt;  Также операторы по разному работают с разными типами данных, например если используется + с числовыми типами - это оператор сложения, а если со string, то это оператор слияния строк.&lt;br /&gt;  Все выше перечисленные примеры, будут работать только если в унарных операторах используется какое-либо значение числового типа данных (double, int), и если в бинарных операторах используются только числовые типы и два значения одного типа данных.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Остальные числовые типы данных&lt;/p&gt;
  &lt;p&gt;Перед темой &amp;quot;Преобразование типов&amp;quot;, нужно познакомится с остальными числовыми данными.&lt;/p&gt;
  &lt;p&gt;Целые, аналогичные int, но с другим возможным диапазоном значений.&lt;/p&gt;
  &lt;p&gt;// Карточка с целыми &lt;/p&gt;
  &lt;p&gt;И еще один тип для не целых (дробных)&lt;/p&gt;
  &lt;p&gt;// Карточка с float&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// Преобразование типов данных&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Преобразование типа данных&lt;/strong&gt; - это процесса преобразование одного типа данных в другой.&lt;/p&gt;
  &lt;p&gt;К примеру:&lt;/p&gt;
  &lt;pre&gt;byte a = 1;
int b = a;&lt;/pre&gt;
  &lt;p&gt;Переменная b расширила диапазон значений переменной a без потери данных.&lt;br /&gt;По сути значение переменной a положили в другую переменную с большим диапазоном значений.&lt;/p&gt;
  &lt;p&gt;Преобразование без потери данных можно по данной схеме&lt;/p&gt;
  &lt;p&gt;byte -&amp;gt; short -&amp;gt; int -&amp;gt; long&lt;/p&gt;
  &lt;pre&gt;byte  a = 0;
short b = a;
int   c = b;
long  d = c;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Еще раз вспомним про бинарные операторы&lt;br /&gt;Дело в том, что бинарные операторы сначала приравнивают два значение к общему типу и только после выполняют вычисление.&lt;/p&gt;
  &lt;p&gt;Вот пример:&lt;/p&gt;
  &lt;pre&gt;int  a = 1;
byte b = 2;

System.out.println(a + b);&lt;/pre&gt;
  &lt;p&gt;Этот код работает так:&lt;/p&gt;
  &lt;p&gt;Сначала идет проверка, имеют ли один тип два значения&lt;br /&gt;Если да, то числа складываются (тип данных остается прежний)&lt;br /&gt;Если нет, то данные преобразуются к общему типу&lt;/p&gt;
  &lt;p&gt;Общий тип - будет тот тип, который хранит больший диапазон значений (соответсвенно занимает больше места)&lt;/p&gt;
  &lt;p&gt;При преобразовании byte и int - общим типом будет - int&lt;br /&gt;Значит значение типа byte - преобразуется в int (а судя из того, что написана выше - если преобразовать меньший тип к большему - потери данных не будет).&lt;/p&gt;
  &lt;p&gt;В итоге значение будет ровно 3 типа int.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь давайте рассмотрим преобразование с возможной потеряй данных.&lt;br /&gt;Потеря данных возможна, когда мы пытаемся присвоить значение в переменную, которое больше возможного диапазона.&lt;/p&gt;
  &lt;p&gt;Пример:&lt;/p&gt;
  &lt;pre&gt;int a = 128;
byte b = a;&lt;/pre&gt;
  &lt;p&gt;При такой записи компилятор сообщить об ошибке, нельзя автоматически преобразовать в int в byte. Значит нужно преобразовывать явно.&lt;/p&gt;
  &lt;p&gt;Для этого перед значением в скобочках нужно указать в какой тип преобразовывать.&lt;/p&gt;
  &lt;pre&gt;int a = 128;
byte b = (byte)a;

System.out.println(b);&lt;/pre&gt;
  &lt;p&gt;Теперь все преобразовалось, но тип данных byte - не может хранить числа больше 127, а в примере записывается 128. Вы удивитесь, но вывод будет равен -128 (минимальное возможно значение типа byte). На вопрос почему именно это число, нужно отвечать отдельной статьей, об этом позже.&lt;/p&gt;
  &lt;p&gt;Это и был пример явного преобразования с возможной потеряй данных (в данном случае с потерей данных).&lt;/p&gt;
  &lt;p&gt;Ранее встретился случай, что при делении обрезалась не целая часть, теперь давайте решать эту проблему.&lt;/p&gt;
  &lt;pre&gt;System.out.println(5 / 2);&lt;/pre&gt;
  &lt;p&gt;Ответ будет 2, не целая часть обрезалась. Это происходит из-за того, что делится два значения типа int, так как два значения являются одним типом данных - преобразования не будет, соответсвенно и значение будет типа int, а так как int не может хранить не целые значения, все что после запятой обрезается. &lt;/p&gt;
  &lt;p&gt;Для решения это проблемы есть несколько вариантов:&lt;/p&gt;
  &lt;p&gt;Установить одно(или два) из значений тип данных double, чтобы при делении все преобразовалось в double.&lt;/p&gt;
  &lt;pre&gt;System.out.println(5.0 / 2);&lt;/pre&gt;
  &lt;p&gt;Отличная возможность рассказать про особенность double. Если число типа double - имеет нулевое значение после запятой - пишется 0 - значит если мы преобразуем любое целое число в double, к концу будет приписываться точка и ноль. &lt;/p&gt;
  &lt;p&gt;Преобразовать одно(или два) из значений в double.&lt;/p&gt;
  &lt;pre&gt;System.out.println((double)5 / 2);&lt;/pre&gt;
  &lt;p&gt;В данном случае мы преобразовали значение 5 в double, теперь оно будет иметь вид 5.0&lt;/p&gt;
  &lt;p&gt;Теперь деление будет работать правильно, выведет 2.5&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Также стоит рассмотреть, что будет если мы преобразуем выражение в double, для этого нужно обвернуть все выражение в скобки и перед этим в скобках написать нужный тип.&lt;/p&gt;
  &lt;pre&gt;System.out.println((double)(5 / 2));&lt;/pre&gt;
  &lt;p&gt;Вывод будет 2.0, так как сначала вычисляется выражение, и далее значение преобразуется в double.  &lt;/p&gt;
  &lt;p&gt;Есть еще некоторые способы преобразования, продолжим позже.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;//Резюме&lt;/p&gt;

</content></entry><entry><id>javafls:KHVA9yvQ</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/KHVA9yvQ?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование в Java 4</title><published>2020-02-18T04:41:50.753Z</published><updated>2020-02-22T03:35:19.162Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/b1/b5/b1b5f875-7263-491e-8195-cd13c3a36f44.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/ca/6b/ca6bf0f6-f167-437b-b0b4-b678b0afeed5.png&quot;&gt;Как вы знаете программа выполняет все операции сверху-вниз
А что делать если программа должна в одном случае работать по одному, во втором по другому? Для решение этой проблемы изучим следующую тему.</summary><content type="html">
  &lt;p&gt;Как вы знаете программа выполняет все операции сверху-вниз&lt;br /&gt;А что делать если программа должна в одном случае работать по одному, во втором по другому? Для решение этой проблемы изучим следующую тему.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Ветвления или Условные конструкции&lt;/h2&gt;
  &lt;p&gt;Выражение if - (переводится как &amp;quot;если&amp;quot;), при помощи этого оператора мы можем выполнять блок кода, если условие верно.&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;if (Условие) {
   // Code
}  &lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Для работы с ветвлением нужно разобраться с еще одним типом данных и его операциями.&lt;/p&gt;
  &lt;h3&gt;Логический Тип&lt;/h3&gt;
  &lt;p&gt;boolean, он же логический тип&lt;/p&gt;
  &lt;p&gt;Данный тип работает только с двумя значениями - true (правда), false (ложь).&lt;/p&gt;
  &lt;p&gt;Пример:&lt;br /&gt;Создадим переменную логического типа со значением true&lt;/p&gt;
  &lt;pre&gt;boolean a = true;&lt;/pre&gt;
  &lt;h3&gt;Операции с логическим типом или Условные выражения &lt;/h3&gt;
  &lt;p&gt;Все ниже перечисленные операции являются бинарными (работают только с двумя значениями) и всегда возвращают значения типа boolean, true - если условие верно, false - если не верно.&lt;/p&gt;
  &lt;p&gt;&lt;u&gt;Сравнение на равенство, оператор &amp;quot;==&amp;quot;.&lt;/u&gt;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;true - если значение ровны&lt;/li&gt;
    &lt;li&gt;false - если значения разные&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;blockquote&gt;Обратите внимания, что &amp;quot;=&amp;quot; - это оператор присваивания значения, а &amp;quot;==&amp;quot; - это оператор равенства. Это одна из самых распространенных ошибок начинающих программистов. Пожалуйста не путайте их.&lt;/blockquote&gt;
  &lt;p&gt;Примеры:&lt;/p&gt;
  &lt;pre&gt;boolean a = 10 == 11;&lt;/pre&gt;
  &lt;p&gt;Переменная а, будет ровна false.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;u&gt;Сравнение на неравенство, оператор &amp;quot;!=&amp;quot;.&lt;/u&gt;&lt;/p&gt;
  &lt;p&gt;Полная противоположность оператора равенства. &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;true - если значение разные&lt;/li&gt;
    &lt;li&gt;false - если значения ровны&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Примеры:&lt;/p&gt;
  &lt;pre&gt;boolean a = 10 != 11;&lt;/pre&gt;
  &lt;p&gt;Переменная а, будет ровна true.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Рассмотрим сразу несколько операторов, так как они очень похожи (к тому же их вы все знаете со школы)&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&amp;gt; - больше&lt;/li&gt;
    &lt;li&gt;&amp;lt; - меньше&lt;/li&gt;
    &lt;li&gt;&amp;gt;= - больше-ровно&lt;/li&gt;
    &lt;li&gt;&amp;lt;= - меньше-ровно&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Надеюсь, что вы и без меня понимаете как с ними работать. &lt;br /&gt;Но все же вот пару примеров:&lt;/p&gt;
  &lt;pre&gt;boolean a = 1 &amp;gt; 10; // false
boolean b = 2 &amp;lt; 2;  // false &lt;/pre&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;А теперь не большой привет от математической логики. Не пугаемся, все нормально, ничего сложного.&lt;/p&gt;
  &lt;p&gt;Логическое И - &amp;quot;&amp;amp;&amp;amp;&amp;quot; - Конъюнкция&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Если два значения true - true&lt;/li&gt;
    &lt;li&gt;В любой другом случае - false&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Пример: &lt;/p&gt;
  &lt;pre&gt;boolean a = true  &amp;amp;&amp;amp; true;  // true
boolean b = false &amp;amp;&amp;amp; true; // false&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Логическое ИЛИ - &amp;quot;||&amp;quot; - Дизъюнкция&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Если любое из значений ровно true - true&lt;/li&gt;
    &lt;li&gt;В любой другом случае - false&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Пример: &lt;/p&gt;
  &lt;pre&gt;boolean a = true  || true;   // true
boolean b = false || true;   // true
boolean c = false || false;  // false&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Логическое Исключающая ИЛИ (ЛИБО) - &amp;quot;^&amp;quot; - Строгая дизъюнкция&lt;/p&gt;
  &lt;p&gt;Честно говоря, этот оператор используется крайне редко (если конечно, речь идет не о криптографии), но все же стоит его знать.&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Если одно из значений будет true (но не одновременно) - false.&lt;/li&gt;
    &lt;li&gt;в любом другом случае - false.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Пример: &lt;/p&gt;
  &lt;pre&gt;boolean a = true ^ false; // true
boolean b = true ^ true;  // false&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Логическое НЕ - &amp;quot;!&amp;quot; - Инверсия&lt;/p&gt;
  &lt;p&gt;Данный оператор является унарным и работает только с одним значением &lt;br /&gt;Операция инвертирует (устанавливает обратное) значение &lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Если значения true - false&lt;/li&gt;
    &lt;li&gt;Если false - true&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Пример: &lt;/p&gt;
  &lt;pre&gt;boolean a = !false; // true
boolean b = !true;  // false&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Приведу несколько примеров по теме:&lt;/p&gt;
  &lt;pre&gt;boolean a = (10 + 2) &amp;lt; 6 || 2 == 2; // true
boolean b = false ^ 2 &amp;lt; 1;          // true
boolean c = a &amp;amp; b;                  // true
boolean d = 10 &amp;lt; 100 &amp;amp;&amp;amp; -1 &amp;gt; 2;     // false
boolean e = !((a &amp;amp;&amp;amp; b) || c);       // true&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Теперь вернемся к ветвлению&lt;/h2&gt;
  &lt;p&gt;Напомню синтаксис конструкции if:&lt;/p&gt;
  &lt;pre&gt;if (Условие) {
//code
}&lt;/pre&gt;
  &lt;p&gt;В условие принимается значение/выражение типа boolean, если значение ровно true - блок кода внутри фигурных скобок выполнится, в другом случае - будет игнорироваться.&lt;/p&gt;
  &lt;p&gt;Пример:&lt;br /&gt;Проверяем число на четность&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите число, для проверки на четность&amp;quot;);
int input = in.nextInt();

if (input % 2 == 0) {
    System.out.println(&amp;quot;Число четное&amp;quot;);
}

if (!(input % 2 == 0)) {
    System.out.println(&amp;quot;Число не четное&amp;quot;);
}
&lt;/pre&gt;
  &lt;ol&gt;
    &lt;li&gt;Для начала мы подключаем сканер.&lt;/li&gt;
    &lt;li&gt;Выводим сообщение, где просим ввести число.&lt;/li&gt;
    &lt;li&gt;Читаем вводное значение и записываем в переменную input.&lt;/li&gt;
    &lt;li&gt;Условие: если вводное значение делим по модулю на 2 и получаем 0, выводим сообщение, что число четное. (иными словами если число делится на 2 без остатка)&lt;/li&gt;
    &lt;li&gt;Условие: такое же условие только в начале стоит оператор НЕ (!), то есть если условие не верное выводим сообщение, что число не четное.&lt;br /&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;hr /&gt;
  &lt;h3&gt;Конструкция else (иначе)&lt;/h3&gt;
  &lt;p&gt;Используется вместе с конструкцией if позволяет выполнить блок кода, если условие if - false.&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;if (Условие) {
    // Выполняемый код, если условие верное
}
else {
    // Выполняемый код, если условие не верное
}&lt;/pre&gt;
  &lt;p&gt;В качестве примера можно переписать прошлый пример с использованием else (как и нужно было писать эту программу):&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите число, для проверки на четность&amp;quot;);
int input = in.nextInt();

if (input % 2 == 0) {
    System.out.println(&amp;quot;Число четное&amp;quot;);
}
else {
    System.out.println(&amp;quot;Число не четное&amp;quot;);
}&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;А как бы вы решили такую задачу:&lt;br /&gt;Вводится число, если оно четное выводим 1, если нет, выводим 2, если число четное и больше 3-х выводим 3.&lt;/p&gt;
  &lt;p&gt;Предполагаю, что некоторые будут пытаться написать примерно так:&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите число, для проверки на четность&amp;quot;);
int input = in.nextInt();

if (input % 2 == 0) {
    System.out.println(&amp;quot;1&amp;quot;);
}
else {
    System.out.println(&amp;quot;2&amp;quot;);
}
if (input % 2 == 0 &amp;amp;&amp;amp; input &amp;gt; 10) {
    System.out.println(&amp;quot;3&amp;quot;);
}&lt;/pre&gt;
  &lt;p&gt;Давайте разберем, что здесь не так&lt;/p&gt;
  &lt;p&gt;если мы вводим нечетное число - все хорошо, выведется 2&lt;br /&gt;и если введем четное число, но меньше 10 - выведется 1, &lt;br /&gt;а вот если вводим четное число больше 10 - выведется и 1, и 3&lt;/p&gt;
  &lt;p&gt;Почему так происходит? Ответ прост, потому что так написана программа. Например если вводится число 12 подойдет к первому условию и к третьему.&lt;/p&gt;
  &lt;blockquote&gt;На самом деле логика должна быть примерно такая:&lt;br /&gt;Проверяем число на четность&lt;br /&gt;    Если четное, то&lt;br /&gt;        проверяем больше ли оно 10-ти&lt;br /&gt;          Если больше - выводим 3&lt;br /&gt;          Если нет - выводим 1&lt;br /&gt;    Если не четное, то выводим 2&lt;/blockquote&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;/////////////Блок - схема&lt;/p&gt;
  &lt;p&gt;А вот и сам код программы:&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);

System.out.println(&amp;quot;Введите число, для проверки на четность&amp;quot;);
int input = in.nextInt();

if (input % 2 == 0) {
    if (input % 2 == 0 &amp;amp;&amp;amp; input &amp;gt; 10) {
        System.out.println(&amp;quot;3&amp;quot;);
    }
    
    System.out.println(&amp;quot;1&amp;quot;);
}
else {
    System.out.println(&amp;quot;2&amp;quot;);
}
&lt;/pre&gt;
  &lt;h3&gt;Конструкция else if&lt;/h3&gt;
  &lt;p&gt;  Предположим, что у вас в программе есть момент, когда идет множество ветвлений и вам приходится писать несколько условий подряд.&lt;br /&gt;  К примеру, обработчик какой-то команды (как в командной строке), пользователь вводит команду и программа как-то реагирует на это. &lt;/p&gt;
  &lt;p&gt;Для этого отлично подходит конструкция else if.&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;if (Условие 1) {
    // Code 1...
}
else if (Условие 2) {
    // Code 2...
} 
else if (Условие 3) {
    // Code 3...
}
else {
    // Code 4...
}&lt;/pre&gt;
  &lt;p&gt;Как это будет работать: &lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Если 1 условие верное - выполняется code 1&lt;/li&gt;
    &lt;li&gt;Если 1 условие не верное, следует условие 2, если оно верное - выполняется code 2&lt;/li&gt;
    &lt;li&gt;Если условие 2 не верное, следует условие 3, если оно верное - выполняется code 3&lt;/li&gt;
    &lt;li&gt;Если условие 3 не верное -выполняется code 4&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;  Разберем на примере программы, которая будет выводит расписание занятий для конкретной группы.&lt;br /&gt;  Идея такая: У нас есть факультет &amp;quot;Программирования&amp;quot;, на ней учится 3 группы (для простоты с номерами 1, 2, 3) . Программа будет спрашивать группу, в ответ выдавать - расписание занятий на завтра. &lt;/p&gt;
  &lt;p&gt;Для начала давайте спросим у пользователя, для какой группы расписание ему нужно.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Введите номер группы&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;Затем нужно считать данные, которые ввел пользователь.&lt;/p&gt;
  &lt;pre&gt;Scanner in = new Scanner(System.in);
int groupNumber = in.nextInt();&lt;/pre&gt;
  &lt;p&gt;Далее нам нужно судя из ответа, вывести нужно расписание. Тут мы и будем использовать конструкцию else if.&lt;/p&gt;
  &lt;pre&gt;if (groupNumber == 1) {
    System.out.println(&amp;quot;Расписание для первой группы&amp;quot;);
}
else if (groupNumber == 2) {
    System.out.println(&amp;quot;Расписание для второй группы&amp;quot;);
}
else if (groupNumber == 3) {
    System.out.println(&amp;quot;Расписание для третей группы&amp;quot;);
}  
else {
    System.out.println(&amp;quot;Данной группы не существует&amp;quot;);
}&lt;/pre&gt;
  &lt;p&gt;Здесь вы можете посмотреть &lt;a href=&quot;https://repl.it/@DissMind/FLS-java-article-4-if-else&quot; target=&quot;_blank&quot;&gt;полный код программы&lt;/a&gt;&lt;/p&gt;
  &lt;h3&gt;Конструкция Switch&lt;/h3&gt;
  &lt;p&gt;  В некоторых случаях из-за конструкции else if код может стать слишком громоздким и излишним, конструкция switch помогает решить эту проблему.&lt;br /&gt;  Работа switch аналогична.&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;switch (Принимаемое значение) {    
    case 1:         
        // Code 1..        
        break;    
    case 2:        
        // Code 2..        
        break;    
    case 3:        
        // Code 3..        
        break;
    default:
        // Code 4..
}&lt;/pre&gt;
  &lt;p&gt;  Здесь дела обстоят также как и в примере выше (про if else), но немного меняется принцип.&lt;br /&gt;  В &amp;quot;принимаемые значение&amp;quot; можно вставить переменную/значение, далее идут несколько case&amp;#x27;ов, &amp;quot;принимаемое значение&amp;quot; сравнивается со всеми значениями написанные после оператора case, если они ровны - выполняется код после &amp;quot;:&amp;quot; до оператора break, если не один не подошел - выполняется код после оператора default (оператор default может отсутствовать).&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;В качестве примера предлагаю переписать пример выше (с использованием else if).&lt;/p&gt;
  &lt;p&gt;Пример:&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ca/6b/ca6bf0f6-f167-437b-b0b4-b678b0afeed5.png&quot; width=&quot;744&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;// ПОправить скин (забыл sout)&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;h3&gt;//Резюме&lt;/h3&gt;
  &lt;p&gt; &lt;/p&gt;

</content></entry><entry><id>javafls:gU_OPIWb</id><link rel="alternate" type="text/html" href="https://teletype.in/@javafls/gU_OPIWb?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javafls"></link><title>Программирование Java 1</title><published>2020-02-16T20:47:33.776Z</published><updated>2020-02-27T05:07:06.205Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/5d/eb/5deb3082-e77b-46c4-b502-c9e60f207507.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://telegra.ph/file/53611157bb9efa2cba858.jpg&quot;&gt;Чтобы запустить программу на java нужно:</summary><content type="html">
  &lt;p&gt;Чтобы запустить программу на java нужно:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Написать код &lt;/li&gt;
    &lt;li&gt;Скомпилировать&lt;/li&gt;
    &lt;li&gt;Выполнить при помощи JRE (Java Runtime Environment - среда выполнения java)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Что это за ужасное слово &amp;quot;скомпилировать&amp;quot;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Дело в том, что компьютер работает только с машинным кодом, для запуска программы java нужно перевести исходный код в машинный язык - этот процесс и называется &lt;strong&gt;компиляцией.&lt;/strong&gt; &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;Для компиляции нужен компилятор.&lt;/p&gt;
  &lt;p&gt;Установить вы его можете на этом сайте (на самом деле нужен не сам компилятор, а JDK - java development kit - java набор для разработки) &lt;a href=&quot;https://www.oracle.com/index.html&quot; target=&quot;_blank&quot;&gt;сайте (официальный сайт oracle)&lt;/a&gt;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html&quot; target=&quot;_blank&quot;&gt;8 версия&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.oracle.com/java/technologies/javase-jdk13-downloads.html&quot; target=&quot;_blank&quot;&gt;13 версия&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;если вам нужно помощь в установке нужного софта, вот ссылки на гайды:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Скоро здесь появится ссылка.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Также я упоминал еще одно странное слово JRE (Java Runtime Environment - среда выполнения java) - это среда для выполнения программ на Java.&lt;/p&gt;
  &lt;p&gt;Если вы скачали и установили JDK, в него входит и среда выполнения, скачивать больше ничего не нужно.&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;А где мы будем писать код? &lt;/p&gt;
  &lt;p&gt;Можно конечно в блокнотике, но я не думаю, что это хорошая идея. Существует большое множество текстовых редакторов и IDE. Если с текстовыми редактором все понятно - программа для редактирования текста, то IDE - это Integrated development environment, интегрированная среда разработки - программа в которой встроено множество функций для разработки и сам редактор. Более подробно про IDE и текстовые редакторы вы можете прочитать здесь:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Скоро здесь появится ссылка.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;P.S. Если вы не хотите тратить время на статью про IDE и текстовых редакторах, вкратце -  Для Java советую использовать &lt;a href=&quot;https://www.jetbrains.com/idea/download/#section=windows&quot; target=&quot;_blank&quot;&gt;Intelij IDE &lt;/a&gt;(устанавливайте community версию - она бесплатна), также многие используют &lt;a href=&quot;https://netbeans.org/&quot; target=&quot;_blank&quot;&gt;NetBeans IDE&lt;/a&gt;, &lt;a href=&quot;https://www.eclipse.org/downloads/&quot; target=&quot;_blank&quot;&gt;Eclipse IDE.&lt;/a&gt; Если вам достаточно текстового редактора рекомендую &lt;a href=&quot;https://www.sublimetext.com/&quot; target=&quot;_blank&quot;&gt;Sublime Text&lt;/a&gt;, &lt;a href=&quot;https://code.visualstudio.com/&quot; target=&quot;_blank&quot;&gt;Visual Studio Code&lt;/a&gt;, &lt;a href=&quot;https://atom.io/&quot; target=&quot;_blank&quot;&gt;Atom.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Надеюсь, что на этом этапе вы уже установили и настроили все не обходимое для разработки. Мы приступаем к изучению самого языка.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://telegra.ph/file/53611157bb9efa2cba858.jpg&quot; width=&quot;640&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;По традиции первая программа представляет из себя вывод на экран надпись &amp;quot;Hello world!&amp;quot;.&lt;/p&gt;
  &lt;p&gt;Если вы работаете в intelij IDE нажмите ПКМ во вкладе с деревом проекта -&amp;gt; по папке src. В контекстном меню выберите New -&amp;gt; класс Java.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/02/c6/02c68837-393b-4151-a0e9-619b9cc057ab.gif&quot; width=&quot;690&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Вот исходный код &lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/59/79/5979bb62-5749-48dd-99af-24c550bb1ea1.png&quot; width=&quot;550&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;a href=&quot;https://repl.it/@DissMind/fls-hello-world&quot; target=&quot;_blank&quot;&gt;Вы можете посмотреть код в онлайн редакторе&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Давайте пробежимся по каждой строчке&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;В Java все состоит из классов по этому для начала мы создаем класс. После стоят фигурные скобки - все что внутри относится к классу.&lt;/li&gt;
    &lt;li&gt;Внутри класса создаем метод Main, он принимает параметр массив строк (что такое класс, метод и его параметры пока не берите в голову, поговорим об этом позже). Любая программа начинает свою работу от метода Main - то, что написано внутри - будет выполнятся. &lt;/li&gt;
    &lt;li&gt;Далее пишется &lt;strong&gt;выражение, которое обеспечивает вывод строки &amp;quot;Hello World!&amp;quot; в консоль. Строка обязательно должна быть обернута кавычками, а после каждого выражения ставиться точка с запятой.&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;И последние мы закрываем фигурные скобки. &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Поздравляю вы написали свою первую программу.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Если сложно запомнить - не переживайте скоро это пройдет.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/35/fa/35fab9d4-8ed4-4564-99fc-0703fd340d68.jpeg&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Для вывода в консоль используется данная конструкция &lt;/p&gt;
  &lt;pre&gt;System.out.println(/*Сюда вставляется, что нужно вывести*/);&lt;/pre&gt;
  &lt;p&gt;Также если и такая конструкция &lt;/p&gt;
  &lt;pre&gt;System.out.print(/*Сюда вставляется, что нужно вывести*/);&lt;/pre&gt;
  &lt;p&gt;  Первая запись выводит на консоль и переходит на следующую строчку (все следующие отображения будут на следующей строчке).&lt;br /&gt;  Вторая запись выводит на консоль и не переход на следующую строчку (все следующие отображения будут на той же строчке).&lt;/p&gt;
  &lt;p&gt;Внутрь скобок вставляется значение, которое нужно вывести&lt;/p&gt;
  &lt;p&gt;Это может быть: &lt;/p&gt;
  &lt;p&gt;строчка, для вывода строки используются кавычки. Обратите внимание, что если вы работаете со строкой - нужно обязательно обернуть все в кавычки.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Строчка&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;число&lt;/p&gt;
  &lt;pre&gt;System.out.println(123);&lt;/pre&gt;
  &lt;p&gt;выражение (о них поговорим немного позже)&lt;/p&gt;
  &lt;pre&gt;System.out.printnl(10 + 20); // Выведется 30&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;В последним примере мы вывели значение операции сложения двух значений 10 и 20, вывод конечно же будет 30, но если мы обвернем все в кавычки у нас получится строка &amp;quot;10 + 20&amp;quot;.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;10 + 20&amp;quot;); // Выведется 10 + 20&lt;/pre&gt;
  &lt;p&gt;Мы можем складывать строчки&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Первая строка&amp;quot; + &amp;quot;Вторая строка&amp;quot;); // Вывод будет Первоя строкаВторая строка&lt;/pre&gt;
  &lt;p&gt;Тут возникает одна проблема, между двумя строчками нету пробела. Есть три способа для решения:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Поставить пробел в конец первой строки.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Первая строка &amp;quot; + &amp;quot;Вторая строка&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;    2. Поставить пробел в начало второй строки.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Первая строка&amp;quot; + &amp;quot; Вторая строка&amp;quot;);&lt;/pre&gt;
  &lt;p&gt;    3. Между строками вставить еще одну строку с пробелом &amp;quot; &amp;quot;.&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;Первая строка&amp;quot; + &amp;quot; &amp;quot; + &amp;quot;Вторая строка&amp;quot;);&lt;/pre&gt;
  &lt;blockquote&gt;Пробел тоже является символом&lt;/blockquote&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h3&gt;Экранирование символов&lt;/h3&gt;
  &lt;p&gt;Существует несколько специальных символов. Любой из символов можно вставить в любое место строки.&lt;/p&gt;
  &lt;p&gt;\n - символ переход на следующую строку&lt;/p&gt;
  &lt;p&gt;\t - символ табуляции. Равен 4-ем пробелам.&lt;/p&gt;
  &lt;p&gt;Есть некоторые операторы, которые мы не можем вставить в строку, например кавычки &amp;quot;, одинарные кавычки &amp;#x27;, обратный слэш \.&lt;/p&gt;
  &lt;p&gt;Чтобы их вывести перед нужным символом поставите обратный слэш \&lt;/p&gt;
  &lt;pre&gt;System.out.println(&amp;quot;\&amp;quot;&amp;quot;); // Вывод одинарной кавычки &amp;quot;
System.out.println(&amp;quot;\&amp;#x27;&amp;quot;); // Вывод одинарной кавычки &amp;#x27;
System.out.println(&amp;quot;\\&amp;quot;); // Вывод обратного слэша \&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e7/71/e771743d-be98-4eed-b248-f7861b5670e7.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Чтобы постоянно не писать объявление метода Main и System.out.println - можно использовать сниппеты (короткая запись) - пропишите psvm и нажмите TAB, для System.out.println() - sout и TAB.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2b/19/2b19e6c1-7d68-4c96-9e60-e5cb7f1cc99b.gif&quot; width=&quot;623.5&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/6f/97/6f97e0d4-9aa1-42d0-b5e4-a40726d90c4a.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;В Java, как и во многих языках, есть возможность комментировать код. Они нужны, чтобы сделать какие-то пометки, для повышения читаемости кода.&lt;/p&gt;
  &lt;p&gt;Есть два вида комментариев, много строчный и одна строчный&lt;br /&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;// Одна строчный комментарий

/*
Много 
строчный
комментарий
*/ &lt;/pre&gt;
  &lt;p&gt;При компиляции комментарии игнорируются, они не как не влияют на работу программы.&lt;/p&gt;
  &lt;p&gt;Также вы можете закомментировать какую-то часть кода, если вам нужно на время отключить какой-то функционал.&lt;/p&gt;
  &lt;p&gt;Горячая клавиша для создания комментариев - выделяете часть, которую хотите закомментировать и ctrl + /&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/48/fb/48fb9c97-9b12-4658-a765-24439fa4f3cc.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Переменные &lt;/strong&gt;- это область памяти в которой хранится информация. Звучит немного сложно, но на деле - это некие коробочки для данных. При помощи переменных мы можем записывать и считывать какие-либо данные.&lt;/p&gt;
  &lt;p&gt;Для создания переменной нужно указать тип данных. Давайте разберемся с этим понятием.&lt;/p&gt;
  &lt;p&gt;Для чего они вообще нужны?&lt;br /&gt;Если мы представляем переменную как коробку для данных - значит мы должны описать какая она будет. &lt;/p&gt;
  &lt;p&gt;Возможные значения&lt;br /&gt;Каждый тип хранит конкретные значение к примеру числовой хранит числа, строковый - строки и т.д.&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;Размер&lt;br /&gt;Надеюсь вы знакомы с единицами измерения в компьютере, вот вам таблица:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8f/7e/8f7eec6b-8b2e-47c6-ade6-c2ed134be761.png&quot; width=&quot;800&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Чтобы создать коробку для данных, нам конечно нужно знать какого она должна быть размера. &lt;/p&gt;
  &lt;p&gt;Разные типы данных судя из размера и возможных значений предоставляет диапазон данных который мы можем запихнуть в переменную.&lt;/p&gt;
  &lt;p&gt;Вы узнали основные характеристики типов данных, теперь давайте познакомимся конкретно с ними.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/c3/d5/c3d5c92c-cb73-4df8-be4e-faaf276ba76c.png&quot; width=&quot;720&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Рассмотрим таблицу &lt;br /&gt;int, числовой тип данных, хранит целые числа в диапазоне от -2147483648 до 2147483647 (не пугайтесь, вы легко запомните диапазон, когда узнаете принцип кодирования данных), весит 32 бита или 4 байта.&lt;/p&gt;
  &lt;p&gt;double, числовой тип данных, хранит числа с плавающей запятой (числа с дробной частью) весит 64 бита или 8 байт.&lt;/p&gt;
  &lt;p&gt;string, строковый тип данных, хранит строку, можно записать любые символы в кодировке UNICODE (всемирная кодировка, которая хранит все языки и символы), вес зависит от количества символов, каждый символ + 8 бит или 1 байт.&lt;/p&gt;
  &lt;p&gt;Для начала трех типов будет достаточно, позже вы узнаете и другие.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Теперь создадим переменную&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;ТипДанных ИмяПеременной;&lt;/pre&gt;
  &lt;p&gt;Создание переменно типа int и именем num&lt;/p&gt;
  &lt;pre&gt;int num;&lt;/pre&gt;
  &lt;p&gt;Создание переменной типа String и именем str&lt;/p&gt;
  &lt;pre&gt;String str;&lt;/pre&gt;
  &lt;p&gt;Обратите внимание, что тип данных String пишется с большой буквы. &lt;/p&gt;
  &lt;p&gt;Создание переменной типа double и именем doubleNum&lt;/p&gt;
  &lt;pre&gt;double doubleNum;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Правила именования переменных&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Первый символ не может быть цифрой&lt;/li&gt;
    &lt;li&gt;Может содержать любые символа алфавита(русский язык тоже поддерживается), цифры (кроме первого символа), знаки подчеркивания &amp;quot;_&amp;quot; (также кроме первого символа) и знак доллара &amp;quot;$&amp;quot;&lt;/li&gt;
    &lt;li&gt;Не может быть аналогично ключевым словам Java&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Запись данных в переменную &lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;Имя = Данные;&lt;/pre&gt;
  &lt;p&gt;Присвоим переменной num значение 1&lt;/p&gt;
  &lt;pre&gt;num = 1;&lt;/pre&gt;
  &lt;p&gt;Присвоим переменной str значение Hello&lt;/p&gt;
  &lt;pre&gt;str = &amp;quot;Hello&amp;quot;;&lt;/pre&gt;
  &lt;p&gt;Напоминаю, что при указании значения для string используются кавычки&lt;/p&gt;
  &lt;p&gt;Присвоим переменной doubleNum значение 3.14&lt;/p&gt;
  &lt;pre&gt;doubleNum = 3.14;&lt;/pre&gt;
  &lt;p&gt;Остаток указывается после точки (в типе данных double, всегда должно быть значение после точки, если дробной части нету - пишется 0)&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Создание переменной и выделения для нее памяти называется - &lt;strong&gt;инициализацией&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;А указание значения для переменной называется - &lt;strong&gt;определение переменной&lt;/strong&gt; &lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Также мы можем инициализировать и определить переменную сразу&lt;/p&gt;
  &lt;pre&gt;int variable = 10;&lt;/pre&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Теперь мы можем обращаться к данным с помощью имени переменной&lt;/p&gt;
  &lt;p&gt;Выведем на экран нашу переменную &lt;/p&gt;
  &lt;pre&gt;System.out.println(num);&lt;/pre&gt;
  &lt;p&gt;Вывод: 1&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Также в переменную можно записывать результат вычислений (про вычисления вы узнаете в следующей статье)&lt;/p&gt;
  &lt;pre&gt;a = 1 + 1;&lt;/pre&gt;
  &lt;p&gt;в переменную a запишется 2&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/08/d8/08d8fffd-ffe4-41b6-9f3f-3b7abb4cbbf7.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Константы - это переменные, которым нельзя изменить значение&lt;/p&gt;
  &lt;p&gt;Для создания константы перед типом данных используется оператор final&lt;/p&gt;
  &lt;p&gt;Имя константы стоит называть заглавными буквами (вы можете не соблюдать правило, это лишь рекомендация)&lt;/p&gt;
  &lt;p&gt;При инициализации константы, сразу же определяйте ее, иначе значение будет неопределенным&lt;/p&gt;
  &lt;p&gt;Синтаксис:&lt;/p&gt;
  &lt;pre&gt;final ТипДанных Имя = Значение;&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Создадим константу типа int с именем MYCONST и значением 100&lt;/p&gt;
  &lt;pre&gt;final int MYCONST = 100;&lt;/pre&gt;
  &lt;p&gt;Многие ошибочно считают, что константы ускоряет и облегчает программу - это не так. Константы созданы, чтобы случайно не изменить данные, которые не должны изменяться.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/7e/77/7e77e295-7f41-4c19-bdd4-4229c299c43b.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вкратце пробежимся по пройденным темам.&lt;/p&gt;
  &lt;p&gt;Для разработки нужно установить JDK (java development kit - Java набор для разработки) в которую входят все нужные программы для разработки, JRE (java runtime environment) среда выполнения (JRE необходимо для запуска программа на Java).&lt;/p&gt;
  &lt;p&gt;Для работы с самим кодом, вам нужен текстовый редактор или полноценная среда для разработки (IDE - integrated development environment).&lt;/p&gt;
  &lt;p&gt;Мы написали первую программу с выводом Hello World.&lt;/p&gt;
  &lt;p&gt;Рассмотрели два сниппета (для быстрой записи) psvm  (для написания метода main) и sout (для написания оператора вывода).&lt;/p&gt;
  &lt;p&gt;Узнали про одна строчные и много строчные комментарии.&lt;/p&gt;
  &lt;p&gt;Рассмотрели переменные и типы данных, которые позволяют хранить информацию. И Познакомились с константами.&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;  К каждой статье будет прикреплена PDF версия и txt версия (должно быть удобно если вы ведете конспект в электронном виде), а в формате PNG краткий справочник по темам данной статьи и предыдущих.&lt;br /&gt;  Также в формате PDF будет прикреплена практическая часть с заданиями и подробная статья с решениями и разбором задач.&lt;br /&gt;  Будет и видео формат данной статьи на &lt;a href=&quot;https://www.youtube.com/channel/UCz_rQuX5uPHINBiBZadNWog&quot; target=&quot;_blank&quot;&gt;канале FLS&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Дополнительный материал&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://teletype.in/&quot; target=&quot;_blank&quot;&gt;Практика к этой статье&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Вы можете оставить любой вопрос в комментариях (не забудьте оставить ваши контакты)&lt;br /&gt;Или &lt;br /&gt;В &lt;a href=&quot;http://t.me/fls_Chat&quot; target=&quot;_blank&quot;&gt;Telegram чате&lt;/a&gt; &lt;br /&gt;В &lt;a href=&quot;https://vk.me/join/AJQ1dziYpxYkr4qkgm5SG0es&quot; target=&quot;_blank&quot;&gt;Vk чате&lt;/a&gt;&lt;br /&gt;В Discord канале (напишите в один из чатов и вам вышлют приглашение)&lt;/p&gt;

</content></entry></feed>