В этой статье мы сосредоточимся на приведении и преобразовании типов, а также на классе “Математика”.
Неявное приведение
Изучите следующий код.
short y = 1; int z = y + 2; System.out.println(z);
Обратите внимание, что типы данных ‘x’ и ‘y’ отличаются в приведенном выше коде. Можете ли вы угадать результат? Будет ли это выполнено и даст точный ответ, или это приведет к ошибке? Ну, вы заметите, что это дает точный ответ. Это потому, что “x” имеет тип “короткий”, размер которого составляет 1 байт. А ‘y’ – это целое число размером 4 байта. Следовательно, любая переменная, которая может быть сохранена в 1 байте, может быть легко сохранена в 4 байтах. Из-за этого этот код работает просто отлично. Это называется НЕЯВНЫМ ПРИВЕДЕНИЕМ . Java выполняет это приведение автоматически.
байт -> короткий -> int -> длинный -> плавающий -> двойной
Задача
Попробуйте приведенный ниже код и проверьте результат.
package com.company;
public class Main {
public static void main(String[] args) {
int y = 1;
short z = y + 2;
System.out.println(z);
}
}
Явный Кастинг
В большинстве фреймворков, которые используются для создания пользовательских интерфейсов, вводимые пользователем данные принимаются в виде строк. В таком случае предположим, что пользователь вводит число, и вы хотите добавить к нему 100. Однако введенный пользователем номер представляет собой строку. Так как же вы можете добавить 100? Вот где вы хотите использовать “явное приведение”. Арифметические операции выполняются только между совместимыми типами. Поэтому сначала вам нужно “явно” преобразовать вводимые пользователем данные в целое число, а затем продолжить. Посмотрите на код, приведенный ниже.
String userInput = "167"; int intInput = Integer.parseInt(userInput) + 100; System.out.println(intInput);
Приведенный выше код сначала преобразует строку пользователь вводит в целое число, а затем добавляет к нему еще 100.
“Математика” – это еще один предопределенный класс в java. Давайте посмотрим, какие методы у нас есть в этом классе.
Вы можете легко округлить числа, используя метод round , как показано ниже;
int x = Math.round(20.4F); System.out.println(x);
Это даст результат в виде 20.
Вы также можете сравнить числа и извлечь из них максимум и минимум.
int maxNum = Math.max(10, 20); int minNum = Math.max(10, 20); System.out.println(maxNum); System.out.println(minNum);
Вы также можете сгенерировать случайное число с помощью класса “Математика”. Проверьте этот код;
double randNum = Math.round(Math.random()); System.out.println(randNum);
Приведенный выше код сгенерирует число с плавающей запятой в диапазоне от 0 до 1. Но вы можете изменить этот диапазон по своему усмотрению. Например, вы можете получить число от 0 до 100, используя следующую строку;
int randNum2 = (int) Math.round(Math.random() * 100); System.out.println(randNum2);
Здесь, так как я использовал (в) число с плавающей запятой преобразуется в целое число. Это означает, что вы получите целое число в диапазоне [0, 100].
В классе “Математика” есть еще много предопределенных методов. Исследуйте и практикуйте их также:)
Оригинал: “https://dev.to/chathurashmini/basics-of-java-9-39p5”