В этом блоге с учебным пособием по Java я познакомлю вас с некоторыми основными концепциями Java. Но прежде чем двигаться дальше, я предлагаю вам ознакомиться с тем, что такое Java, функциями Java и как установить Java в свою систему. Это поможет вам быстро и легко усвоить новые концепции.

Теперь давайте продолжим в этом блоге с учебным пособием по Java, где мы разберемся с каждым аспектом Java в следующей последовательности:

  • Программа Hello World
  • Переменные-члены в Java
  • Типы данных и операторы
  • Контрольные отчеты
  • Классы и объекты
  • Структура программы
  • Массивы
  • Концепция ООП - наследование, инкапсуляция, полиморфизм, абстракция

Давайте начнем с первой темы в блоге Java Tutorial - Hello World Program.

Программа Hello World

Прежде всего, я дам вам простой обзор того, как выглядит программа на Java. В приведенном ниже коде я создал класс MyFirstJavaProgram и напечатал «Hello World». Продолжайте и попробуйте выполнить приведенный ниже пример в своей Eclipse IDE. Не волнуйтесь, мы обсудим класс Java через некоторое время.

public class MyFirstJavaProgram {
       public static void main(String[] args)
   {
    System.out.println("Hello World");
   }
}

Затем давайте разберемся с различными переменными-членами в Java.

Переменные-члены

Переменная-член играет важную роль в классе, поскольку она используется для хранения значения данных. Когда мы определяем класс, мы можем объявить переменную-член. Эти переменные являются членами класса.
Переменные-члены подразделяются на три типа:

  • Локальная переменная
  • Переменная экземпляра
  • Класс / статическая переменная

Позвольте мне обсудить каждый из них:

Локальная переменная:

Это переменные, которые объявлены в методе класса. Давайте разберемся в этом на программном примере:

public class Car {
      public void display(int m){  // Method
            int model=m;        // Created a local variable model
            System.out.println("Model of the car is" +model);
     }

В приведенном выше коде моей локальной переменной является «модель», которую я объявил внутри метода «display», который имеет параметр «m».

Переменная экземпляра:

Переменная экземпляра объявляется в классе, но вне метода, конструктора или любого блока. Давайте разберемся в этом на программном примере.

public class Car {
      public String color;     // Created an instance variable color
     
Car(String c)
   {
    color=c;
   }
 
public void display() {  // Method 
      System.out.println("color of the car is"+color);
   }
 
public static void main(String args[]){
              Car obj=new Car("black");
                obj.display();
       }
}

В приведенном выше коде «цвет» - это моя переменная экземпляра, с которой связано значение «черный».

Переменная класса:

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

public class Car {
      public static int tyres;   // Created a class variable tyres
        public static void main(String args[]){
           tyres=4;
           System.out.println("Number of tyres are"+tyres);
        }
}

У всех машин должно быть 4 шины, верно? Итак, в моем приведенном выше коде я объявил статическую переменную как «шина», значение которой остается неизменным во всем классе.

Давайте продолжим в этой статье и рассмотрим нашу следующую тему, то есть типы данных и операторы в Java.

Типы данных

Тип данных используется для представления различных значений, которые хранятся в переменной. В основном они подразделяются на 4 различных аспекта - I числовое, плавающее, символьное, и логическое. Вы можете обратиться к изображению ниже, чтобы понять различные типы данных в отношении выделенной им памяти.

Как вы можете видеть на изображении выше, типы данных бывают четырех основных типов.

  • Первый тип данных - это Integer, в котором хранится числовое значение.
  • Теперь, если числовое значение содержит десятичную часть, оно будет называться float.
  • Затем, если вы хотите сохранить символ, используется третий тип данных, то есть char. В char вы можете хранить любой алфавитный символ, а также специальный символ.
  • Последний тип данных - Boolean, который хранит только «истинное» или «ложное» значение.

Давайте продвинемся вперед и рассмотрим различные операции с данными, которые вы можете выполнять в Java.

Операторы данных

В основном существует 4 различных типа операторов, которые перечислены ниже:

