кодесурса

Условные или реляционные операторы Java

script1adsense2code
script1adsense3code

Описание

Если вам нужно изменить выполнение программы на основе определенного условия, вы можете использовать операторы «если». Реляционные операторы определяют отношения, которые один операнд имеет к другому. Именно они определяют условие равенства. Java предоставляет шесть реляционных операторов, которые перечислены в таблице ниже.

оператор Описание Пример (а = 10, б = 15) Результат
== Оператор равенства A == B ложный
знак равно Не равно оператору а! = Ь правда
> Лучше чем а> Ь ложный
< Меньше, чем а <Ь правда
> = Больше или равно а> = Ь ложный
<= Меньше или равно а <= Ь правда

Результатом этих операций является логическое значение. Реляционные операторы чаще всего используются в выражениях, которые управляют оператором if и различными операторами цикла. Любой тип в Java, включая целые числа, числа с плавающей точкой, символы и логические значения, можно сравнить с помощью теста на равенство == и теста на неравенство! =. Обратите внимание, что в Java равенство обозначается двумя знаками равенства («==»), а не одним («=»).

В Java простейшим оператором, который вы можете использовать для принятия решения, является оператор if. Его самая простая форма показана здесь:

 оператор if (условие);
   или же
оператор if (условие) 1;
еще заявление2;

Здесь условие является логическим выражением. Если условие истинно, то оператор выполняется. Если условие ложно, то заявление обойдено. Например, предположим, что вы объявили целочисленную переменную с именем someVariable, и вы хотите напечатать сообщение, когда значение someVariable равно 10. Блок-схема и java-код операции выглядят следующим образом:

«contitional

