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 → операнд

+ → оператор

Типы операторов

  • Арифметические операторы
  1. +
  2. -
  3. *
  4. /
  5. %
  6. ++
  7. - -
  • Операторы присваивания
  1. =
  2. +=
  3. -=
  4. *=
  5. /=
  • Операторы сравнения
  1. ==
  2. !=
  3. >
  4. <
  • Логические операторы
  1. &&
  2. ||
  3. !
  • Побитовые операторы
  1. Shift влево → ‹‹ → 10‹‹2 → 10*2² = 40
  2. Правый Shift → ›› → 10››2 → 10/2² = 2
  3. ››› → для отрицательного числа изменяет бит четности (MSB) на 0
  4. &, | → проверяет оба условия независимо от того, является ли первое ложным
  • Тернарные операторы

аб ? а: б; // в основном это означает, что если 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) {
  ... 
}

Множество

Это набор однородных элементов, который имеет непрерывную ячейку памяти. Это структура данных, в которой мы храним одни и те же данные аналогичного типа.

Он имеет фиксированный размер, определяемый пользователем.

Мы можем хранить любые примитивные значения или объекты в массиве.

Типы массивов

  1. Одномерный
  2. Многомерный

Объявление массива (одномерного)

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();
  }
}