Языки программирования

_default_

Активный
НЕ_ТОРТ
23 Ноя 2018
138
177
3-го круга ада
m.vk.com
Java- это современный язык
программирования высокого уровня, разработанный в первой половине 1990-х компанией Sun Microsystems, в последующем приобретённой компанией Oracle.

Java является Платформо-Независимым языком программирования, что значит, что вам необходимо написать программу один раз, чтобы запустить ее на множестве различных платформ!

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

Язык программирования Java используется для разработки приложений под Google Android OS, различных Настольных Приложений, например медиа-плееров, антивирусных программ, Веб Приложений, Корпоративных Приложений (например в банковской сфере), и многое другое!
 
Ваша Первая Java Программа

Давайте начнем с создания простой программы, которая выводит на экран текст "Hello World".
В Java, каждая строка кода, которая может быть запущена, должна быть внутри класса.
В нашем примере, мы назвали класс MyClass. Вы узнаете больше о классах в последующих модулях.

В Java, каждое приложение имеет точку входа, или точку старта, которая является методом с именем main. Метод main и ключевые слова public и static будут разъяснены позже.
Для запуска нашей программы, метод main должен быть идентичен следующей записи,
- public: любой может получить к нему доступ
- static: метод может быть запущен без создания экземпляра класса, содержащего метод main
- void: метод не возвращает значение
- main: имя метода

Например, следующий код объявляет метод test, который не возвращает ничего и не имеет параметров:
System.out.println()

Далее следует тело метода main, заключенное в фигурные скобки:
Метод println выводит строку текста на экран.
Класс System и его поток out используются для получения доступа к методу println
Точки с запятыми в Java

Вы можете передать различный текст в качестве параметра в метод println для его вывода.

 
Комментарии

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

Однострочный комментарий начинается с двух косых черт (слэшей) и продолжается до окончания строки.
Например:
// this is a single-line comment
x = 5; // a single-line comment after code
Многострочные Комментарии

Java также поддерживает комментарии, которые занимают несколько строк. Такой комментарий начинается с символа косой черты, за которым следует символ звездочки, и заканчивается символом звездочки, за которым следует символ косой черты. Например:
/* This is also a
comment spanning
multiple lines */

Обратите внимание, что Java не поддерживает вложенные многострочные комментарии.
Однако, вы можете вложить однострочные комментарии внутри многострочных комментариев.
/* This is a single-line comment:

// a single-line comment

*/
Комментарии Документации

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

Например:

/** This is a documentation comment */

/** This is also a
documentation comment */
Javadoc это инструмент, который включен в JDK и используется для генерации документации Java кода в HTML формате из исходного Java кода, которому необходима документация в предопределенном формате.

Если комментарий документации начинается более чем с двух символов звездочки, то Javadoc предполагает, что вы хотели создать "блок" вокруг вашего комментария в исходном коде. Дополнительные символы звездочки просто игнорируются.

Например:
/**********************

This is the start of a method

***********************/
 
Переменные

Переменные хранят данные для обработки.
Переменным задается имя (или идентификатор), например area, age, height, и т.п. Имя уникально идентифицирует каждую переменную, присваивая значение переменной и получая хранящееся в переменной значение.

Переменные имеют тип. Несколько примеров:
- int: для целых чисел, таких как 123 и -456
- double: для чисел с плавающей точкой или действительных чисел с опциональной десятичной точкой и дробной частью в фиксированной или научной нотации, такой как 3.1416, -55.66.
- String: для текста, типа "Hello" или "Good Morning!". Текстовые строки заключаются внутри двойных кавычек.

Вы можете объявить переменную типа и присвоить ей значение. Пример:
String name = "David";
Таким образом создается переменная с именем name типа String, и ей присваивается значение "David".
Переменные

Примеры объявления переменных:
class MyClass {
public static void main(String[ ] args) {
String name ="David";
int age = 42;
double score =15.9;
char group = 'Z';
}
}
char значит character(символ) и хранит один символ.