  • Арифметический оператор: Выполняйте арифметические операции, такие как сложение, вычитание, умножение, деление и модуль.
  • Унарный оператор. Унарные операторы используются для увеличения или уменьшения определенного значения. Например: ++ означает инкремент, - - декремент.
  • Оператор отношения: он определяет некую связь между двумя объектами. Например: ‹,›, ‹=,› =,! =, ==.
  • Логический оператор. Логические операторы обычно используются с логическими (логическими) значениями.

Затем давайте продвинемся вперед и разберемся с концепцией управляющих операторов.

Управляющие заявления

Управляющие операторы - это операторы, которые определяют ход вашей программы. В Java есть 3 типа управляющих операторов: Выбор, итерация и операторы перехода.

Давайте посмотрим на эти управляющие утверждения один за другим.

Заявления о выборе:

Операторы выбора позволяют вам управлять ходом программы во время выполнения на основе результата выражения или состояния переменной. Например: вы хотите съесть пиццу, но тогда где вы можете получить эту пиццу по лучшей цене. Вы можете выбирать между различными популярными заведениями, такими как Domino’s, Pizza Hut или любой другой ресторан. Итак, здесь вы следуете процессу выбора из различных доступных вариантов.

Теперь эти утверждения можно разделить на следующие:

  • Операторы If-else
  • Операторы переключения

Обратитесь к следующей блок-схеме, чтобы лучше понять операторы if-else:

На этой блок-схеме код будет реагировать следующим образом:

  1. Прежде всего, он войдет в цикл, где проверяет условие.
  2. Если условие истинно, будет выполнен набор операторов в части «if».
  3. Если условие ложно, будет выполнен набор операторов в части else.

Здесь вы, должно быть, получили представление о том, как работают эти операторы if-else. Теперь, как мы можем использовать эти операторы в Eclipse IDE? Посмотрим на код:

public class Compare {
     int a=10,
     int b=5;
  
if(a>b)
      {  // if condition
     System.out.println(" A is greater than B");
      }
else
      {     // else condition
      System.out.println(" B is greater");
      }
}

В приведенном выше коде я создал класс Compare, в котором сравнил два числа «a» и «b». Прежде всего, он перейдет в состояние «если», где проверяет, больше ли значение «а», чем «b» или нет. Если условие истинно, он напечатает «A больше, чем B», иначе он выполнит «B больше».

Далее у нас есть инструкция Switch case. Оператор switch определяет несколько путей для выполнения набора операторов. Это лучшая альтернатива, чем использование большого набора операторов if-else, поскольку это оператор ветвления с несколькими направлениями.

Обратитесь к следующей блок-схеме, чтобы лучше понять операторы switch:

В этой блок-схеме Switch case код будет отвечать в следующих шагах:

  1. Прежде всего, он войдет в корпус переключателя, у которого есть выражение.
  2. Затем он переходит к условию Case 1, проверяет значение, переданное в условие. Если это правда, блок Statement будет выполнен. После этого он вырвется из корпуса переключателя.
  3. Если он ложный, он перейдет к следующему случаю. Если условие случая 2 истинно, он выполнит оператор и выйдет из этого случая, иначе он снова перейдет к следующему случаю.
  4. Теперь предположим, что вы не указали ни один регистр или пользователь неправильно ввел данные, тогда он перейдет к случаю по умолчанию, где он распечатает ваш оператор по умолчанию.

Опять же, если мы посмотрим на код операторов switch в IDE, вот он:

public class SwitchExample { 
     int week=7;
     String weeknumber;
 
switch(week){    // switch case
case 1:
          weeknumber="Monday";
       break;
     
case2:
          weeknumber="tuesday";
       break;
 
case3:
          weeknumber="wednesday";
       break;
 
default:        // default case
          weeknumber="invalid week";
       break;
     }
  System.out.println(weeknumber);
     } 
}

В приведенном выше коде я создал класс SwitchExample, который имеет 3 случая, которые печатают дни недели. У него также есть регистр по умолчанию, который выполняется всякий раз, когда пользователь не указывает регистр.

Завершая оба оператора выбора, мы поняли, что если мы сравниваем два оператора, мы используем if-else, но, допустим, если вы сравниваете конкретное значение с конкретным оператором, то мы выбираем оператор Switch.

Далее идет еще один набор управляющих операторов, то есть Операторы итерации.

Операторы итерации:

В Java эти операторы обычно называются циклами, поскольку они используются для перебора небольших фрагментов кода. Операторы итерации предоставляют следующие типы циклов для обработки требований цикла.

Давайте разберемся с каждым из них подробно:

Заявление пока:

Повторяйте группу утверждений, пока выполняется заданное условие. Он проверяет условие перед выполнением тела цикла. Давайте разберемся с этим лучше с помощью блок-схемы:

На этой блок-схеме код будет отвечать в следующих шагах:

  1. Прежде всего, он войдет в цикл, где проверяет условие.
  2. Если это правда, он выполнит набор кода и повторит процесс.
  3. Если установлено значение False, выполняется прямой выход из цикла.

Теперь давайте посмотрим, как вы можете реализовать код в IDE.