if (someVariable ==10){
System.out.println("The Value is 10”);
}

У нас могут быть разные варианты операторов if.

Вложенные блоки if:

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

Java-код: перейти к редактору

public class NestedIfDemo {
	public static void main(String[] args) {
		int a =10;
		int b =5;
		if(a==10){
			if(b==5){
				System.out.println("Inside Nested Loop");
			}
		}
	}
}

если - иначе если лестница:

Может возникнуть ситуация, когда нам нужно несколько раз проверить значение, чтобы найти точное условие соответствия. Ниже программа объясняет то же самое. Давайте посмотрим, есть ли у нас требование проверить, является ли значение переменной меньше 100, равно 100 или больше 100. Ниже код объясняет ту же логику, используя лестницу if-else-if.

Java-код: перейти к редактору

public class IfelseLadderDemo {
	public static void main(String[] args) {
		int a =120;
		if(a< 100){
			System.out.println("Variable is less than 100");
		}
		else if(a==100)
		{
			System.out.println("Variable is equal to 100");
		}
		else if (a>100)
		{
			System.out.println("Variable is greater than 100");
		}
	}
}

Выход:

«contitional

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

Java-код: перейти к редактору

import java.util.Scanner;
public class GradeCalculation {
	public static void main(String[] args) {
		int marks=0	;
		try{
			//Scanner class is wrapper class of System.in object
		Scanner inputDevice = new Scanner(System.in);
		System.out.print("Please enter your Marks (between 0 to 100) >> ");
		marks = inputDevice.nextInt();
		//Checking input validity and grade based on input value
		if(marks< 0){
			System.out.println("Marks can not be negative: Your entry="+ marks );
		}else if(marks==0){
			System.out.println("You got Zero Marks: Go to ZOO");
		}else if (marks>100){
			System.out.println("Marks can not be more than 100: Your entry="+ marks );
		}else if (marks>0 & marks< 35){
			System.out.println("You need to work hard: You failed this time with marks ="+ marks);
		}else if (marks>=35 & marks < 50){
			System.out.println("Your score is not bad, but you need improvement, you got C Grade");
		}else if (marks>=50 & marks < 60){
			System.out.println("You can improve performance, you got C+ grade");
		}else if (marks>=60 & marks < 70){
			System.out.println("Good performance with B grade");
		}else if (marks>=70 & marks < 80){
			System.out.println("You can get better grade with little more efforts, your grade is B+");
		}else if (marks>=80 & marks < 90){
			System.out.println("Very good performance, your grade is A ");
		}else if (marks>=90){
			System.out.println("One of the best performance, Your grade is A+");
		}		
		}catch (Exception e){
			//This is to handle non-numeric values
			System.out.println("Invalid entry for marks:" );
		}
	}
}

Выходы на основе пользовательского ввода:

«contitional

Логические операторы короткого замыкания

Java предоставляет два интересных логических оператора, которых нет во многих других компьютерных языках. Это вторичные версии логических операторов И и ИЛИ, известные как логические операторы короткого замыкания. Два логических оператора короткого замыкания:

  • && короткое замыкание И
  • || короткое замыкание ИЛИ

Они используются для связывания маленьких логических выражений в более крупные логические выражения. && и || операторы оценивают только логические значения. Чтобы выражение AND (&&) было истинным, оба операнда должны быть истинными. Например, приведенный ниже оператор оценивается как true, так как оба операнда (2 <3) и второй (3 <4) оцениваются как true.

 if ((2 <3) && (3 <4)) {}

Функция короткого замыкания оператора && названа так, потому что она не тратит свое время на бессмысленные оценки. Короткое замыкание && сначала оценивает левую часть операции (операнд один), и если оно принимает значение false, оператор && не утруждает себя взглядом на правую часть выражения (операнд два), так как оператор && уже знает что полное выражение не может быть правдой.

|| Оператор аналогичен оператору &&, за исключением того, что он оценивается как true, если ЛИБО из операндов имеет значение true. Если первый операнд в операции ИЛИ является истинным, результат будет истинным, поэтому короткое замыкание || не тратит время, глядя на правую часть уравнения. Если первый операнд ложен, короткое замыкание || должен оценить второй операнд, чтобы увидеть, будет ли результат операции ИЛИ истинным или ложным.

Java-код: перейти к редактору

public class ShortCircuitOpDemo {
	public static void main(String[] args) {
		float number1 = 120.345f;
		float number2 = 345.21f;
		float number3 = 234.21f;
		if(number1 < number2 && number1< number3){
			System.out.println("Smallest Number is number1");
		}
		if(number3 >number2 || number3 > number1){
			System.out.println("number3 is not smallest");
		}
	}
}

Выход:

«contitional

Тернарный оператор (или? Оператор или условный оператор)

Условный оператор является троичным оператором (он имеет три операнда) и используется для вычисления логических выражений, во многом как оператор if, за исключением того, что вместо выполнения блока кода, если тест равен true, условный оператор назначит значение переменной , Условный оператор начинается с логической операции, за которой следуют два возможных значения переменной слева от оператора присваивания (=). Первое значение (слева от двоеточия) присваивается, если условный (логический) тест равен true, а второе значение присваивается, если условный тест равен false. В приведенном ниже примере, если переменная a меньше b, тогда значение переменной x будет равно 50, иначе x = 60.

«contitional

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

Java-код: перейти к редактору

import java.util.Scanner;
public class TernaryOpDemo {
	public static void main(String[] args) {
		//Checking if marks greater than 35 or not
		String status;
		int marks;
		Scanner inputDevice = new Scanner(System.in);
		System.out.print("Please enter your Marks (between 0 to 100) >> ");
		marks = inputDevice.nextInt();
		status= marks>=35 ?"You are Passed":"You are failed";
		System.out.println("Status=" + status);
	}
}

Выходы на основе пользовательского ввода:

«contitional

Резюме

  • Java предоставляет шесть условных операторов == (равенство),> (больше чем), <(меньше чем),> = (больше или равно), <= (меньше или равно),! = (Не равно)
  • Реляционные операторы чаще всего используются для управления потоком программы.
  • Логические операторы короткого замыкания - && и ||
  • Тернарный оператор - это оператор, который похож на блок if else, но который используется для присвоения значения на основе условия.

Редактор кода Java:

Предыдущий: Арифметический оператор
Далее: Логический оператор

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code