Java – очень популярный язык программирования. Java можно использовать для разработки чего угодно и почти всего, например веб-приложений, веб-серверов, серверов приложений, мобильных приложений и так далее
Основы
Пример программы Java
import java.util.Date; public class HelloWorld { public static void main(String[] args) { Date now = new Date(); System.out.println("Hello World!"); System.out.println("now: " + now); } }
- импорт – используется для импорта библиотек java
- ключевое слово class – для объявления класса в java.
- модификатор публичного ключевого слова – доступа представляет видимость. Общественность видна всем.
- статическое ключевое слово – нет необходимости создавать объект для вызова статического метода. Нет необходимости создавать объект для вызова метода main, он вызывается JVM и экономит память.
- void – возвращаемый тип метода, и он не возвращает никакого значения.
- главное – отправная точка программы.
- Строка[] аргументов – для аргументы командной строки
- System.out.println() – используется для печати инструкции.
Для Компиляции программа на Java
Перейдите в командную строку и перейдите в папку, в которой хранятся файлы java.
javac example.java
Для запуска Java-программы
java example
Комментарии
//
– однострочный комментарий
Типы данных
Две группы типов данных
1. Примитивные типы данных
4 байта | -2,147,483,648 до 2,147,483,647 | инт | используется для хранения целых чисел |
2 байта | -32,768 до 32,767 | короткий | используется для хранения целых чисел |
8 байт | -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 | длинный | используется для хранения целых чисел |
1 байт | -128 до 127 | байт | используется для хранения целых чисел |
4 байта | от 6 до 7 десятичных цифр | плыть | используется для хранения дробных чисел |
8 байт | 15 десятичных цифр | двойной | используется для хранения дробных чисел |
1 бит | либо правда, либо ложь | логический | может хранить либо истину, либо ложь |
2 байта | один персонаж | обуглить | используется для хранения одного символа |
Примеры
int x = 99999; short x = 999; long x = 99999999999L; byte x = 99; double x = 99.99d; boolean isAvailable = true; char division = 'A';
2. Непримитивные типы данных
Непримитивные типы данных определяют значения сложных данных. Например, строки, массивы и классы могут быть отнесены к непримитивным типам данных.
Переменные
data-type variable-name = value;
Соглашение об именовании переменных
- Чувствительный к регистру.
- Должно начинаться с
строчной буквы
. Для второго слова должна быть заглавная буква, например: имя, pin-код и т.д. - Не может содержать пробелов, таких как имя.
- специальные символы, такие как
$
и_
можно использовать для начала имени переменной.
Типы переменных
- Локальные переменные
- Переменные экземпляра
- Статические переменные
Class Sum { int n1 = 10; // value of Instance Variables are are instance specific. static int n2 = 20; //static variable is Common for all the instances of the class. void sum(){ int n3 = 30; //local variable and they are Inside the body of a method. int total = n1+n2+n3; } }
Преобразования данных
- Строка для числа
int.Синтаксический анализ(str); двойной.Парседубль(улица);
- Другие типы для строки
String.valueOf(значение);
Операторы
+ , – , * , / , % | Арифметический оператор |
< , > , <= , >=, != , == | оператор сравнения |
& , ^ , | | Побитовый оператор |
&& , ||, ! | Логический оператор |
= , += , -= , *= , /= , %= | Оператор присваивания |
++ , — | Операторы автоматического увеличения и автоматического уменьшения |
? : | Троичный оператор |
Массивы
Массив – это набор однотипных данных, которые хранятся в адресах непрерывной памяти.
data-type[] array-name; // one dimensional array data-type[][] array-name; // two dimensional array
Пример
String[] mobiles = {"iPhone", "Samsung", "OnePlus"}; for (int i = 0; i < mobiles.length; i++) { System.out.println(mobiles[i]); } mobiles[1] = "Oppo"; // change an array element
Условные операторы
1. Если
if(conditional-expression) { //code }
2. Если-еще
if(conditional-expression) { //code } else { //code }
3. Если-иначе-если лестница
if(conditional-expression-1) { //code } else if(conditional-expression-2) { //code } else if(conditional-expression-3) { //code } .... else { //code }
4. Вложенный – Если
if(conditional-expression-1) { //code if(conditional-expression-2) { //code if(conditional-expression-3) { //code } } }
5. Переключатель
switch(conditional-expression){ case value1: //code break; //optional case value2: //code break; //optional ... default: //code to be executed when all the above cases are not matched; }
Петли
1. Для
for(Initialization; Condition; Increment/decrement){ //code }
2. Пока
while(condition){ //code }
3. Делать- Пока
do{ //code }while(condition);
Коллекции
Набор | Набор – это набор элементов, которые не могут содержать повторяющихся значений. Набор реализован в Hashset, Linkedhashset, наборе деревьев и т.Д |
Список | Список – это упорядоченный набор элементов, которые могут иметь дубликаты. Списки классифицируются на ArrayList, LinkedList, Векторы |
Очередь | Подход FIFO, при создании интерфейса очереди вы можете выбрать либо Связанный список, либо Очередь с приоритетом. |
Деке | Deque (Двусторонняя очередь) используется для добавления или удаления элементов с обоих концов очереди (как в начале, так и в конце). |
Карта | Карта содержит пары ключ-значение, которые не имеют дубликатов. Карта реализована в HashMap, TreeMap и т.д. |
Строковые методы
символ charAt (индекс int) | ул.Чарат(0) ////отпечатки | возвращает значение символа по определенному индексу |
int сравнение(строка str) | Str1.Сравнение(Str2) //возвращает 0 если str1 и str2 равны | для сравнения двух строк лексикографически |
длина int() | длина улицы() | возвращает длину строки |
статический строковый формат (Строковый формат, Объект… аргументы) | Строка.формат (“Строка равна %s”,str); | возвращает форматированную строку. |
Строковая подстрока(int beginIndex, int endIndex) | строчная подстрока(0,3) //печатает один | для возврата подстроки из заданного начального индекса в конечный индекс. |
Строковая подстрока(int beginIndex) | ул.подстрока(3) //печатает компилятор | для возврата подстроки из заданного начального индекса |
логическое значение содержит(последовательность символов) | str.содержит(“компилятор”) // возвращает значение true | возвращает значение true или false после сопоставления последовательности, указанной в строке |
статическое соединение строк (разделитель последовательности символов, последовательность символов… элементы) | String.join(“..”, “Привет”, “Счастлив”, “Обучение”); //возвращает Привет.. Счастливый.. Обучение | возвращает объединенную строку. |
логическое значение равно (объект другой) | str1.равно(str2); | проверяет равенство строки с другой и возвращает true, если они равны. |
логическое значение пусто() | str.isEmpty() // возвращает значение false | чтобы проверить, является ли данная строка пустой. |
Объединение строк(String str) | str.concat(“используется для компиляции кода онлайн”) | объединяет предоставленную строку с другой строкой. |
Замена строки (символ старый, символ новый) | str.заменить(‘r’,’t’); | заменяет все вхождения указанного значения символа новым значением символа. |
Замена строки (последовательность символов старая, последовательность символов новая) | str.заменить (“один”, “Онлайн”) ; | заменяет все вхождения определенной последовательности символов на новую. |
статическая строка equalsIgnoreCase(Строка другая) | str1.Случай равенства значений(str2) | сравнивает другую строку без учета регистра. |
Разделение строки[](регулярное выражение строки, ограничение int) | str.split(“\s”)//разбивает строку на основе пробелов | возвращает разделенную строку, соответствующую регулярному выражению и ограничению. здесь ограничение не является обязательным |
int indexOf(строковая подстрока, int изmindex) | str.Индекс (“компилятор”, 2) ; | возвращает указанный индекс подстроки, начинающийся с заданного индекса. здесь индекс необязателен |
Строка в нижнем регистре() | улица в нижнем регистре(); | возвращает строку в нижнем регистре. |
Строка в верхнем регистре() | str.Заглавный(); | возвращает строку в верхнем регистре. |
Отделка струн() | ул.отделка(); | удаляет начальные и конечные пробелы заданной строки. |
ой
1. Класс
Класс – это схема объекта и класса
ключевое слово требуется для создания класса.
class class_name { fields; methods; }
2. Объект
Объект является базовой единицей в ООП и является экземпляром класса.
class_name obj_name;
3. Абстракция
Абстракция данных – это метод, который предоставляет только необходимые данные, которые должны быть видны или доступны для внешнего мира. абстрактное
ключевое слово используется для классов и методов.
abstract class Mobiles { // abstract class public abstract void features(); // abstract method public void method-name() { //code } }
4. Инкапсуляция
Инкапсуляция – это механизм защиты частной информации от других пользователей. Он объединяет данные и методы в единый пакет. private
– это ключевое слово, используемое для объявления переменных или методов как закрытых. Вы можете сделать общедоступным установить
и получить
методы для доступа к закрытым переменным.
5. Полиморфизм
Полиморфизм придает значению множество форм, обычно это происходит, когда присутствует несколько классов и они были унаследованы.
class Child-class extends Parent-Class { //code }
Оригинал: “https://dev.to/lakpa/java-programming-language-basics-concepts-1140”