Рассмотрим теперь, как в языке Java, реализованы операторы, которые управляют ходом выполнения программы. Для этих целей, так же, как и в любом другом языке программирования, в языке Java есть условные операторы, операторы цикла, оператор переключения switch, а также оператор так сказать непосредственного перехода. Рассмотрим, как они действуют. Для этого рассмотрим опять-таки стандартный шаблон приложения, при помощи которого наша программа может выводить простейший текст на наше консольное окно. Вот этот шаблон. Пусть он будет класса My5, сохраним его на жестком диске. Для этого щелкнем на кнопке сохранения.
Создадим новую папку my5. Щелкнем на кнопке Открыть. И зададим имя для нашего приложения. Как мы помним, это имя должно в точности повторять имя нашего класса My5. Щелкнем на кнопке Сохранить. И теперь рассмотрим вопросы видимости переменных внутри блоков. Для того чтобы разобраться в этом вопросе, определим какую-либо переменную. Пусть это будет переменная целого типа integer, i равняется, допустим, 5. Точка с запятой. Теперь откроем какой-либо новый блок при помощи фигурных скобок и внутри него определим другую целую переменную int, например, k. Далее определим еще одну переменную s, которая будет равняться i+k.
А за пределами этого блока, определим опять-таки целую переменную, которая будет называться, например, g и будет равняться i+2. Но, конечно же, предварительно, нам нужно было бы определить какое-либо значение k. Пусть оно равняется 4. И в таком виде наша программа синтаксически правильно записана. Т.е. внутри вот этого блока от скобки до скобки, мы можем пользоваться всеми теми переменными, которые уже определены внутри этого блока. Вот, в частности, переменной k для выполнения неких функций в следующей строке.
А также всеми теми переменными, которые определены вне этого блока, ранее. Ну, в частности можно пользоваться переменной i. И в этой строчке мы написали, что s будет равняться сумме i+k. k определен внутри этого блока, а i вне этого блока, раньше. А вот в этой строчке, мы определили новую переменную g, которая определилась на основе переменной i, которая определена ранее в том же блоке и затем число 2. Переменную k здесь мы использовать не могли. Это было бы ошибкой.
Если мы здесь напишем вот таким образом, i+2+, например, k, то компилятор нам в этом случае выдаст ошибку. Если мы развернем меню Tools и выберем команду Compile Java, то, как мы видим, компилятор это не принял. На символе k он показал ошибку, что в принципе и ожидалось. Но вторая ошибка является на самом деле отголоском первой. Просто-напросто переменная k у нас не определена.
Перейдем опять на нашу программу. Сотрем здесь переменную k, которую мы использовали неправомочно и покажем еще одну ошибку, которую можно допустить. Ну, если мы определим наряду с переменной k внутри этого блока опять переменную i. Напишем int I, равняется, например, 7. Вот такая запись тоже является ошибкой. Т.е. переопределять переменную внутри блока, если она уже определена ранее, нельзя, в отличие от других языков программирования.
Например, в C это возможно. И при выполнении такой последовательности действий в языке C, у нас переменной s присвоилось бы значение 4+7, а не 4+5. А в языке Java, это просто-напросто ошибка. Если мы развернем меню Tools и выберем команду Compile Java, то, как мы видим, компилятор опять выдал ошибку. Вот это определение переменной i, ему явно не понравилось. Если мы чуть-чуть сдвинемся, то, как мы видим, здесь написано, что переменная i уже определена ранее. Переключимся обратно на нашу программу и сотрем вот это неправильное выражение.
Рассмотрим теперь такой популярный оператор, как условный оператор if. Сотрем сначала вот эти строчки, которые мы только что написали и напишем другую строчку. Введем переменную типа String, пусть это будет ss, далее равняется, и далее попробуем ввести некую информационную строку с диалогового окна. Для этого, как мы помним, надо воспользоваться методом showInputDialog из класса JOptionPane. Теперь откроем скобку и теперь надо указать тот текст, который будет появляться в этом диалоговом окне. Откроем кавычки и далее напишем, например, ваша зарплата, Your salary? Закроем кавычки, закроем скобку. Точка с запятой.
Теперь же переведем эту строковую переменную в число. Для этого воспользуемся переменной типа int, которая пусть называется ii. Теперь нам надо преобразовать переменную ss к типу int, к типу ii. И для этого воспользуемся следующей функцией integer, точка и далее класс parseInt. Это стандартная функция преобразования от строки к числу, и далее укажем переменную ss. Закроем скобку. Точка с запятой. Теперь же рассчитаем, какой нужно заплатить налог с этой суммы. Предположим, что условия у нас на налоги такое, что если наша зарплата меньше 1000 рублей, то она налогами вообще не облагается, а если больше 1000, то с каждого рубля, который больше этой 1000, надо заплатить 14%.
В этом случае, как раз нам и понадобиться использовать условный оператор if. Но сначала определим какую-либо переменную, в которой будем сохранять сумму налога. Пусть она будет у нас типа double, действительное число, поскольку нам понадобиться оперировать с дробными частями.
Пусть эта переменная называется xx и равна, для начала, 0. И теперь напишем оператор if. Далее в скобках нам нужно написать условие. Условие у нас будет такое. Если ii больше, чем 1000, тогда нам надо высчитывать налог. И в этом случае xx будет равняться ii-1000 умножить на коэффициент 0,14. 14 процентов, это как раз и есть 0,14.
Дальше попробуем все это вывести на консольное окно. Для этого скопируем вот этот оператор println, щелкнем правой кнопкой мыши, Сору. Далее вставим сюда. Щелкнем правой кнопкой мыши и Paste. И выведем переменную xx. Напишем таким образом " You will pay" и далее xx. Точка с запятой. А теперь нам еще нужно, для того чтобы мы
могли использовать вот это диалоговое окно ввода, произвести импорт соответствующего пакета, который напишем в начале нашей программы. Напишем Import, далее javax, поскольку именно в этом пакете и находится возможность диалогового окна, далее точка, swing, и точка с запятой.
Теперь попробуем выполнить наше приложение. Для этого развернем меню Tools и выберем команду Compile Java (компилировать программу). Вновь развернем меню Tools и выберем команду Run Java Application. Появилось вот это диалоговое окно, в которое введем, например, сумму 3000. Щелкнем на кнопке ОК. И как мы видим, с суммы 3000 надо заплатить 280 рублей. Теперь закроем это консольное окно. В принципе надо учесть, что мы забыли написать System.exit в нашей программе, что необходимо при использовании диалогового окна. И в результате при выходе из диалогового режима, на конец программы сразу же не попали. Сейчас закроем консольное окно. В конце нашей программы напишем System.exit. Далее код выхода. В принципе можно воспользоваться, конечно же, нулем, если у нас все завершилось нормально. По умолчанию обычно берется код выхода 0, в случае нормального завершения работы, и ненулевое значение, будет означать код ошибки.
⇐Форматирование данных для отображения на консольном окне | TeachPro WEB-дизайн | Оператор if. составной оператор. вложение операторов if⇒