Журнал LinuxFormat - перейти на главную

LXF85:Java

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Простые числа и их братья)
(Логика и выбор)
Строка 46: Строка 46:
  
 
=== Логика и выбор ===
 
=== Логика и выбор ===
 +
Чтобы провести ревизию налоговой службы правильно, Несмеяне пришлось разобраться с налоговым кодексом, а там без поллитра и знаний логических операций не обойтись. Для представления логических значений в Java присутствует простой тип boolean, который принимает значения true или false. Для проведения различных логических операций можно использовать ниже перечисленные операторы:
 +
 +
{| border = "1" cellpadding="2"
 +
!Тип операторов
 +
!Операторы
 +
|-
 +
|операторы отношений
 +
|align = "center"| < &nbsp;&nbsp;&nbsp; > &nbsp;&nbsp;&nbsp; >= &nbsp;&nbsp;&nbsp; <= &nbsp;&nbsp;&nbsp; instanceof
 +
|-
 +
|операторы равенства||align = "center"|== &nbsp;&nbsp;&nbsp; !=
 +
|-
 +
|поразрядное И||align = "center"|&
 +
|-
 +
|поразрядное исключающее ИЛИ||align = "center"|^
 +
|-
 +
|поразрядное включающее ИЛИ||align = "center"|&#448;
 +
|-
 +
|логическое И||align = "center"|&&
 +
|-
 +
|логическое ИЛИ||align = "center"|&#449;
 +
|}
 +
 +
 +
Пока Несмеяна разбирается в дебрях налогового кодекса, мы для иллюстрации работы с логическими выражениями обратимся к методу
 +
primeNumberCheckUp(int numberForCheck), который выясняет, является ли переданное ему число простым.
 +
<code>
 +
private boolean primeNumberCheckUp(int numberForCheck) {
 +
  boolean result = true;
 +
  if (numberForCheck != 1 || numberForCheck != 2 || numberForCheck != 3) {
 +
    for (int currentNumber = 2; currentNumber < numberForCheck; currentNumber++) {
 +
      if (numberForCheck % currentNumber == 0) {
 +
        result = false;
 +
      }
 +
    }
 +
  }
 +
  return result;
 +
}
 +
</code>
 +
В primeNumberCheckUp использованы две замечательные конструкции: оператор выбора по условию или условный оператор, и цикл.
 +
Условный оператор if имеет следующий синтаксис:
 +
<code>
 +
if (логическое выражение) {
 +
        операторы группы 1;
 +
}
 +
else {
 +
        операторы группы 2;
 +
}
 +
</code>
 +
 +
В вышеописанном методе использована упрощенная конструкция (без else), а для вычисления логического выражения использованы
 +
операторы: != (не равно) и || (логическое «или»). В полной конструкции в случае истинности логического выражения выполняются операторы группы 1, иначе – группы 2.
 +
 +
Вместо if для управления выполнением кода может быть использована специальная конструкция switch. В рамках этой конструкции
 +
вычисляется целочисленное выражение, и в соответствии с полученным результатом ведется поиск соответствующего значения блока
 +
case.
 +
<code>
 +
int flag = 6;
 +
switch (flag) {
 +
  case 1: {
 +
    System.out.println(“Царевна в спальне №1”);
 +
    break;
 +
  }
 +
  case 5: {
 +
    System.out.println(“Царевна в спальне №5”);
 +
    break;
 +
  }
 +
  default: {
 +
    System.out.println(“Кто тут знает, где царевна?”);
 +
    break;
 +
  }
 +
}
 +
</code>
 +
Обратите внимание на оператор break, который обеспечивает немедленный выход из любого блока, а в примере выше прекращает дальнейшую обработку операторов конструкции switch, а также на блок операторов default – этот блок необязательный, он выполняется в случае, если выражение, удовлетворяющие условию, не было найдено среди case.
 +
 
=== Циклы ===
 
=== Циклы ===
 
=== Массивы ===
 
=== Массивы ===
 
=== Куча хлама ===
 
=== Куча хлама ===
 
=== Пятый угол ===
 
=== Пятый угол ===

Версия 12:05, 12 марта 2008

