Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Номер_аргумента$][флаги][место][.дробь]тип



Флаги - + 0, ( определяют дополнительные характеристики выводимых данных: минус – выравнивание влево, + – обязательный вывод знака числа, пробел – пробел вместо плюса для положительных чисел, ноль – заполнение старших пустых позиций числа нулями, запятая – локализованный разделитель в числах, скобка – отрицательные числа заключаются в скобки.

Параметр тип определяет вариант преобразования внутреннего представления данных во внешнюю форму:

s − String (строка символов)

c − char (символ)

d − десятичное целое

o − восьмеричное целое

x − шестнадцатеричное целое

f − действительное в фиксированном формате (в форме 999.9999)

e − действительное в математическом формате (в форме 0.999Е99)

tD − дата в форме «месяц-день-год».

tF − дата в формате «год-месяц-день».

tT − время в формате «часы:минуты:секунды».

Параметры место и дробь определяют соответственно количество позиций для выводимых данных (ширину поля) и количество цифр в дробной части (применяются с параметрами типа d и f). Например, %08.3f применяется для вывода действительных данных. Под данные отводится 8 позиций (с учетом знака и разделяющей точки). Из них под дробную часть отводится 3 позиции. При необходимости в целую часть добавляются ведущие нули, чтобы полностью использовать 8 позиций.

Элементы между форматными кодами выводятся как литералы, в частности, \t – табуляция, \n – переход на новую строку (%n также означает переход на другую строку). Примеры: printf("Hello %s!", "World"); // "Hello World!"printf("%7d", 1); // " 1" – минимум 7 позицийprintf("%07d", 1); // "0000001" – начальные позиции //заполнены нулямиprintf("%.10f", Math.PI); // "3,1415926536" – с точностью // до 10 знаков после запятойprintf("%tF", new Date()); // "2011-01-27"printf("%tT", new Date()); // "22:42:37" Фрагмент программы:int a=256; double b=312.678951236;String str="форматированный вывод";System.out.printf("Демонстрируем %s: a=%08d(10)=%x(16), b=%010.4f\n",str,a,a,b);Данный фрагмент повлечет за собой следующий вывод в окно терминала:Демонстрируем форматированный вывод: a=00000256(10)=100(16), b=00312,6790 Элементы форматными кодами (выделены красным) выводятся как строковые литералы (константы).

3.5. Выполнение работы в лаборатории

3.5.1. Работа в окне кода BlueJ

1) Введите целые константы в окне кода, нажимая после каждой константы Enter: 35 -246 5671L.

2) Введите выражения 4*3+5 4+3*5 25-3/5-6+20/3 5%6 («пять по модулю шесть» − остаток от деления 5 на 6) 7%6 7%5. После ввода каждого выражения нажимайте Enter. Обратите внимание на тип и результат.

3) Наберите выражения 1==1 1<5 2<=5 2>6 3/2>1 2!=9. После ввода каждого выражения нажимайте Enter. В этих выражениях используются операции сравнения. Результат операции (и выражения) имеет логический тип (boolean). Если выражение верно, то его значение равно true, иначе – false. Проверяйте результат каждый раз после нажатия Enter.

4) Введите в панели кода действительные литералы, каждый в отдельной строке 3.1415 2.71823F 0.314E+1. Проанализируйте результаты (что происходит после нажатия клавиши Enter).

5). Наберите в панели кода выражения 25-3.5-6+21.3 5/6.0 5.0/6 3.7f/5.3f. Не забывайте нажимать Enter! Обратите внимание на значение результата и на его тип.

6). Наберите в панели кода выражения 1==1.0 1.0<1.5 2.3<=2.3f 1.5==1.5f

7) Наберите в панели кода: double x; float a=3.5; float d=2.5; (После точки с запятой нажимайте Enter). Проанализируйте сообщения системы.

8) Наберите в панели кода: x=3.5; (тип x уже задан) float a=3.5f; double d=2.5f; (После точки с запятой нажимайте Enter). Проверьте значения переменных, введя имя и Enter.