Другим типом является boolean тип, который имеет только два возможных значения: true(истина) и false(ложь).
Этот тип данных используется для решения простых условий истинно/ложно.
Например:
boolean online = true;

 
Математические Операторы

Java обеспечивает богатым набором операторов для использования при манипулированиями переменными. Значение, используемое на другой стороне оператора называется операндом.
Например, в выражении ниже, числа 6 и 3 являются операндами оператора плюс:
int x = 6 + 3;
Арифметические операторы Java:
+ сложение
- вычитание
* умножение
/ деление
% деление по модулю
Сложение

Оператор + складывает вместе два значения, например две константы, константу и переменную, или переменную и переменную. Несколько примеров сложения:
int sum1 = 50 + 10;
int sum2 = sum1 + 66;
int sum3 = sum2 + sum2;
Вычитание

Оператор - вычитает одно значение из другого.

int sum1 = 1000 - 10;
int sum2 = sum1 - 5;
int sum3 = sum1 - sum2;
Умножение

Оператор * перемножает два значения.
int sum1 = 1000 * 2;
int sum2 = sum1 * 10;
int sum3 = sum1 * sum2;

Деление

Оператор / делит одно значение на другое.
int sum1 = 1000 / 5;
int sum2 = sum1 / 2;
int sum3 = sum1 / sum2;

Деление по модулю

Математическая операция деления по модулю (или остаток) выполняет целочисленное деление одного значения на другое и возвращает остаток от деления.
Оператором операции деления по модулю является символ процента (%).
Пример:
int value = 23;
int res = value % 6; // res is 5

 
Оператор Инкремента

Операторы инкремента или декремента предоставляют удобный и компактный способ увеличения или уменьшения значения переменной на единицу.
Например, выражение x=x+1; может быть упрощено до вида ++x;
Пример:
int test = 5;
++test; // test is now 6
Оператор декремента (--) используется для уменьшения значения переменной на единицу.
int test = 5;
--test; // test is now 4
Префикс и Постфикс

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

Префикс: Инкрементирует значение переменной и использует новое значение в выражении.
Пример:
int x = 34;
int y = ++x; // y is 35
Значение x сначала инкрементируется до 35, и только затем присваивается переменной y, так что теперь значения переменных x и y равны 35.

Постфикс: Значение переменной сначала используется в выражении и только затем увеличивается.
Пример:
int x = 34;
int y = x++; // y is 34
Значение x сначала присваивается переменной y, и затем инкрементируется на единицу. Следовательно, x становится равным 35, а переменной y присвоено значение 34.
Операторы Присваивания

Вы уже знакомы с оператором присваивания (=), который присваивает значение к переменной.
int value = 5;
Это выражение присваивает значение 5 к переменной value типа int.

Java имеет множество операторов присваивания, чтобы было легче писать код.
Сложение и присваивание (+=):
int num1 = 4;
int num2 = 8;
num2 += num1; // num2 = num2 + num1;

// num2 is 12 and num1 is 4
Вычитание и присваивание (-=):
int num1 = 4;
int num2 = 8;
num2 -= num1; // num2 = num2 - num1;

// num2 is 4 and num1 is 4

 
Строки (String)

String это объект, который представляет собой последовательность символов.
Например, "Hello" это строка из 5 символов.

Например:
String s = "SoloLearn";
Конкатенация Строк

Оператор + (плюс) между строками складывает их вместе, образуя новую строку. Этот процесс называется конкатенацией.
В результате получится строка, состоящая из первой и второй строк.
Например:
String firstName, lastName;
firstName = "Sasha";
lastName = "Lavans";

System.out.println("My name is " + firstName +" "+lastName);

// Prints: My name is Sasha Lavans
 
Считывание Пользовательского Ввода

