Переменные и типы данных
В программах мы работаем с данными: числа, текст, ответы «да/нет». Переменная – это именованное место, где хранится значение.
В Java у каждого значения есть тип. Тип пишется перед именем переменной.
Основное
Шаблон объявления переменной:
Чаще всего хватает пяти типов:
| Что храним | Тип | Примеры значений |
|---|---|---|
| Целые числа | int |
0, 7, -3, 2025 |
| Дробные числа | double |
3.14, 0.5, -2.75 |
| Ответы «да/нет» | boolean |
true, false |
| Один символ | char |
'A', '7', '+' |
| Текст | String |
"Привет", "Java" |
Примеры
int count = 10;
double price = 19.99;
boolean ok = true;
char letter = 'J';
String title = "Типы данных";
Можно сначала объявить, потом присвоить:
Строки можно склеивать с числами через + – числа автоматически превращаются в текст:
Мини-программа
import java.util.Scanner;
public class DataTypesDemo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String name = in.nextLine();
int age = in.nextInt();
double avg = in.nextDouble();
System.out.println("Имя: " + name);
System.out.println("Возраст: " + age);
System.out.println("Средний балл: " + avg);
}
}
В C++ тип пишется перед именем переменной. Для текста обычно используют std::string.
Основное
Шаблон объявления переменной:
Чаще всего хватает таких типов:
| Что храним | Тип | Примеры значений |
|---|---|---|
| Целые числа | int |
0, 7, -3, 2025 |
| Дробные числа | double |
3.14, 0.5, -2.75 |
| Ответы «да/нет» | bool |
true, false |
| Один символ | char |
'A', '7', '+' |
| Текст | std::string |
"Привет", "C++" |
Примеры
int count = 10;
double price = 19.99;
bool ok = true;
char letter = 'J';
std::string title = "Типы данных";
Мини-программа
В Python переменной не нужно заранее задавать тип. Тип определяется по присваиванию.
Основное
Шаблон присваивания:
Чаще всего хватает таких типов:
| Что храним | Тип | Примеры значений |
|---|---|---|
| Целые числа | int |
0, 7, -3, 2025 |
| Дробные числа | float |
3.14, 0.5, -2.75 |
| Ответы «да/нет» | bool |
True, False |
| Текст | str |
"Привет", "Python" |
Отдельного типа char нет – один символ тоже хранится в str:
Примеры
Строки можно склеивать с числами, но число нужно превратить в текст:
Мини-программа
Как задаётся тип
| Язык | Как получается тип | Плюсы | Минусы |
|---|---|---|---|
| Java | Тип пишется явно: int x = 5; |
меньше случайных ошибок, код читается однозначно | иногда нужно явно приводить тип |
| C++ | Тип пишется явно: int x = 5; |
быстро, гибко, много вариантов типов | больше деталей и «острых углов» |
| Python | Тип выводится из значения: x = 5 |
писать быстрее | ошибки типов часто видны только при запуске |
Какие типы встречаются чаще всего
| Что храним | Java | C++ | Python |
|---|---|---|---|
| Целые числа | int (для больших – long) |
int (для больших – long long) |
int |
| Дробные числа | double |
double |
float |
| Ответ «да/нет» | boolean (true/false) |
bool (true/false) |
bool (True/False) |
| Один символ | char |
char |
отдельного типа нет, используют str длины 1 |
| Текст | String |
std::string |
str |
Примеры одного и того же
Java:
C++:
Python:
Склейка текста и числа
Java и C++: обычно удобно выводить через поток/println – число преобразуется автоматически.
Python: при склейке через + число нужно превратить в строку.
На что чаще всего натыкаются
В Java и C++ забывают, что тип фиксируется в момент объявления: в int нельзя хранить дробь.
В Python забывают преобразование ввода: input() даёт строку, и для числа нужно int(...) или float(...).