9) Наберите d=d+3.75; x=a+7.5f; Проверьте значения переменных.

10) Введите final float K=5.4f; Проверьте значение K. Наберите оператор K=5.45;. Обратите внимание на сообщение. Наберите final double PI=3.1415926;, вычислите длину окружности с радиусом 10: 2*PI*10.

3.5.2. Разработка программы с использованием метода форматированного вывода System.out.printf()

Разработайте программу согласно варианту задания (таблица 3.1), проведите ее отладку и испытание на нескольких тестовых примерах.

3.6. Варианты заданий

В качестве индивидуального задания на лабораторную работу предлагается разработать программу, которая выполняет следующие действия:

1) определяет и инициализирует (задает тип и значение) переменные str, a, b, c, d;

2) осуществляет следующий вывод:

Привет, значение_str: a=значение_a, b=значение_b, c=значение_с, d=значение_d!

Значения переменных должны выводиться в формате, предусмотренном вариантом задания. После вывода строки, должен быть осуществлен переход на следующую строку.

После выявления синтаксических ошибок программа должна быть откомпилирована и запущена не менее трех раз (с различными значениями переменных). В качестве тестовых значений переменных студент должен подобрать такие значения, которые проверяют все возможности программы. Например, проверку обязательного вывода знака числа нужно осуществить на положительных и отрицательных значениях. Желательно также проверить, как будет вести себя ваша программа, если заданное значение переменной не помещается в формат, заданный в методе printf().

Варианты индивидуальных заданий представлены в таблице 3.1.

Использованы следующие условные обозначения:

С10 – десятичная система счисления;

С16 – шестнадцатеричная система счисления;

С8 – восьмеричная система счисления;

Ш – ширина (минимальное количество цифр);

Т – точность (число цифр после запятой);

НН – наличие ведущих нулей;

ОН – отсутствие ведущих нулей;

ВЗ – обязательный вывод знака.

Таблица 3.1 – Варианты заданий

Но-мер вари-анта Строка str Целое a (int) Целое b (short) Целое с (byte) Действи-тельное d (double) Действи-тельное f (float)
  Фамилия_Группа: С10, Ш8, НН, ВЗ С8 С16 Ш10, Т5, НН, Ш8, Т3, ОН
  Фамилия_Группа: С16 С10, Ш5, ОН С8 Ш5, Т3, ОН, ВЗ Ш7, Т2, НН
  Фамилия_Группа: C8 C16 C10, Ш6, ОН Ш8, T4, НН Ш6, Т3, ОН, ВЗ
  Фамилия_Группа: С16 С8 С10, Ш8, НН Ш7, T3, ОН, ВЗ Ш9, Т4, НН
  Фамилия_Группа: С10, Ш5, ОН, ВЗ С8 С16 Ш8, T2, НН Ш10, Т4, ОН
  Фамилия_Группа: С10, Ш5, ОН С8 С16 Ш8, T2, ОН, ВЗ Ш6, Т3, НН
  Фамилия_Группа: С8 С10, Ш9, НН С16 Ш10, T4, ОН Ш8, Т2, НН, ВЗ
  Фамилия_Группа: С16 С10, Ш7, ОН, ВЗ С8 Ш12, T6, НН Ш6, Т3, ОН
  Фамилия_Группа: С16 С8 С10, Ш8, НН, Ш11, T5, ОН, ВЗ Ш9, Т4, НН
  Фамилия_Группа: С9, Ш7, ОН, ВЗ С8 С16 Ш14, T5, НН, Ш8, Т3, ОН
  Фамилия_Группа: С10, Ш8, НН, ВЗ С8 С16 Ш10, Т5, НН, Ш8, Т3, ОН
  Фамилия_Группа: С16 С10, Ш5, ОН С8 Ш5, Т3, ОН, ВЗ Ш7, Т2, НН
  Фамилия_Группа: C8 C16 C10, Ш6, ОН Ш8, T4, НН Ш6, Т3, ОН, ВЗ
  Фамилия_Группа: С16 С8 С10, Ш8, НН Ш7, T3, ОН, ВЗ Ш9, Т4, НН
  Фамилия_Группа: С10, Ш5, ОН, ВЗ С8 С16 Ш8, T2, НН Ш10, Т4, ОН
  Фамилия_Группа: С10, Ш5, ОН С8 С16 Ш8, T2, ОН, ВЗ Ш6, Т3, НН
  Фамилия_Группа: С8 С10, Ш9, НН С16 Ш10, T4, ОН Ш8, Т2, НН, ВЗ
  Фамилия_Группа: С16 С10, Ш7, ОН, ВЗ С8 Ш12, T6, НН Ш6, Т3, ОН
  Фамилия_Группа: С16 С8 С10, Ш8, НН, Ш11, T5, ОН, ВЗ Ш9, Т4, НН
  Фамилия_Группа: С9, Ш7, ОН, ВЗ С8 С16 Ш14, T5, НН, Ш8, Т3, ОН
  Фамилия_Группа: С10, Ш8, НН, ВЗ С8 С16 Ш10, Т5, НН, Ш8, Т3, ОН
  Фамилия_Группа: С16 С10, Ш5, ОН С8 Ш5, Т3, ОН, ВЗ Ш7, Т2, НН
  Фамилия_Группа: C8 C16 C10, Ш6, ОН Ш8, T4, НН Ш6, Т3, ОН, ВЗ
  Фамилия_Группа: С16 С8 С10, Ш8, НН Ш7, T3, ОН, ВЗ Ш9, Т4, НН
  Фамилия_Группа: С10, Ш5, ОН, ВЗ С8 С16 Ш8, T2, НН Ш10, Т4, ОН

