Кодирование и кодировки
Вспоминаем, что компьютер не понимает напрямую наши команды, и их приходится переводить — перекодировать.
На самом деле, кодирование — это просто. Мы каждый день с самых ранних лет кодируем свои предложения буквами и используем целых 33 символа!
Компьютер и другая техника используют только два символа: 0 и 1
(2) Сколько символов мы используем для кодирования чисел?
Всё просто! Техника бывает только:
● включена — значение 1, есть электрический ток;
● выключена — значение 0, нет электрического тока.
Это проверяется на любом выключателе.
Вот почему в компьютерной математике всё завязывается на степень числа 2, то есть два символа в «алфавите» — 0 и 1:
● флешки на 8 ( =23), 16 ( =24),32 ( =25), 64 ( =26) Gb;
● жёсткий диск на 256 ( =28);
● и прочее.
И это не единственная система кодирования, как и языков, на которых общаются люди, их целое множество.
Например, задолго до нашего Java в 1963 году учёные из США придумали и зарегистрировали таблицу кодирования символов ASCII, читается как АСКИ. Смысл в том, что каждый напечатанный нами символ кодируется некоторым числовым кодом.
Не будем вдаваться в подробности, но задолго до сегодняшнего дня у программистов не было возможности работать с изображениями на компьютере. Любая графика занимала большое (слишком большое) место в памяти компьютера.
Тогда программисты придумали рисовать символами. Такие рисунки появляются по запросу ASCII ART: всевозможные торговые марки, смайлики, рисунки. Иногда они оправдывают своё название лишь отчасти. Но навык рисования с ASCII рос до тех пор, пока люди не придумали способ увеличить память компьютера. При этом стоимость увеличилась не сильно. Сейчас это скорее занятие для любителей.
Как мы видим, этот рисунок получился из символов С ; / * V | и ещё пары букв английского алфавита.
Операторы языка Java
Всё программирование так или иначе связано с математикой. Поэтому мы будем складывать, умножать, делить и вычитать различные значения. Такие команды называются арифметическими, используя арифметические формулы и выражения.
Кроме стандартных арифметических действий, в программировании применяется и сравнение.
Львиную долю в программировании занимают логика и логические выражения вида:
если (случается событие 1) И (случается событие 2), то (сделай событие 3).
Переменные
Всё, что выполняется в программе, требует от компьютера свободного места в памяти. Чтобы подготовить компьютер к таким «требованиям», мы, программисты, используем объявление переменных.
Мы говорим среде разработки: «Создай переменную a и присвой ей значение 5».
Наш «разговор» выглядит так:
int a = 5;
Чтобы программа понимала, что в переменную а сохранятся числа, мы указываем тип этой переменной. В нашем случае int (целое число). Знак «=» здесь не такой, как в математике — это оператор присваивания. Он кладёт в коробочку (переменную) a значение 5.
Типы переменных
Из курса алгебры и математики мы знаем, что числа бывают не только целыми, но и дробными. На компьютере мы работаем только с десятичными дробями. Поэтому для чисел используются два типа переменных:
При совершении логических операций мы получаем (возвращаем) логическое значение — ИСТИНА (true) или ЛОЖЬ (false). Для этого используются переменные специального типа boolean (булин).
А также поработаем со строками, с текстом. Для символов используется тип данных String. Он указывается с большой буквы.
String s = "Новая строка";
Команда вывода на экран (в консоль)
Какую бы программу мы ни сделали, нам, скорее всего, захочется увидеть результат её работы. Для этого в Java используются специальные команды.
System.out.println();
System.out.print();
Разница в два последних символа ln (элэн) дают понимание, где остановится наш курсор:
● ln после вывода переводит наш курсов на новую строчку;
● если же ln нет в конце, то следующий результат появится на той же строке, что и предыдущий.
Если мы планируем вывести какой-либо текст или набор символов, нужно воспользоваться двойными кавычками.
Если вывести на экран нужно только значение какой-нибудь переменной, указываем её внутри скобок без кавычек.
Рассмотрим пример:
public class Main {
public static void main(String[] args){
System.out.println("Привет!"); //1
System.out.print("Меня зовут"); //2
System.out.println("Лена"); //3
}
}
Результат такой простенькой программы:
Привет!
Меня зовутЛена
Как мы видим, последние две строчки кода вывелись в одну линию, т. к. в конце второй нет символов ln. Мы можем оставить и все три строчки кода, но тогда нужно добавить пробелы для получения красивого и правильно читаемого результата. Курсор же в конце переходит на новую строчку.
Исправим эти неточности и добавим Лене возраст, указав переменную age и присвоив этой переменной значение 12.
public class Main {
public static void main(String[] args){
int age = 12;
System.out.println("Привет!");
System.out.print("Меня зовут");
System.out.print(" Лена. Мне "+ age+ "лет.");
}
}
На экране появится:
Привет!
Меня зовут Лена. Мне 12лет.
(3) С применением чего и как в выводе на экран переменные соединяются с заранее запрограммированным текстом.
Если присмотреться, то и здесь есть что дополнить и поправить.
Важно! На экран всегда выводится строка данных, вне зависимости от того, какой тип переменной был до этого.
Заключение
Ура! Для улучшения результата закрепим, что мы узнали в этот раз.
- Java — не единственный, но простой и очень распространённый язык программирования.
- Чтобы быстрее создавать код программ, нужно использовать горячие клавиши. Часть команд среда разработки подскажет сама.
- В программировании производятся математические и логические действия.
- Для работы программ требуется создавать переменные.
- Переменные — это числа и буквы. Называть переменные лучше на английском и так, чтобы понимать, для чего она нужна.
- Любая надпись выводится на экран путём применения команд System.out.println или System.out.print.
- Люди везде кодируют информацию. Есть разные виды кодирования, например:
● двоичное (0 и 1);
● кодирование ASCII и т. д.
Русский алфавит — это тоже код.
8. Проекты с программами мы называем только английскими символами, без пробелов.
Практика
В этот раз мы охватили большой объём материала. Вот задачи, которые ты теперь точно сделаешь.
Выведи любой рисунок ASCII на экран.
Используй для этого горячие клавиши и копируй код из примеров ниже или интернета. В домашке нужно сделать только один рисунок!
a. Человечек, летящий на шарике.
..... (¯`v´¯)♥
.......•.¸.•´
....¸.•´
... (
☻/
/▌♥♥
//♥♥
b. Котик, выглядывающий из-за забора.
──────▄▀▄─────▄▀▄
─────▄█░░▀▀▀▀▀░░█▄
─▄▄──█░░░░░░░░░░░█──▄▄
█▄▄█─█░░▀░░┬░░▀░░█─█▄▄█
c. Инопланетянин и тарелка НЛО.
▒▒▄▀▀▀▀▀▄▒▒▒▒▒▄▄▄▄▄▒▒▒
▒▐░▄░░░▄░▌▒▒▄█▄█▄█▄█▄▒
▒▐░▀▀░▀▀░▌▒▒▒▒▒░░░▒▒▒▒
▒▒▀▄░═░▄▀▒▒▒▒▒▒░░░▒▒▒▒
▒▒▐░▀▄▀░▌▒▒▒▒▒▒░░░▒▒▒▒
d. Собака.
╥━━━━━━━━╭━━╮━━┳
╢╭╮╭━━━━━┫┃▋▋━▅┣
╢┃╰┫┈┈┈┈┈┃┃┈┈╰┫┣
╢╰━┫┈┈┈┈┈╰╯╰┳━╯┣
╢┊┊┃┏┳┳━━┓┏┳┫┊┊┣
╨━━┗┛┗┛━━┗┛┗┛━━┻
f. Мистер Краб.
▄▀─────────────▀▄
█▄█──█▀█─█▀█─▄█▄█
─▀██▄▀▄▀─▀▄▀▄██▀
░░░▄██▀███▀███▄
░▐▀█▀██▄▄▄██▀█▀▌
Это проверенные рисунки, они точно отобразятся в Java.
Больше рисунков здесь.
Имей в виду, что не все они могут сразу получиться красивыми. Часть из них придётся обрабатывать специальным образом.
Без лишних комментариев.
У тебя есть код, где закомментированы две строчки. Раскомментируй одну строчку, чтобы программа вывела на экран:
12
2
public class Main {
public static void main(String[] args) {
int x = 2;
int y = 12;
// y = x * y;
// y = x + y;
x = y - x;
y = y - x;
System.out.println(x);
System.out.println(y);
}
}
Не только «копировать — вставить».
Отредактируй код так, чтобы при запуске программа здоровалась с тобой лично.
Hello, Natalya!
public class Main {
public static void main(String[] args) {
String name = "Vasya";
String text = "Hello, " + name + "!";
System.out.println(text);
}
}
Генеральная уборка.
Убери лишние строки, чтобы в результате программы выводилось сообщение:
sum = 20
public class Main {
public static void main(String[] args) {
int a = 4;
int a = 10;
int b = 7;
int b = 12;
int sum = 1 + a + b;
int sum = 2 + a + b;
int sum = 9 + a + b;
int sum = 4 + a + b;
System.out.println("sum = " + sum);
*У вас осталось 12 попыток выучить Java.
Добавь команду вывода и знаки в формуле result так, чтобы на экране появилось:
У нас осталось: 12 занятий
Значения переменных изменять нельзя. Если есть необъявленные переменные, их надо объявить и задать им нужное значение.
public class Main {
public static int a = 2;
public static int b = 4;
public static int c = 18;
public static void main(String[] args) {
int result = a + b + c + d;
}
}
Вы завершили второй урок, узнали больше о языке Java и написали первый код. Сделайте всё практическое задание и поделитесь результатом в комментариях.