public class WhileExample {
      public static void main(String args[]) {
         int a=5;
   while(a<10)   //while condition
         {
         System.out.println("value of a" +a);
         a++;
   System.out.println("\n");
         }
    }
}

В приведенном выше коде сначала проверяется условие, является ли значение a меньше 10 или нет. Здесь значение a равно 5, что, в свою очередь, удовлетворяет условию и, таким образом, выполняет функции.

Оператор do-while:

Это похоже на оператор while, но он проверяет условие в конце тела цикла. Кроме того, он выполнит программу хотя бы один раз. Давайте разберемся с этим лучше с помощью блок-схемы:

На этой блок-схеме выполнения код будет отвечать в следующих шагах:

  1. Прежде всего, он выполнит набор операторов, упомянутых в вашем блоке «do».
  2. После этого он перейдет к части «while», где проверяет условие.
  3. Если условие истинно, он вернется и выполнит инструкции.
  4. Если условие ложно, он выйдет из цикла напрямую.

Давайте посмотрим, как можно реализовать код в IDE.

public class DoWhileExample {
      public static void main(string args[]){
          int count=1;
do {                        // do statement
     System.out.println("count is:"+count);
     count++;
   }
 while (count<10)            // while condition
       }
  }

В приведенном выше коде сначала выполняется инструкция «do», а затем выполняется переход к части while. В этой программе вывод будет следующим: 1 2 3 4 5 6 7 8 9.

Для выписки:

Оператор For выполняет последовательность операторов несколько раз, где вы можете управлять переменной цикла. В основном у вас есть 3 операции: инициализация, условие и итерация. Давайте разберемся с этим лучше с помощью блок-схемы:

На этой блок-схеме код будет отвечать в следующих шагах:

  1. Прежде всего, он войдет в цикл, где проверяет условие.
  2. Затем, если условие истинно, будут выполнены операторы.
  3. Если условие ложно, он напрямую выходит из цикла.

Давайте посмотрим, как можно реализовать код в IDE.

public class ForExample {
      public static void main(String args[]) {
          for(int i=0; i<=10; i++)  // for condition  
          {
          System.out.println(i);
          }
     }
}

В приведенном выше коде он будет напрямую печатать числа от 1 до 10.

Последний тип управляющих операторов, которые мы обсудим, - это Jump Statement.

Оператор перехода:

Операторы перехода используются для передачи управления другой части вашей программы. Далее они подразделяются на - break и continue.

Давайте узнаем о них подробнее:

Заявление о прерывании:

Каждый раз, когда используется оператор break, цикл завершается, и управление программой возвращается к следующему оператору, следующему за циклом. Давайте разберемся с этим лучше с помощью блок-схемы:

На этой блок-схеме код будет реагировать на следующих этапах:
1. Прежде всего, он войдет в цикл, где он проверяет условие.

2. Если условие цикла ложно, он напрямую выходит из цикла.

3. Если условие истинно, тогда будет проверено условие разрыва.

4. Если условие прерывания истинно, оно существует из цикла.

5. Если условие прерывания ложно, оно выполнит операторы, оставшиеся в цикле, а затем повторит те же шаги.

Синтаксис этого оператора - просто ключевое слово «break», за которым следует точка с запятой.

Заявление о продолжении:

Оператор Continue - это еще один тип операторов управления. Ключевое слово continue заставляет цикл немедленно перейти к следующей итерации цикла. Давайте разберемся с этим лучше с помощью блок-схемы:

На этой блок-схеме код будет отвечать в следующих шагах:

1. Прежде всего, он войдет в цикл, где проверяет условие.

2. Если условие цикла ложно, он напрямую выходит из цикла.

3. Если условие цикла истинно, он выполнит операторы блока 1.

4. После этого он проверит наличие оператора «продолжить». Если он присутствует, то последующие операторы не будут выполняться в той же итерации цикла.

5. Если оператор «continue» отсутствует, все последующие операторы будут выполнены.

Синтаксис - это просто ключевое слово «continue», за которым следует точка с запятой.
Теперь давайте посмотрим, что такое классы и объекты в Java.

Классы и объекты

Класс в Java - это план, который включает в себя все ваши данные. Класс содержит поля (переменные) и методы для описания поведения объекта. Давайте посмотрим на синтаксис класса.

class Abc {
      member variables // class body
        methods
 }

Но как получить доступ к этим переменным-членам и методам? А вот и концепция объекта.

Объект - это главный элемент класса, который имеет состояние и поведение. Это экземпляр класса, который может получить доступ к вашим данным. Давайте посмотрим на синтаксис для создания объекта в Java:

Здесь Student - это имя вашего класса, за которым следует имя объекта. Затем есть ключевое слово «new», которое используется для выделения памяти. Наконец, есть вызов конструктора. Этот вызов инициализирует новый объект.
Теперь давайте посмотрим, как можно вызвать метод с помощью объекта в Java:

class Student()
      void display(); {            // Method
     ------                           // logic of method
}
public static void main(String args[]){
      Student obj=new Student();   // Created an object
      obj.display();               // Method called
}

Затем давайте продолжим в нашем блоге с учебными пособиями по Java, где мы обсудим еще одну ключевую концепцию, то есть массивы.

Массивы

Массивы в Java похожи на массивы C ++ или любого другого языка программирования. Массив - это структура данных, которая содержит последовательные элементы одного и того же типа.

Допустим, вы хотите сохранить 50 номеров. Вместо объявления отдельных переменных, таких как number0, number1,… и так далее. Вы можете объявить одну переменную массива - «числа» и использовать число [0], число [1] для представления отдельных переменных. Это упростит вашу задачу и минимизирует избыточность.

Каждый массив состоит из двух компонентов: индекса и значения. Обратитесь к изображению ниже для лучшего понимания:

Здесь индексирование начинается с нуля и продолжается до (n-1), где n = размер массива. Допустим, вы хотите сохранить 10 чисел, тогда индексация начинается с нуля и продолжается до 9.

В Java есть два типа массивов:

  • Одномерный массив
  • Многомерный массив

Одномерный массив:

В одномерном массиве к списку переменных одного типа можно получить доступ по общему имени. Вы можете инициализировать массив, используя следующий синтаксис:

int a [] = новый int [12];

Вы можете обратиться к изображению ниже, где я сохранил данные по данному индексу.

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

В многомерном массиве ваши данные хранятся в матричной форме. Здесь вы можете инициализировать массив, используя следующий синтаксис:

int table [] [] = новый int [4] [5];

Она очень похожа на матрицу, которую мы используем в математике. Обратитесь к изображению ниже, где я сохранил данные по разным размерам.

Таким образом, массивы помогают вам оптимизировать код, в который вы можете вставлять данные в любом месте.

Давайте посмотрим на приведенный ниже код, чтобы понять концепцию массива в Java.