3.7. Рекомендации по составлению отчета по лабораторной работе

В дополнение к общим требованиям к отчету, представленным в разделе 1, опишите по пунктам все исследования, которые вы провели в окне кода (п. 3.5.1) и сделанные вами выводы.

Вы можете также привести объяснения терминов: тип данных, константа, литерал; указать, какие типы данных имеются в Java и диапазоны их значений, описать, как объявляются переменные, дать определение оператора присваивания.

Помните, что содержание отчета – важнейшее подспорье при защите лабораторной работы.

3.8. Контрольные вопросы

1) Какие простые типы данных существуют в Java?

2) От чего зависит диапазон значений числовых типов?

3) Какой из типов обеспечивает б о льшую точность double или float?

4) Что такое литерал?

5) Как задается переменная?

6) Как задается именованная константа?

7) Как задать литерал типа float?

8) Как задать литерал типа long?

9) Опишите, как работает оператор присваивания?

10) Когда возникает ошибка «Потеря точности»?

11) Какие возможности предоставляет окно кода BlueJ?

12) Чему равно значение выражения 2<5? Какого оно типа?

13) Чему равно значение выражения 10<=5? Какого оно типа?

14) Какие возможности предоставляет оператор форматированного вывода System.out.printf (format, list);.

4. ЛАБОРАТОРНАЯ РАБОТА № 3. ОБРАБОТКА ЦЕЛОЧИСЛЕННЫХ ДАННЫХ.

4.1. Цель работы

Закрепить навыки объявления переменных и констант; освоить операции для данных целых типов; закрепить навыки применения оператора присваивания.

4.2. Постановка задачи

1) Ознакомиться с принципами хранения и обработки целочисленных данных в Java.

2) Разработать и отладить программу, демонстрирующую выполнение операций над данными целого типа.

4.3. Внеаудиторная подготовка

Для подготовки к лабораторной работе следует ознакомиться с [1] (П.Ноутон, Г.Шилдт. Java 2, с.48-50, 52-64).

4.4. Краткие теоретические сведения

Характеристики целочисленных типов данных приведены в таблице 4.1.

Таблица 4.1 – Целочисленные типы данных и их характеристики

Для каждого целочисленного типа существует библиотечный класс-оболочка, содержащий полезные методы для работы с целочисленными данными. Названия этих классов приведены в четвертом столбце таблицы 4.1.





Дата публикования: 2015-09-17; Прочитано: 432 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...