Содержание

Считалочки

ЧАСТЬ 2: Мало сыграть свадьбу – надо еще научиться вести семейный бюджет, выполнять одну и ту же работу каждый день и принимать судьбоносные решения. Антон Черноусов продолжает учить монархическую чету премудростям Java.

В предыдущей статье были рассмотрены основы объектно-ориентированного языка программирования Java: инкапсуляция, наследование, полиморфизм. Мы создали простое приложение, в котором женили короля на царевне Несмеяне.

Сегодня мы поговорим о простых типах (числах), о ветвлениях, циклах, а также об исключениях.

Простые числа и их братья

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

Для реализации арифметических операций в Java существует семь арифметических операторов, которые работают с любыми числовыми типами: сложение +, вычитание –, умножение *, деление /, остаток %, унарный минус -val и унарный плюс +val, а также шесть примитивных типов переменных для выполнения арифметических операций:

Тип переменной Разрядность Описание
Byte 8 Целое со знаком
Short 16 Целое со знаком
Int 32 Целое со знаком
Long 64 Целое со знаком
Float 32 Число с плавающей точкой
Double 64 Число с плавающей точкой

Значение типов byte и short при выполнении вычислений переопределяется int, поэтому использование этих типов целесообразно для хранения небольших значений для уменьшения объема используемой оперативной памяти.

int  iA = 10;
byte bB = 12;
int  iC = iA + bB;
System.out.println(“Сумма А и B = “ + iC);

Выше приведен пример выполнения арифметической операции с использованием переменных различных типов. Результат – целое число типа int. Для преобразования типа переменной, например, в тип с более низкой разрядностью, необходимо воспользоваться специальными языковыми конструкциями:

double dD = 10.2;
double dE = 12.23;
float fF = (float) (dD + dE);
System.out.println(fF);

Логика и выбор

Чтобы провести ревизию налоговой службы правильно, Несмеяне пришлось разобраться с налоговым кодексом, а там без поллитра и знаний логических операций не обойтись. Для представления логических значений в Java присутствует простой тип boolean, который принимает значения true или false. Для проведения различных логических операций можно использовать ниже перечисленные операторы:

Тип операторов Операторы
операторы отношений <     >     >=     <=     instanceof
операторы равенства ==     !=
поразрядное И &
поразрядное исключающее ИЛИ ^
поразрядное включающее ИЛИ ǀ
логическое И &&
логическое ИЛИ ǁ


Пока Несмеяна разбирается в дебрях налогового кодекса, мы для иллюстрации работы с логическими выражениями обратимся к методу primeNumberCheckUp(int numberForCheck), который выясняет, является ли переданное ему число простым.

private boolean primeNumberCheckUp(int numberForCheck) {
  boolean result = true;
  if (numberForCheck != 1 || numberForCheck != 2 || numberForCheck != 3) {
    for (int currentNumber = 2; currentNumber < numberForCheck; currentNumber++) {
      if (numberForCheck % currentNumber == 0) {
        result = false;
      }
    }
  }
  return result;
}

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

if (логическое выражение) {
        операторы группы 1;
}
else {
        операторы группы 2;
}

В вышеописанном методе использована упрощенная конструкция (без else), а для вычисления логического выражения использованы операторы: != (не равно) и || (логическое «или»). В полной конструкции в случае истинности логического выражения выполняются операторы группы 1, иначе – группы 2.

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

int flag = 6;
switch (flag) {
  case 1: {
    System.out.println(“Царевна в спальне №1”);
    break;
  }
  case 5: {
    System.out.println(“Царевна в спальне №5”);
    break;
  }
  default: {
    System.out.println(“Кто тут знает, где царевна?”);
    break;
  }
}

Обратите внимание на оператор break, который обеспечивает немедленный выход из любого блока, а в примере выше прекращает дальнейшую обработку операторов конструкции switch, а также на блок операторов default – этот блок необязательный, он выполняется в случае, если выражение, удовлетворяющие условию, не было найдено среди case.

Циклы

Массивы

Куча хлама

Пятый угол

Персональные инструменты
купить
подписаться
Яндекс.Метрика