Successfully reported this slideshow.
Your SlideShare is downloading. ×

Лекция 6

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Stream API
Stream API
Loading in …3
×

Check these out next

1 of 19 Ad

More Related Content

Slideshows for you (19)

Similar to Лекция 6 (20)

Advertisement

Recently uploaded (20)

Advertisement

Лекция 6

  1. 1. Вводный курс в Java Занятие 6 Александр Русин e-mail: alexander.rusin@simbirsoft.com Android Developer ООО СимбирСофт
  2. 2. Mаth  Во-первых, идеальное представление вещественных чисел является бесконечным, в то время как представление в Java ограничено числом бит.  Во вторых использовании двоичного, а не десятичного представления чисел  Дроби как, например, 1/5 и 7/50, которые точно представимы в десятичной нотации (0.2 и 0.14 соответственно) оказываются периодическими в двоичном коде. Эта проблема аналогична трудностям в представлении периодических дробей, например 1/3 в десятичном коде (0.3333333...).
  3. 3. Логарифмы по основанию 10 Значением логарифма является число, в степень которого должно быть возведено основание, чтобы получить заданный результат. public class Logarithms { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { System.out.println(i + "t" + Math.log10(i) + "t" + Math.log(i)+ "t" + lg(i)); } } public static double lg(double x) { return Math.log(x) / Math.log(2.0); } }
  4. 4. Кубические корни public class CubeRoots { public static void main(String[] args) { for (int i = -5; i <= 5; i++) { System.out.println(Math.cbrt(i)); } } }
  5. 5. Список функций  public static int abs(int a)  public static long abs(long a)  public static int max(int a, int b)  public static long max(long a, long b)  public static int min(int a, int b)  public static long min(long a, long b)  Список всех функций можно найти  http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Math.html
  6. 6. Логирование  Зачем нужно логирование?  Log4j  Наиболее известная библиотека для логирования сообщений. Она позволяет написать в java коде вызовы библиотеки и далее гибко настраивать, не изменяя уже написанный код.
  7. 7. Пример import org.apache.log4j.Logger; public class LogApp { /** * Hello world! */ public final static Logger LOG = Logger.getLogger(LogApp.class); public static void main(String[] args) { LOG.info("Hello World!"); } }
  8. 8. Логеры  Экземпляры класса org.apache.log4j.Logger, вызывая методы которых в подсистему log4j посылается сообщение для логгинга.  Приоритет  FATAL - произошла фатальная ошибка - у этого сообщения наивысший приоритет  ERROR - в программе произошла ошибка  WARN - предупреждение в программе что-то не так  INFO - информация. К сведению трудящися.  DEBUG - детальная информация для отладки  TRACE - наиболее полная информация. трассировка выполнения программы. Наиболее низкий приоритет.
  9. 9. Аппендеры  Объект который определяет что нужно делать с логируемыми сообщениями.  Описываются в файле настроек (log4j.xml)чтобы вывод логов в процессе эксплуатации приложения можно было легко менять.
  10. 10. Стандартные аппендеры.  org.apache.log4j.ConsoleAppender - наиболее часто используемый во время разработки аппендер. Выводит сообщения на консоль.  org.apache.log4j.FileAppender - просто записывает логируемые сообщения в файл.  org.apache.log4j.DailyRollingFileAppender - тоже записывает сообщения в файл но каждый день создаёт новый файл с таким же именем.  org.apache.log4j.net.SMTPAppender - посылает сообщения по электронной почте.
  11. 11. Util  Классы даты и времени  java.util.Calendar,  java.util.Date,  java.util.TimeZone.
  12. 12. Calendar  Абстрактный класс для работы с датами и временем. Содержит большое количество констант для дней недели и месяцев.  protected Calendar()  public static Calendar getInstance()  public static Calendar getInstance(TimeZone zone)  Создает экземпляр, настроенный на текущий часовой пояс и локализацию дат.
  13. 13. Calendar  public final Date getTime()  public final void setTime(Date date)  protected long getTimeInMillis()  protected void setTimeInMillis(long millis)  Чтение и установка времени.  public final int get(int field)  public final void set(int field, int value)  Чтение и установка конкретного поля даты.  public void setTimeZone(TimeZone value)  Установка заданного часового пояса.
  14. 14. Date  Класс, представляющий дату и время.  public Date()  public Date(long date)  Устанавливает текущее значение времени или заданное в миллисекундах от полночи 1 января 1970 года.  public long getTime()  public void setTime(long time)  Чтение и установка значений времени.
  15. 15. Random  Генератор псевдослучайных последовательностей.  public Random()  public Random(long seed)  Два экземпляра этого класса, инициализированные одинаковыми значениями возвратят одинаковые последовательности. По умолчанию инициализируется текущим временем в миллисекундах.  public void setSeed(long seed)  Инициализировать последовательность.
  16. 16. Random  protected int next(int bits)  Следующее псевдослучайное число. Задается число младших бит, значение которых будет вычислено.  public int nextInt()  Аналог next(32).  public long nextLong()  Возвращает псевдослучайное значение типа long, составленное из двух 32-разрядных значений.
  17. 17. Выпускное задание Реализовать приложение, которое максимально повторяет функциональность стандартного калькулятора Android.
  18. 18. Литература  http://docs.oracle.com/javase/1.5.0/docs/api/  http://www.log4j.ru/
  19. 19. Спасибо за внимание!

×