В то время как Java предоставляет много различных методов для считывания пользовательского ввода, объект Scanner является наиболее распространенным, и возможно наиболее легким для применения. Импортируйте класс Scanner для использования объекта Scanner, как отображено далее:
import java.util.Scanner;
Чтобы использовать класс Scanner, создайте экземпляр класса с помощью следующего синтаксиса:
Scanner myVar = new Scanner(System.in);
Теперь вы можете считывать различные виды типов данных, которые вводит пользователь.
Вот несколько методов, которые доступны в классе Scanner:
Считать байт - nextByte()
Считать число типа short - nextShort()
Считать число типа int - nextInt()
Считать число типа long - nextLong()
Считать число типа float - nextFloat()
Считать число типа double - nextDouble()
Считать число булевого типа - nextBoolean()
Считать целую строку - nextLine()
Считать слово - next()

Пример программы, используемой для считывания пользовательского ввода:
import java.util.Scanner;

class MyClass {
public static void main(String[ ] args) {
Scanner myVar = new Scanner(System.in);
System.out.println(myVar.nextLine());
}
}
 
Выполнение Решения

Условные операторы используются для выполнения различных действий, основанных на различных условиях.

Выражение if является одним из наиболее часто используемых выражений.
Если выражение условного оператора if является истинным, то будет выполнен блок кода внутри выражения if. Если выражение окажется ложным, то будет выполнен код, находящийся сразу после конца выражения if (после закрывающей фигурной скобки).
Синтаксис:
if (condition) {
//Executes when the condition is true
}

Любой из следующих операторов сравнения может быть использован для формирования условия:
< меньше чем
> больше чем
!= не равно
== равно
<= меньше, либо равно
>= больше, либо равно

Например:

int x = 7;
if(x < 42) {
System.out.println("Hi");
}
Операторы if...else

После оператора if может следовать опциональный оператор else, который выполняется, когда условие оказывается ложным.

Например:

int age = 30;

if (age < 16) {
System.out.println("Too Young");
} else {
System.out.println("Welcome!");
}
//Outputs "Welcome"

 
Вложенные Операторы if

Вы можете использовать один оператор if-else внутри другого оператора if или else.

Например:
int age = 25;
if(age > 0) {
if(age > 16) {
System.out.println("Welcome!");
} else {
System.out.println("Too Young");
}
} else {
System.out.println("Error");
}
//Outputs "Welcome!"
Код проверит условие, и если оно будет истинно, то выполнится условие внутри блока.
 
Последнее редактирование:
Логические Операторы

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

Скажем, вы хотели бы, чтобы ваша программа выводила "Welcome!" только когда переменная age больше 18 и переменная money больше 500.

Одним способом выполнения этого является использование вложенных операторов if:
if (age > 18) {
if (money > 500) {
System.out.println("Welcome!");
}
}
Однако, использование логического оператора И (&&) является способом лучше:
if (age > 18 && money > 500) {
System.out.println("Welcome!");
}
Оператор ИЛИ

Оператор ИЛИ (||) проверяет, истинно ли какое-нибудь из условий.
Условие будет истинным, если любой из операндов будет истинным.

Например:
int age = 25;
int money = 100;

if (age > 18 || money > 500) {
System.out.println("Welcome!");
}
//Outputs "Welcome!"
Вышеуказанный код выведет "Welcome!", если значение переменной age больше 18 или если значение переменной money больше 500.

Логический оператор НЕ (!) используется для установки противоположного логического состояния его операнда. Если условие верно, то логический оператор НЕ сделает его ложным.

Пример:

int age = 25;
if(!(age > 18)) {
System.out.println("Too Young");
} else {
System.out.println("Welcome");
}
//Outputs "Welcome"

 
Оператор switch

Оператор switch проверяет переменную на равенство списку значений. Каждое значение называется case(случаем), и переменная оператора switch проверяется с каждым случаем.

