Skip to main content

Java в Първи Стъпки

Въведение в Java: Първи стъпки 👣

Примитивни Типове и Променливи 🔢

В програмирането използваме променливи - те са като кутии, където пазим информация. В Java, тези кутии се разделят на два вида: примитивни и референтни. Примитивните са по-прости и директно съхраняват стойности, докато референтните пазят адреси към места в паметта, където се намира истинската информация.

Примери за Примитивни Типове:

  • byte, short, int, long - за числа без десетични знаци.
  • float, double - за числа с десетични знаци.
  • boolean - за истина (true) или лъжа (false).
  • char - за единични символи като 'A' или '!'.

📌 Важно: Използвайте винаги най-малкия примитивен тип, който ви трябва, за да спестите памет!

Референтни Типове: Object и String 📦

В Java, референтните типове са тези, които съдържат референции към обекти в паметта, а не самите стойности на обектите.

Object:
  • Object е основният клас, от който наследяват всички други класове в Java. Всеки обект в Java имплицитно е или наследник на Object.
  • Object класът предоставя базови методи като toString(), equals(), hashCode(), и getClass().
Object obj = new Object();
System.out.println(obj.toString()); // Връща стринг представяне на обекта
String:
  • String е референтен тип и представлява поредица от символи. Въпреки че се държи като примитивен тип в много отношения, той всъщност е обект.
  • Стринговете в Java са неизменяеми (immutable), което означава, че веднъж създаден, низът не може да бъде променен.
String greeting = "Здравей, свят!";
Примитивни Типове и Референтни Типове:
  • Примитивните типове като int, char, double, са с малка буква и съхраняват директно стойностите си в паметта.
  • Референтни типове като String, Integer, Double са с главна буква и са класове, които съдържат методи и свойства.
int primitiveInt = 5; // Примитивен тип
Integer referenceInt = Integer.valueOf(5); // Референтен тип

Разбирането на разликата между примитивните и референтните типове е важно, защото влияе на начина, по който се управлява паметта и се работи с променливите в програмата.

Оператори и Изрази ➕➖✖️➗

Операторите са като действия, които можем да използваме върху променливите:

  • Унарни (само един участник): ++, --, +, -, ~, !, (тип).
  • Аритметични (за смятане): +, -, *, /, %.
  • Сравнение (за сравняване): <, <=, >, >=, ==, !=.
  • Логически (за комбиниране на истинност): &&, ||.

Вход и Изход от Конзолата 💻

Изход от конзолата:

За да покажете съобщение на потребителя, използвайте System.out.print() за прост текст или System.out.println() за текст с нов ред след него.

System.out.println("Учим Java с усмивка! 😄");

Ако искате да форматирате изхода, може да използвате System.out.printf() или System.out.format().

System.out.printf("Температурата е: %.2f градуса\n", 36.6);

Вход за конзолата:

Използвайте класа Scanner за да прочетете вход от потребителя.

Scanner scanner = new Scanner(System.in);
System.out.print("Как се казваш? ");
String name = scanner.nextLine();
System.out.println("Здравей, " + name + "!");

Цикли в Java 🔄

Циклите ни позволяват да повторим дадена част от кода без да го преписваме отново.

for Цикъл:

Идеален за случаите, когато знаем колко пъти трябва да се повтори действието.

for(int i = 1; i <= 10; i++) {
System.out.println("Число: " + i);
}

while Цикъл:

Използвайте, когато не сте сигурни колко пъти ще трябва да повторите действията.

int i = 1;
while(i <= 10) {
System.out.println("Число: " + i);
i++;
}

do...while Цикъл:

Сходен с while, но се гарантира, че действието ще се изпълни поне веднъж.

int i = 1;
do {
System.out.println("Число: " + i);
i++;
} while(i <= 10);

for-each Цикъл:

Предпочитан при обхождането на масиви и колекции.

String[] fruits = {"ябълка", "банан", "череша"};
for(String fruit : fruits) {
System.out.println("Плод: " + fruit);
}

Масиви в Java 📚

Масивите представляват колекция от елементи от един и същи тип.

Деклариране на Масив:

int[] myArray;

Инициализация на Масив:

myArray = new int[5];

Инициализация със стойности:

int[] myArray = {1, 2, 3, 4, 5};

Достъп до елементи:

int firstElement = myArray[0];

Многомерни Масиви:

int[][] myMatrix = new int[5][5];

Интересни Факти и Съвети 🌟

Специфични и Интересни Характеристики на Java:

  • Garbage Collection: Java автоматично управлява паметта, което означава, че обекти, които вече не се използват, автоматично се изтриват, за да освободят ресурси.
  • Платформена независимост: Кодът, написан в Java, се компилира в байткод, който може да се изпълнява на всяка машина с Java Virtual Machine (JVM), което прави Java идеална за крос-платформени приложения.
  • Reflection: Java позволява на програмите да анализират себе си в рантайм, което означава, че един Java програма може да изследва или "разгледа" своя собствен класов строеж.
  • Конкурентност: Java е един от езиците, които поддържат многонишково програмиране на езиково ниво, което позволява ефективно изпълнение на асинхронни операции и паралелни процеси.