public class Tutorial {
public static void main(String[] args) {
Будет хорошо если уже расскажешь что это^^
В принципе понятно, но зачем это пишут незнаю)
И да, что такое static и args?
Присвоение значений
[вставка не в тему]
Как вы уже должны были знать, в java a=2; вовсе не означает, что a = 2. Это значит, что а ТЕПЕРЬ = 2.
Поэтому запись а = а + 1; вполне правильна:
Новое значение переменной а теперь равно старое значение переменной а + 1
Типы переменных. Совершенствование калькулятора.
Как вы уже поняли, в java есть несколько типов переменных. Сейчас давайте познакомимся со всеми базовыми:
Цельночисленные:
[Мою красивую табличку порезали блоги :(]
Название Минимальное… максимальное значение
long -9, 223, 372, 036, 854, 775, 808… 9, 223, 372, 036, 854, 775, 807
int -2, 147, 483, 648… 2, 147, 483, 647
short -32, 768… 32, 767
byte/char* -128… 127
* Этот тип содержит в себе символ, закодированный через ASKII код(0-127 – основная часть(английская+цифры+спец. символы); -128 – -1 – дополнительная(региональная))
Дробные:
Название Минимальное… максимальное значение
double 1. 7е-308… 1. 7е+ 308
float 3. 4е-038… 3. 4е+ 038
Почему еще существуют цельночисленные типы? Ведь они гораздо “меньше”, чем double/float!
Тут все дело в точности… На пример число 123 в дробном типе хранятся как 1.23е2, а в цельно численном – 123. Количество цифр после точки ограничено, поэтому числа длиннее 10~15 знаков будут округляться (с этим связан феномен Farlands в Minecraft).
Все оценки — приблизительные, типы иногда меняются (точные значения можно найти у oracle), но из всего этого нам надо знать только int, long и double. Ну, может еще и char.
Еще есть один базовый тип — boolean. Он может хранить в себе всего 2 значения true/false(правда/ложь;1/0; вкл./выкл.) Но он нам потребуется только в 3 туториале.
На данный момент наш калькулятор считает только в целых числах, если попробовать ввести дробное число (через точку), то eclipse окатит вас помоями ошибками. Поэтому стоит заменить тип переменных с int на double (так-же поменяйте scanner.nextInt на scanner.nextDouble для ввода дробей).
Математика в java
В java есть все стандартные мат действия, записываются они как + — * /, есть специальное действие — остаток от деления, записывается как %.
Поэкспериментируйте с этим.
Специальная математика
Во всех примерах начальное значение a = 5 — то, что будет в консоли
Операция ++ — увеличение на единицу(эквивалент а = а + 1;):
a++;
System.out.print(a); — 6
___
++a;
System.out.print(a); — 6
___
НО!
System.out.print(a); — 5
System.out.print(a++); — 5
System.out.print(a); — 6
___
НО!
System.out.print(a); — 5
System.out.print(++a); — 6
System.out.print(a); — 6
Если словами, то ++а сначала увеличивает, потом выполнят оставшиеся действия, а а++ сначала выполняет действия, а потом увеличивает.
Аналогично есть а-- и --а.
Операция а += x; эквивалентна а = а + x;
Аналогично есть -= *= /= %=
Продвинутая математика
В любом месте пишем math. и выбираем! Синусы, косинусы, округления, градусы и прочие интегралы у нас в руках!
Краткая справка по меню авто завершения:
Math.max(double a, double b): double
В скобках через запятую — типы аргуменов(то, что в функцию посылаем). Через: тип выходного значения функции(то, что приходит из функции после завершения ее работы в место вызова)
Покажу один пример на базе кода калькулятора:
Например: num_1 = 4.0; num_2 = 4.1 => функция max(4.0, 4.1) превращается в 4.1 => System.out.print(«Максимальное число:\n» + 4.1);
public class Tutorial {
public static void main(String[] args) {