- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •• Данные
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •РекурсивныйЦентри дистанционногоне
- •Центр дистанционного
- •Центр дистанционного
- •Пример: факториалЦентр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Ц нтр дистанционного
- •Другие примеры:Центр дистанционного
- •Пример: палиндромЦе тр истанционного
- •Немного другойЦентрпример:дистанционного
- •Центр ди танционного
- •Взаимная рекурсияЦентр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
Центр дистанционного
обучения
Конструкторы
Пример 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