Форматируем вывод чисел в Java
Встроенные типы данных. Приведение типов В основу языка Java положено восемь простых типов данных, приведенных в табл. (их также называют элементарными, или примитивными). Термин простые указывает на то, что эти типы данных являются не объектами, а обычными двоичными значениями.
variable name int a, b;
b = 99; int c = a + b; Пример использование примитивных типов данных Преобразование типов: автоматическое и явное В любом выражении ЯП используемые в нем типы должны быть согласованы! Ведь если, например, целое число (до 10 значащих цифр), лежащее в одной переменной, скопировать в другую, для которой выделена память, способная хранить 5 значащих цифр, часть знаков потеряется! Для решения этой проблемы в Java используется 2 вида преобразования типов данных перед их попаданием в CPU, где над данными выполняются операции. Автоматическое ( или неявное) преобразование типов осуществляется, если в выражении типы совместимы (несовместимы те типы, обработка которых сильно различается, например числовой и логический типы, числовой и текстовый типы) и длина целевого типа (куда сохраняется/write результат выражения) больше длины исходных типов (откуда берутся/read данные). В этом случае происходит автоматическое преобразование с расширением. (смотрите схему в файле «Краткий справочник по JAVA)
Например, в коде byte n = 30; int b; b=n; такая операция произойдёт без вашего участия автоматически - в последней инструкции (выражении) переменная n сначала будет расширена до int и только потом ее значение будет присвоено переменной b!
Явное преобразование типов применяется, если нужно от «большего» типа перейти к «меньшему» Примеры:
Задача 2.1. В чем ошибка? А) byte a=1,b=2,c; Б) float x=2.7; // Ошибка: c=a+b;
Задача 2.3. Дан пример кода – исправить ошибку
public class exmpl1 {
public static void main(String[] args) { // TODO Auto-generated method stub byte a,b; a=10; b=20; a= a+b; System. out. print(a); } } Конвертация строк в число (parseXxx()) и обратно (toString()) // конвертируем введенные строки в вещественные числа a = Double. parseDouble (s1); b = Double. parseDouble (s2); c = Double. parseDouble (s3); Для получения из строки вещественного числа используется метод Double.parseDouble(строка). Для получения из строки целого числа используется метод Integer.parseInt(строка). Аналогичные методы parseXxxx() существуют для других стандартных типов.
Основные арифметические операции
i++ = i+1 i-- = i-1
О приоритете операций в Java
Низший приоритет
Для выражения с несколькими операторами одинакового приоритета операции выполняются «слева-направо», т.е. а + b + c + d = (a + b) + c + d = ((a + b) + c) + d
Форматируем вывод чисел в Java Форматирование чисел выполняет оператор format, который является методом объекты System.out public class TestFormat {
public static void main(String[] args) { long n = 461012; System.out.format("%d%n", n); // --> "461012" System.out.format("%08d%n", n); // --> "00461012" System.out.format("%+8d%n", n); // --> " +461012"
double pi = Math.PI;
System.out.format("%f%n", pi); // --> "3.141593" System.out.format("%.3f%n", pi); // --> "3.142"
Задачи. 2.4 Вычислить свой вес на Луне и вывести с точностью 3 знака после запятой. class Moon { public static void main(String args[]) { double earthweight; // weight on earth double moonweight; // weight on moon
earthweight = 55;
moonweight = earthweight * 0.17;
System.out.println("Мой земной вес = " + earthweight + ", а лунный - " + moonweight);
} }
2.5.Пусть переменной w присвоено целое 3-х значное число, например,123. Вывести его в окно консоли в виде столбца, используя операции % и /:
2.6 Пусть число w определено, как в задаче 2.5. Вывести его в окно консоли с обратным порядком цифр. Воспользоваться а) тем, что java операцию + использует как «склейку», если хотя бы одно из слагаемых имеет тип String и б) строковой переменной String probel = ‘ ‘;)
Дома. 1. Присвоить целочисленной переменной w 3-х значное целое число, и выполнить операции для получения переменной v типа float, целая часть которой равна 0, а дробная составлена из цифр числа w. (например, w=327. Тогда v = 0.327) 2. Пусть переменной v типа float в программе присвоено значение: float v = 125.45; Написать инструкции, позволяющие вывести на печать текст: «Получено 125 рублей 45 копеек». 3. Даны две целочисленные переменные, со значениями 24 и 35 соответственно. Написать программу, выводящую число 2354. 4. Вычислить сумму 1 + 1/3 + 1/5 + 1/7 с точностью до 4-х знаков после запятой.
Дополнительно 5.Пусть в программе имеется строчка int w =10; а) используя только сокращенную запись операции * и литерал 10, добавить две инструкции, так, чтобы переменная w получила значение равное 10000. б) используя только сокращенные записи операций *, /, + и литералы 10 и 100, добавить три инструкции, так, чтобы переменная w получила значение равное 121.
6.Проверьте программу. Какое значение нужно присвоить a, чтобы вывелось 5? int a = 128; byte b; b = (byte) a; System.out.print(b);
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|