Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-й семестр / Лекции / 2 - Презентация.pptx
Скачиваний:
54
Добавлен:
25.12.2020
Размер:
2.24 Mб
Скачать

Центр дистанционного

обучения

Конструкторы

Пример 2:

public class Person { String name = "";

Date birthDate = new Date();

public Person(String name, Date birthDate) { this.name = name;

this.birthDate = birthDate;

}

}

Person p; // OK

p = new Person(); // плохо – ошибка компиляции

21

online.mirea

.ru

 

Центр дистанционного

обучения

Инициализация

Инициализация это блок инструкций, который выполняется сразу же после создания полей и перед вызовом конструктора

Класс необязательно должен иметь инициализацию, хотя в действительности это не так

Пример:

public class Thingy { String s;

//блок ниже представляет инициализацию

{ s="Hello"; }

}

Обычно инициализация выполняет более сложную работу

22

online.mirea

.ru

 

Центр дистанционного

обучения

Статическая

Статическая инициализация это блок инструкций, который выполняется, когда класс загружается самый первый раз

Статическая инициализация может быть полезной, чтобы производить однократную инициализацию статических полей данных

Пример:

public class Thingy {

 

static String s;

 

// блок ниже-статическая инициализация

}

static { s="Hello"; }

 

 

 

Обычно статическая

 

 

 

 

инициализация выполняет

 

 

более сложную работу

23

online.mirea

.ru

 

Центр дистанционного

обучения

Ключевое слово this

В Java thisэто ссылка на сам объект (в C++ это указатель)

Example:

public class Point { private int radius; private String color;

public Point(int radius, String color) { this.radius = radius;

this.color = color;

}

}

Служебное слово thisтакже используется, чтобы вызвать другой конструктор в том же классакак, мы увидим позже!

24

online.mirea

.ru

 

Центр дистанционного

обучения

Форматированный

Частовыводвозникает необходимость в форматировании числовых значений так, чтобы их можно было при выводе представить должным образом

Стандартная библиотека Java классов содержит классы, которые обеспечивают возможности форматированного вывода

Класс NumberFormat позволяет значениям формата , как валюты или проценты format values as currency or percentages

Класс DecimalFormat позволяет вам форматировать значения, основываясь на шаблонах

Оба класса находятся в пакете java.text package

3-25 online.mirea

.ru

Центр дистанционного

обучения

Форматированный

вводgetCurrencyInstance():-вывод возвращает объект NumberFormat .

getPercentInstance(): возвращает объект NumberFormat для процентов.

•Каждый объект форматировщик имеет метод,

называемый format, который возвращает строку с

указанной информацией в соответствующем формате

•Класс NumberFormat содержит статические методы, которые возвращают отформатированный объект

online.mirea

.ru

Центр дистанционного

обучения

PayBill.java

import java.util.Scanner; import java.text.NumberFormat;

public class PayBill {

public static void main (String[] args) {

final double TAX_RATE = 0.22; // 22% налог

int quantity;

double subtotal, tax, totalCost, unitPrice;

Scanner scan = new Scanner(System.in);

NumberFormat fmt1 = NumberFormat.getCurrencyInstance(); NumberFormat fmt2 = NumberFormat.getPercentInstance();

System.out.print("Enter the quantity: "); quantity = scan.nextInt(); System.out.print ("Enter the unit price: "); unitPrice = scan.nextDouble();

3-27 online.mirea

.ru

Центр дистанционного

обучения

PayBill.java

subtotal = quantity * unitPrice; tax = subtotal * TAX_RATE; totalCost = subtotal + tax;

// вывод с использованием форматирования

System.out.println ("Subtotal: " + fmt1.format(subtotal)); System.out.println ("Tax: " + fmt1.format(tax) + " at "

+ fmt2.format(TAX_RATE));

} }

System.out.println ("Total: " + fmt1.format(totalCost));

3-28 online.mirea

.ru

Центр дистанционного

обучения

Форматированный

вывод

• Класс DecimalFormat может быть использован для форматирования различными способами значений с плавающей запятой

• Например, можно указать, что при выводе число должно быть сокращено до трех знаков после запятой

• Конструктор DecimalFormat() принимает строку, которая представляет собой шаблон для форматированного вывода числа

3-29 online.mirea

.ru

Центр дистанционного

обучения

Форматированный

• Длявыводтого-чтобы создать объект DecimalFormat:

DecimalFormat formatter = new DecimalFormat(pattern);

Pattern должен быть строкой, которая содержит требуемый шаблон (pattern), например: “0.00” будет отображать две цифры после запятой

Вы можете изменить шаблон (pattern) с помощью: applyPattern(pattern)

Для форматирования чисел используется метод format(). Например:

System.out.println(formatter.format(15.026

));

3-30 online.mirea

.ru

Соседние файлы в папке Лекции