Java — популярный язык программирования, который в основном используется для
- Веб-приложения
- Мобильные приложения
- Настольные приложения
- Игры и многое другое..
Java был разработан Sun Microsystems в 1995 году. Джеймс Гослинг известен как отец Java. Ранее он был известен как Дуб.
Почему Ява?
Java не зависит от платформы, поэтому работает на различных платформах, будь то Windows, Mac, Linux и т. д. Он безопасен, с открытым исходным кодом и поддерживает концепции OOPS.
Java компилируется и интерпретируется
Байт-код — машинный язык, предназначенный для JVM.
JVM — виртуальная машина Java, представляющая собой программный интерпретатор. Он в основном преобразует скомпилированный двоичный байт-код в определенный машинный язык независимо от аппаратных и программных компонентов и конфигураций машины. Таким образом, Java является независимым от платформы языком.
Привет, мир на Java
class Main { public static void main(String[] args) { System.out.println("Hello World!"); } }
В Java каждый фрагмент кода, который выполняется, должен находиться внутри файла class
. Имя класса всегда должно начинаться с заглавной буквы в соответствии с pascal case.
public — это спецификатор доступа. Публичный означает, что он доступен глобально. Основной метод должен быть общедоступным, чтобы его можно было выполнить во время выполнения Java.
static — в основном это означает, что не требуется экземпляр для вызова основной функции.
void — возвращаемый тип, ничего не возвращает.
main — точка входа каждой Java-программы.
Аргументы String[] — также известные как аргументы командной строки Java, основной метод Java принимает один аргумент типа массива строк. Мы можем изменить имя args.
Система —это последний класс
out —это экземпляр типа printstream
println — распечатать операторы, а затем переместить курсор на следующую строку.
Как компилировать Java-программы
javac a.java
a.java → a.class (файл .class будет создан для каждого класса, присутствующего в a.java)
Команда, используемая для вывода
java a
Комментарии в Java
Комментарии — любой текст или заметки, написанные между двойными косыми чертами, будут игнорироваться Java, поэтому они не будут выполняться.
Однострочные комментарии с //
Многострочные комментарии с /* ... */
Переменные
Они определяются как контейнеры, которые содержат данные
Переменные могут иметь различные типы данных, то есть они будут содержать данные, специфичные для типа данных, например целое число.
например. инт а = 5; //a будет содержать только целочисленные значения
Типы данных
Он бывает двух видов
1. Примитивы — те, которые предопределены в java
- байт → занимает 1 байт (от -128 до 127), по умолчанию = 0
- короткий → занимает 2 байта ((-2¹⁶)/2 до 2¹⁶/2–1)), по умолчанию = 0
- int → занимает 4 байта ((-2³²)/2 до 2³²/2–1)), по умолчанию = 0
- long → занимает 8 байт, по умолчанию = 0
- float → занимает 4 байта, по умолчанию = 0.0f
- double → занимает 8 байт, по умолчанию = 0.0d
- char → занимает 2 байта, по умолчанию = ‘ ’
- boolean → занимает 1 бит (true или false), по умолчанию = false
2. Непримитивы — те, которые определяются пользователем
- Нить
- Множество
- Сорт
- Интерфейс
Объявление переменной
class Main { public static void main(String[] args) { int a = 5; float b = 3.23f; char c = 'A'; boolean d = true; double e = 93.232; byte f = 12; short g = 23; long h = 27398l; String name = "Arash Arora"; } }
Приведение типов — преобразование одного примитивного типа данных в другой.
- Расширение приведения — выполняется автоматически (от меньшего шрифта к большему размеру шрифта).
byte → short → char → int → long → float → double
- Сужение приведения — выполняется вручную (от большого типа данных к меньшему).
double → float → long → int → char → short → byte
Пример расширения приведения
int a = 9; double b = a;
Пример сужения приведения
double a = 9.423; int b = (int) a;
Операторы — которые используются для выполнения операций над операндами.
x = 100 + 50;
100, 50 → операнд
+ → оператор
Типы операторов
- Арифметические операторы
- +
- -
- *
- /
- %
- ++
- - -
- Операторы присваивания
- =
- +=
- -=
- *=
- /=
- Операторы сравнения
- ==
- !=
- >
- <
- ≥
- ≤
- Логические операторы
- &&
- ||
- !
- Побитовые операторы
- Shift влево → ‹‹ → 10‹‹2 → 10*2² = 40
- Правый Shift → ›› → 10››2 → 10/2² = 2
- ››› → для отрицательного числа изменяет бит четности (MSB) на 0
- &, | → проверяет оба условия независимо от того, является ли первое ложным
- Тернарные операторы
аб ? а: б; // в основном это означает, что если a›b, то вернуть a, иначе вернуть b
Ключевые слова — те слова, которые зарезервированы (предопределены)
бывший. логическое значение, int, break, byte и т. д.
Объекты — экземпляр класса
Через объекты мы можем получить доступ к переменным и методам класса. Он состоит из состояния (хранящегося в полях) и поведения (методов) класса.
Создание объекта
class Student { ... } class Main { public static void main(String[] args) { Student s = new Student(); //object for class Student } }
Использованная литература -
Он указывает на созданный объект, удерживает в памяти расположение объекта. Он создается одновременно с созданием объекта.
Чтение входных данных от пользователей
Мы будем использовать модуль Scanner пакета java.util, чтобы принимать данные от пользователей.
import java.util.Scanner; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); /*System.in refers to readm what we type from keyboard*/ int a = sc.nextInt(); //take input from user of type integer float b = sc.nextFloat(); double c = sc.nextDouble(); // as nextDouble() won't read new line characters thus if use // nextLine() to read a string, it would result into an empty // string as it will read that new line character, so we would use // nextLine() first and then read the string nextLine(); String s = nextLine(); boolean d = hasNextInt(); //returns true if the input is integer
Операторы управления
если еще
if(condition) { statements } else if(condition2) { statements } else { statements }
распределительный шкаф
switch(expression) { case value1 : ... break; case value2 : ... break; case value3 : ... break; default : ... }
для петли
for (initialization;condition;increment/decrement) { ... }
пока цикл
while(condition) { ... }
сделать цикл while — выполняется как минимум 1 раз
do { ... } while(condition);
для каждого — прямой доступ к элементам массива
for(type var: array) { ... }
Множество
Это набор однородных элементов, который имеет непрерывную ячейку памяти. Это структура данных, в которой мы храним одни и те же данные аналогичного типа.
Он имеет фиксированный размер, определяемый пользователем.
Мы можем хранить любые примитивные значения или объекты в массиве.
Типы массивов
- Одномерный
- Многомерный
Объявление массива (одномерного)
int[] arr; // declaration arr = new int[5]; //instantiation int[] arr = new int[5]; // declaration and instantiation int a[] = {33,3,4,5} // intialization
Объявление массива (многомерного)
int[][] arr = new int[3][3]; //3 rows & 3 columns arr[0][0]=1; arr[0][1]=2; ...
Jagged Array — массив массивов с разным количеством столбцов
int values[][] = new int[3][]; values[0] = new int[1]; values[1] = new int[3]; values[2] = new int[2]; for(int i=0;i<values.length;i++) { for(int j=0; j<values[i].length;j++) { values[i][j]=sc.nextInt(); } }