import java.util.*;
public class ArrayExample {
      public static void main( String args[])
     {
     double invoice[][]= new double[10][2];  // Initializing array
          Scanner obj= new Scanner(System.in);    // creating a scanner object to take input from user
          for(i=0;i<10;i++){                       // nested for loops
              for(j=0;j<2;j++);
               {
               System.out.println("Enter the value");
               invoice[i][j]=obj.nextDouble();         // store values to array    
          for(i=0;i<10;i++){
              for(j=0;j<2;j++)
               {
                System.out.println(invoice[i][j]);
               }
         }
     }
}

В приведенном выше коде я объяснил, как вы можете вводить данные для массива и печатать их.
Надеюсь, вы, ребята, понимаете, как выглядит массив и как его инициализировать. Теперь давайте подытожим вышеупомянутые темы и посмотрим на всю структуру Java-программы.

Структура программы

До сих пор мы узнали о переменных-членах, типах данных, управляющих операторах, классах и объектах. Давайте посмотрим, как все они структурированы вместе в классе в Java.

public class Car{                    // Class creation
       String color;                        // Member variables   
       String model;
       public void SpeedCheck(int s)        // Method 
         {
         int speed=s;
           if(speed>100)                        // Control statement
           {
           System.out.println(" You are driving very fast");
           }
           else
           {
            System.out.println("You are driving at normal speed");
           }
public static void main ( String args[]) 
         {
         Car obj= new Car();                  // Object creation
         obj.speed(60);
         }

Наконец, мы подошли к последней теме нашей статьи, т. Е. концепции объектно-ориентированного программирования.

Концепция ООП

Мы уже обсуждали классы и объекты в Java. Давайте обсудим четыре основных концепции объектно-ориентированного программирования - наследование, инкапсуляцию, полиморфизм и абстракцию.

Начнем с первого понятия, т. Е. наследования.

Наследование:

Большинство из вас должно быть знакомо с наследованием. Наследование - это процесс, при котором один класс приобретает свойства другого. Но чьи свойства наследуются? Здесь у нас есть два класса: дочерний класс, который наследует свойства базового класса.
Класс, наследующий свойства, известен как Дочерний класс . Его также называют производным классом или подклассом. Затем класс, свойства которого унаследованы, известен как родительский класс или базовый класс.

Давайте разберемся в этих классах, посмотрев на этот реальный пример животных.

На изображении выше Animal является суперклассом, тогда как амфибии, рептилии, млекопитающие и птицы являются вашими дочерними классами, которые наследуют свойства от класса «Animal».

Инкапсуляция:

Инкапсуляция в Java - это механизм объединения данных и кода в единое целое. Обратитесь к изображению ниже, где все ваши методы и переменные связаны в один класс.

При инкапсуляции переменные класса будут скрыты от других классов, и к ним можно будет получить доступ только через методы их текущего класса.

Полиморфизм:

Полиморфизм - это способность переменной, функции или объекта принимать несколько форм. Наиболее распространенное использование полиморфизма в ООП происходит, когда родительский класс используется для ссылки на объект дочернего класса. Полиморфизм также достигается за счет перегрузки функций. Не волнуйся! Я объясню всю концепцию в своем следующем блоге. А пока давайте рассмотрим сценарий из реальной жизни, где учитель говорит ученику нарисовать другую фигуру / фигуру с разными функциями.

Допустим, я хочу нарисовать определенную фигуру, которая уже имеет несколько функций, присутствующих в моей программе. Итак, функции, которые имеют дело с формой, я назову их draw (). Теперь, основываясь на значениях, которые я передал этим функциям, он будет рисовать разные формы. Скажем, в случае прямоугольника я передаю два значения - длину и ширину. Точно так же для круга я прохожу радиус. В зависимости от переданных вами значений будут вызываться разные функции, которые служат разным целям. Таким образом, это может быть достигнуто за счет перегрузки функций. Следите за обновлениями, концепция перегрузки функций будет подробно рассмотрена в моем следующем блоге.

Абстракция:

По сути, это качество работы с идеями, а не с событиями. Абстракция - это методология сокрытия деталей реализации от пользователя и предоставления им функциональности. Давайте посмотрим на этот реальный пример автомобиля, где я помогу вам понять, что такое абстракция.

Если вы рассмотрите случай с этим автомобилем, то здесь механик ремонтирует определенную функцию в автомобиле. Но пользователь или вы можете сказать, что водитель не хочет знать об этих вещах, он просто хочет, чтобы его машина вернулась в рабочее состояние. Итак, здесь вы в основном разделяете реализацию и показываете другому человеку то, что он на самом деле хочет видеть, и это в точности относится к абстракции.

На этом мы подошли к концу этого блога. Если вы хотите ознакомиться с дополнительными статьями о самых популярных технологиях на рынке, таких как искусственный интеллект, DevOps, этический взлом, посетите официальный сайт Edureka.

Обязательно обратите внимание на другие статьи в этой серии, которые объясняют различные другие аспекты Java.

1. Объектно-ориентированное программирование

2. Наследование в Java

3. Полиморфизм в Java

4. Абстракция в Java

5. Строка Java

6. Java Array

7. Коллекции Java

8. Java Threads

9. Введение в сервлеты Java

10. Учебник по сервлетам и JSP

11. Обработка исключений в Java

12. Расширенное руководство по Java

13. Вопросы для собеседования по Java

14. Программы на Java

15. Котлин против Явы

16. Внедрение зависимостей с помощью Spring Boot

17. Comparable in Java.

18. 10 лучших фреймворков Java

19. Java Reflection API

20. 30 лучших паттернов в Java

21. Шпаргалка по Core Java

22. Программирование сокетов на Java.

23. Шпаргалка по Java OOP

24. Аннотации на Java

25. Проект системы управления библиотеками на Java.

26. Деревья на Яве.

27. Машинное обучение на Java.

28. Самые популярные структуры данных и алгоритмы в Java

29. Навыки Java-разработчика

30. 55 самых популярных вопросов на собеседовании с сервлетами

31. » «Лучшие Java-проекты

32. Шпаргалка по Java-строкам

33. Вложенный класс в Java.

34. Вопросы и ответы на собеседование с коллекциями Java

35. Как справиться с взаимоблокировкой в ​​Java?

36. 50 лучших вопросов для собеседований по коллекциям Java, которые вам нужно знать

37. Какова концепция пула строк в Java?

38. В чем разница между C, C ++ и Java?

39. Палиндром на Java - как проверить число или строку?

40. Лучшие вопросы и ответы на собеседовании по MVC, которые вам нужно знать

41. 10 лучших приложений языка программирования Java

42. Тупик в Java.

43. Квадратный и квадратный корень в Java

44. Приведение типов в Java

45. Операторы в Java и их типы.

46. ​​Деструктор на Яве.

47. Бинарный поиск в Java

48. Архитектура MVC в Java.

49. Интервью с Hibernate. Вопросы и ответы

Первоначально опубликовано на www.edureka.co 27 апреля 2017 г.