Урок 2: Переменные и типы данных в Java
Введение: Почему компьютеру нужна "память"?
Представь, что ты играешь в компьютерную игру. У твоего персонажа есть имя, количество жизней, уровень и количество золота. Где-то же компьютер должен всё это запоминать? Правильно — в переменных!
Переменная — это как коробка с наклейкой. На наклейке написано название (например, "здоровье"), а внутри коробки лежит значение (например, 100). Если персонаж получает урон, мы открываем коробку "здоровье" и кладём туда новое число — 80.
Но есть важное правило: в каждую коробку можно класть только определённые вещи. В коробку "имя" нельзя положить число, а в коробку "количество жизней" — текст. Эти правила называются типами данных.
Теория: Типы данных в Java
Java — строго типизированный язык. Это значит, что ты обязан сказать компьютеру, какого типа данные ты будешь хранить в каждой переменной. Давай разберём самые популярные типы:
1. Целые числа (int)
int — самый популярный тип для целых чисел от -2 миллиардов до +2 миллиардов. Примеры: возраст, количество студентов, индекс массива.
2. Числа с дробной частью (double)
double — для чисел с плавающей точкой (дробей). Примеры: рост 1.75 метра, цена 99.99 рублей, средний балл 4.5.
3. Текст (String)
String — для строк текста. Всегда пишется в двойных кавычках " ". Примеры: имя "Анна", адрес "ул. Ленина, 5".
4. Логический тип (boolean)
boolean — может быть только true (истина) или false (ложь). Как выключатель: либо включено, либо выключено. Примеры: isGameOver, hasKey.
5. Одиночный символ (char)
char — один символ в одинарных кавычках ' '. Примеры: 'A', '7', '$'.
Важно! В Java есть и другие типы (byte, short, long, float), но на первых уроках мы будем использовать только эти пять. Они покрывают 99% задач новичка.
Как объявить переменную?
Чтобы создать переменную, нужно:
- Написать тип данных
- Придумать имя переменной
- Поставить знак = и написать значение
- Закончить строку точкой с запятой ;
Вот как это выглядит в коде:
// Объявляем переменную "возраст" типа int и кладём туда 15
int age = 15;
// Переменная "рост" типа double
double height = 1.68;
// Переменная "имя" типа String
String name = "Мария";
// Переменная "учится ли" типа boolean
boolean isStudent = true;
// Переменная "первая буква имени" типа char
char firstLetter = 'М';
После того как переменная объявлена, её можно использовать:
int age = 15;
System.out.println("Привет! Мне " + age + " лет.");
// Можно изменить значение:
age = 16; // Теперь age равно 16
System.out.println("Теперь мне " + age + " лет.");
Правила именования переменных
В Java есть строгие правила для имён переменных. Запомни их как таблицу умножения:
- Можно использовать: буквы (a-z, A-Z), цифры (0-9), символ подчёркивания (_) и знак доллара ($)
- Нельзя начинать с цифры:
1player— ошибка,player1— правильно - Нельзя использовать пробелы:
my age— ошибка,myAge— правильно - Регистр важен:
myAgeиmyage— разные переменные - Не используй зарезервированные слова:
int,class,publicи другие
Стиль именования (CamelCase)
Программисты договорились называть переменные в стиле camelCase (верблюжья нотация): первое слово с маленькой буквы, каждое следующее — с большой. Примеры:
playerHealth(здоровье игрока) — правильноplayer_health— тоже можно, но не в стиле JavaPlayerHealth— так называют классы, а не переменные
Примеры кода с комментариями
Давай напишем программу, которая использует все основные типы данных:
public class MyFirstVariables {
public static void main(String[] args) {
// ========== ЦЕЛЫЕ ЧИСЛА ==========
int lives = 3; // Количество жизней в игре
int score = 1500; // Текущий счёт
int level = 5; // Уровень персонажа
// ========== ДРОБНЫЕ ЧИСЛА ==========
double health = 85.5; // Здоровье в процентах (85.5%)
double speed = 12.75; // Скорость персонажа
// ========== ТЕКСТ ==========
String playerName = "Артём"; // Имя игрока
String gameTitle = "Космические рейнджеры"; // Название игры
// ========== ЛОГИКА ==========
boolean isAlive = true; // Жив ли персонаж?
boolean hasKey = false; // Есть ли ключ от двери?
// ========== СИМВОЛЫ ==========
char rank = 'A'; // Ранг игрока (A, B, C)
char currency = '$'; // Валюта в игре
// Теперь выведем всё на экран:
System.out.println("=== ИГРОВОЙ ПРОФИЛЬ ===");
System.out.println("Игрок: " + playerName);
System.out.println("Игра: " + gameTitle);
System.out.println("Уровень: " + level);
System.out.println("Жизни: " + lives);
System.out.println("Здоровье: " + health + "%");
System.out.println("Счёт: " + score);
System.out.println("Жив? " + isAlive);
System.out.println("Ранг: " + rank);
System.out.println("Валюта: " + currency);
}
}
Математические операции с переменными
С числами можно делать всё, что на уроке математики:
int a = 10;
int b = 3;
int sum = a + b; // 13 (сложение)
int diff = a - b; // 7 (вычитание)
int product = a * b; // 30 (умножение)
int quotient = a / b; // 3 (деление, но без остатка!)
int remainder = a % b; // 1 (остаток от деления)
System.out.println("Сумма: " + sum);
System.out.println("Разность: " + diff);
System.out.println("Произведение: " + product);
System.out.println("Частное: " + quotient);
System.out.println("Остаток: " + remainder);
Обрати внимание! Когда мы делим 10 на 3, получаем 3, а не 3.333. Потому что int хранит только целые числа. Если нужна дробная часть, используй double:
double x = 10.0;
double y = 3.0;
double result = x / y; // 3.3333333333333335
System.out.println("Точное деление: " + result);
Конкатенация строк (склеивание)
Строки можно складывать (это называется конкатенация):
String firstName = "Иван";
String lastName = "Петров";
String fullName = firstName + " " + lastName; // "Иван Петров"
System.out.println("Полное имя: " + fullName);
// Можно смешивать строки и числа:
int age = 14;
String message = "Меня зовут " + firstName + ", мне " + age + " лет.";
System.out.println(message);
Практика: Разбираем реальный пример
Представь, что мы пишем программу для калькулятора пиццы. Нужно посчитать, сколько кусочков достанется каждому другу:
public class PizzaCalculator {
public static void main(String[] args) {
// Исходные данные:
int totalSlices = 8; // Кусочков в пицце
int friends = 3; // Сколько друзей?
int mySlices = 2; // Сколько хочу я?
// Сколько останется друзьям?
int slicesForFriends = totalSlices - mySlices;
// Сколько кусочков каждому другу?
int perFriend = slicesForFriends / friends;
// Останется ли что-то?
int remaining = slicesForFriends % friends;
// Выводим результат:
System.out.println("Всего кусочков: " + totalSlices);
System.out.println("Я беру: " + mySlices);
System.out.println("Друзьям остаётся: " + slicesForFriends);
System.out.println("Каждому другу по: " + perFriend + " кусочка");
System.out.println("Останется: " + remaining + " кусочек");
// Проверяем, хватит ли всем:
boolean enough = (perFriend > 0);
System.out.println("Всем хватит? " + enough);
}
}
Типичные ошибки новичков
Вот что чаще всего идёт не так:
- Забыли точку с запятой — самая частая ошибка! Каждая команда в Java заканчивается
; - Не объявили переменную — нельзя написать
age = 15;, если до этого не написалиint age; - Не тот тип — нельзя положить текст в int:
int x = "привет";— ошибка - Имя с цифры —
int 1player = 5;— так нельзя - Путают = и == —
=это присваивание,==это сравнение
Практические задания
Теперь твоя очередь! Попробуй выполнить эти задания. Если что-то не получается — перечитай урок ещё раз.
Задание 1: Анкета пользователя
Создай программу, которая хранит и выводит:
- Имя (String)
- Возраст (int)
- Рост в метрах (double)
- Любимый цвет (String)
- Хобби (String)
Выведи всё в формате: "Привет! Меня зовут [имя], мне [возраст] лет. Мой рост [рост] м. Я люблю [цвет] и моё хобби — [хобби]."
Задание 2: Калькулятор покупок
У тебя есть 500 рублей. Ты купил:
- Ручку за 45.50 руб
- Тетрадь за 120 руб
- Ластик за 25 руб
Посчитай:
- Общую сумму покупки
- Сколько денег осталось
- Хватит ли оставшихся денег на шоколадку за 150 рублей (выведи true/false)
Задание 3: Игровой персонаж
Создай переменные для персонажа RPG-игры:
- Имя персонажа
- Уровень (int, начни с 1)
- Здоровье (int, максимум 100)
- Мана (int, максимум 50)
- Класс (String: "Воин", "Маг" или "Лучник")
- Есть ли особый навык (boolean)
Выведи красивую карточку персонажа.
Задание 4: Конвертер валют
Допустим, 1 доллар = 75 рублей. У тебя есть 50 долларов. Посчитай:
- Сколько это рублей?
- Если курс вырос до 78 рублей, сколько теперь?
- На сколько рублей изменилась сумма?
Задание 5 (сложное): Школьный журнал
Создай программу, которая хранит оценки ученика по трём предметам:
- Математика: 5, 4, 5, 3
- Русский язык: 4, 4, 5, 5
- Литература: 5, 5, 5, 4
Посчитай и выведи:
- Средний балл по каждому предмету (используй double для точности)
- Общий средний балл
- Является ли ученик отличником (средний балл >= 4.5)?
Совет: Не пытайся сделать всё идеально с первого раза. Программирование — это пробы и ошибки. Если код не работает, прочитай сообщение об ошибке — оно часто подсказывает, что не так!
Итог урока
Сегодня мы узнали:
- Переменные — это коробки для хранения данных
- Типы данных — определяют, что можно хранить: int (числа), double (дроби), String (текст), boolean (да/нет), char (символ)
- Объявление переменной:
тип имя = значение; - Имена переменных — без пробелов, с маленькой буквы, в стиле camelCase
- Операции: +, -, *, /, % для чисел и + для строк
На следующем уроке мы научимся принимать решения с помощью условных операторов if-else. А пока — практикуйся с переменными! Чем больше напишешь кода, тем быстрее запомнишь.
Удачи в программировании! 🚀