Синтаксис:
switch (expression) {
case value1 :
//Statements
break; //optional
case value2 :
//Statements
break; //optional
//You can have any number of case statements.
default : //Optional
//Statements
}
- Если переменная оператора switch равна case, то выражения этого case будут выполняться до достижения оператора break.
- Когда достигается оператор break, оператор switch завершается, поток управления переходит на следующую строку после оператора switch.
- Не каждый case должен содержать оператор break. Если не встретился оператор break, то поток управления пройдет через несколько операторов case, пока не будет достигнут оператор break.

В примере ниже проверяется переменная day на соответствие с набором значений и выводится соответствующее сообщение.
int day = 3;

switch(day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
}
// Outputs "Wednesday"
Оператор default

Выражение switch может иметь опциональный оператор default.
Оператор default может использоваться для выполнения задания, когда нет соответствий ни с одним из условий.

Например:
int day = 3;

switch(day) {
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
default:
System.out.println("Weekday");
}
// Outputs "Weekday"
 
Цикл while

Цикл (loop) позволяет вам повторно выполнять выражение, или группу выражений.

Выражение цикла while повторно выполняется, пока заданное условие истинно.

Пример:
int x = 3;

while(x > 0) {
System.out.println(x);
x--;
}
/*
Outputs
3
2
1
*/
Цикл while проверяет условие x > 0. Если оно истинно, то выполняются выражения в теле цикла. Затем выражение проверяется снова и повторяется цикл.
Цикл while

Если при проверке выражения результат оказывается ложным, то тело цикла пропускается и будет выполнено первое выражение после цикла while.

Пример:
int x = 6;

while( x < 10 )
{
System.out.println(x);
x++;
}
System.out.println("Loop ended");

/*
6
7
8
9
Loop ended
*/
 
Цикл for

Еще одной цикличной структурой является цикл for. Цикл for позволяет вам эффективно создавать циклы, которые должны быть запущены определенное количестов раз.

Синтаксис:
for (initialization; condition; increment/decrement) {
statement(s)
}
Initialization(Инициализация): Выражение выполняется только один раз в начале цикла
Condition(Условие): Выполняется при каждой итерации цикла. Цикл выполняет выражение повторно, пока условие не будет ложным.
Increment/Decrement(Инкремент/Декремент): Выполняется после каждой итерации цикла.

Следующий пример выводит числа от 1 до 5.
for(int x = 1; x <=5; x++) {
System.out.println(x);
}

/* Outputs
1
2
3
4
5
*/
Переменная x инициализируется значением 1, и повторно выводит значение переменной x, пока условие x<=5 не станет ложным. При каждой итерации выполняется выражение x++, инкрементирующее x на единицу.
Цикл for

У вас может быть любой тип условия и любой тип инкремента в цикле for.

В примере ниже выводятся только четные числа, лежащие от 0 до 10:
for(int x=0; x<=10; x=x+2) {
System.out.println(x);
}
/*
0
2
4
6
8
10
*/
 
Цикл do...while

Цикл do...while похож на цикл while, за исключением того, что цикл do...while гарантированно запустится по меньшей мере один раз.

Пример:
int x = 1;
do {
System.out.println(x);
x++;
} while(x < 5);

/*
1
2
3
4
*/

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

Даже если условие ложно, коды выполнится один раз. Пример:
int x = 1;
do {
System.out.println(x);
x++;
} while(x < 0);

//Outputs 1
Операторы Управления Циклов

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

Пример:
int x = 1;

while(x > 0) {
System.out.println(x);
if(x == 4) {
break;
}
x++;
}

/* Outputs
1
2
3
4
*/
Оператор continue заставляет цикл пропустить остаток его тела и затем немедленно протестировать его условие до переитерации. Другими словами, он заставляет цикл перейти к следующей итерации.

Пример:

for(int x=10; x<=40; x=x+10) {
if(x == 30) {
continue;
}
System.out.println(x);
}
/* Outputs
10
20
40
*/