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

LXF85:Java

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Считалочки

ЧАСТЬ 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.

Циклы

Массивы

Куча хлама

Пятый угол

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