Лабораторные по Java (2 курс)

Введение

Язык программирования Java используется очень широко, на нем пишут как огромные системы, так и небольшие сайты.

У Java есть особенность для него нужен и компилятор, и интерпретатор, то есть он является одновременно и интерпретируемым языком, и компилируемым.

В отличие от многих других языков программирования, компилятор переводит программу на языке Java не в инструкции процессору, а в промежуточный байт-код. После  байт-код записывается в файл. Этот файл подается на вход интерпретатору, который переводит байт-код в код инструкций процессора и отдает их ему для выполнения.

Наличие и компилятора, и интерпретатора позволяет совместить два преимущества: оптимизацию кода на этапе компиляции и кроссплатформенность на этапе выполнения.

Уже много лет как JVM (Java Virtual Machine) — это не просто виртуальная машина, в байт-код которой компилируется язык программирования Java, а нечто куда большее. Сегодня JVM — это платформа, для которой существует множество популярных языков программирования, таких как Scala, Groovy и Clojure. Kotlin — еще один язык в этом ряду, и он обладает целым рядом преимуществ и особенностей.

Некоторые современные разработчики считают Kotlin «новой Jav’ой»,  языком, который использует всё лучшее, что есть в Java, плюс,  добавляет то, что нужно разработчикам.

Kotlin вошёл в список официальных языков разработки на Android.

Kotlin на 100 % совместим с Java. Вы можете продолжать работать над  Java-проектом, но уже используя Kotlin.  Java-фреймворки также будут доступны.

Kotlin, как и Java, компилируется в байт-код,  Kotlin/Native — технология компилирования Kotlin в двоичный код (еще одно преимущество).

Вот один из примеров, полезных и впечатляющих возможностей для Java-кодеров, которые только начинают знакомство с Kotlin.

Java:

public class Person {
    private final String name;
    private final int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Kotlin ❤ :

data class Person(val name: String, val age: Int)

Первая программа (HelloWorld) на Kotlin:

package hello

fun main() {
println("Hello World")
}

[1,2]Все страницы

С подобных позиций, красив, функционален (собственный сервер можно написать, уложившись в 10 строк кода) и используем разработчиками (в том числе, мобильных приложений) язык Golang (нежно называемый корифеями программирования «Гошечка»).

На просторах интернета можно встретить два мнения:  «Java стареет» и что » что Java вечна, а все прочее – хайп» [3].

Сделать свой выбор вы сможете, изучив Java.

Несколько слов скажем о разработке под  Android.  На время изучения  вам нужно всегда использовать эти сайты:
https://developer.android.com/index.html — официальная документация и примеры
http://stackoverflow.com/ — если есть проблема, то тут на 99% будет на него ответ.

Для начала советуем изучить ссылки:
http://habrahabr.ru/post/164853/
http://developer.android.com/guide/topics/manifest/manifest-intro.html — на английском
http://androidteam.ru/dev/particles/androidmanifest-xml.html — на русском
http://developer.alexanderklimov.ru/android/theory/gradle.php
http://developer.android.com/guide/practices/screens_support.html — на английском про разные разрешения экрана
http://puregoogle.ru/2013/07/26/nemnogo-o-dpi-i-podderzhke-xxxhdpi-v-android/
Многие ссылки устаревшие но концепция андроида не изменилась. Если можете читать и понимать по-английски, то лучше работайте с оригинальными текстами.

Лабораторная 1

Язык Java появился в 1990 как язык для программирования бытовых приборов. Чтобы написать, скомпилировать и запустить программу на языке Java, вам нужно скачать JDK 8 (Java Developmen Kit — инструментарий разработчика Java).
Ссылка для скачивания:
http://www.oracle.com/technetwork/java/javase/downloads/index.htm
Вам нужно запустить скачанный файл и со всем согласиться.
JDK будет установлено в папку C:/Program Files/Java.
Там должна быть подпапка bin, а в ней javac.exe и java.exe – это компилятор и интерпретатор.
Теоретически теперь вы уже можете компилировать и запускать java-программы из этой папки. Но лучше
добавить в переменную окружения PATH путь к папке bin — тем самым обеспечить возможность компилировать
и интерпретировать java-программы из других папок.
Эти видео помогут скачать программу и настроить систему на вашем компьютере:
скачиваем jdk
настраиваем систему для работы с Java

Если у вас Linux, то разделителем в PATH служит не символ точки с запятой, а двоеточие.
Первая программа
Для того чтобы написать первую программу на Java, скопируйте следующий код в любой текстовый редактор и сохраните в файл с именем HelloWorld.java:

public class HelloWorld {

   public static void main(String args[]) {
       System.out.println(«Hello, World!»);
   }
}

Проверьте, чтобы ваш текстовый редактор назвал файл именно HelloWorld.java, это важно для последующей компиляции.
Затем:
1. Откройте командную строку (Держа клавишу Shift, клик правой кнопкой мыши на рабочем пространстве папки, в которой находится файл — в открывшимся меню выбрать «Открыть окно команд»; для более старый версий Windows: Win+R,набрать в открывшемся окошке сmd, нажать клавишу «ввод»).
2. Перейдите в ту папку, в которой находится ваш файл с исходным кодом (сd имя_папки — перейти в папку, cd .. подняться
по иерархии папок на уровень вверх, d: — перейти на диск d)
3. Запустите команду javac HelloWorld.java. В случае успешной компиляции не будет никаких сообщений, а будет создан файл с именем HelloWorld.class.
Это скомпилированная программа (байт-код).
4. Введите команду java HelloWorld — в консоли появится фраза, которая в команде
System.out.println(«Hello, World!»);
была ограничена двойными кавычками: «Hello, World!»

См. видео: первая программа на Java часть I
первая программа на Java часть II

Упражнение
1) Выведите любой текст в консоль, воспользовавшись интегрированной средой разработки (IntelliJ IDEA, Netbeans, Eclipse,…)
2) Выведите любой текст на форму, воспользовавшись графическим интерфейсом JavaSwing (пример выполнения)
3) Настроить у себя на ноутбуке (дома) Android sdk, создать первый проект «HelloWorld».

Изучите, как выглядят в Java данные, типы данных и переменные.

В результате выполнения этой лабораторной вы должны уметь:

  • Создавать консольные и графические приложения на Java с использованием интегрированной средой разработки и без ее использования
  • Подбирать нужный тип для вашей переменной
  • Объявлять переменную
  • Использовать оператор присваивания
  • Писать программы с использованием выражений
  • Вычислять тип выражения
  • Использовать в одном выражении выражения разных типов, числовых и логических
  • Пользоваться методом System.out.println(…)

Лабораторная 2

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

import java.util.Scanner;

public class Viktorina {

public static void main(String[] args)

throws java.io.IOException {

int x, y = 0;

do{

System.out.println("Ответьте на вопросы викторины, выбрав порядковый номер одного из предложенных ответов: 1, 2 или 3 ");

System.out.println("Гаттерия — это:");

System.out.println("1 — Бабочка огромных размеров");

System.out.println("2 — Мелкий крокодил");

System.out.println("3 — Единственная рептилия, у которой есть третий глаз на темени");

// Вводим целое число из командной строки

Scanner in = new Scanner(System.in);

x = in.nextInt();

if (x == 3) {

System.out.println("Вы правы плюс очко");

y = y + 1;}

if (x != 3) { System.out.println("Вы не правы ");}

}

while(x<1||x>3);
do{
System.out.println("Сколько обычно весит сама крупная рептилия — кожистая черепаха:");

System.out.println("1 — До 700 кг ");

System.out.println("2 — До 1000 кг ");

System.out.println("3 — До 2000 кг ");

Scanner in = new Scanner(System.in);

x = in.nextInt();

if (x == 1) {

System.out.println("Вы правы плюс очко");
y = y + 1;}
if (x != 3) {System.out.println("Вы не правы ");}
}
while(x<1||x>3);
do{
System.out.println("Самый крупный динозавр (длинна до 36 м и вес до 88 тонн):");
System.out.println("1 — Диплодок ");
System.out.println("2 — Сейсмозавр "); 
System.out.println("3 — Бронтозавр"); 
Scanner in = new Scanner(System.in);
x = in.nextInt(); 
if (x == 2) {
System.out.println("Вы правы плюс очко"); 
y = y + 1;} 
if (x !=3) {System.out.println("Вы не правы "); }
} 
while(x<1||x>3); 
System.out.println("Вы получили "+y+" очко"); 
}
}

Упражнение Напишите свою игру-викторину, используя Java Swing (пример выполнения: видео, исходники ).

Упражнение
1) Выведите на экран график функции в интервале от 0 до 360 градусов:
a) sin(x)
b) cos(x)
c) tg(x)
d) 3+sin(2x)
e) cos(x+30)
f) cos(2x)-sin(x)
g) tg(x-3)+0,5
3) Вычислите sin x = x — x3/3!+x5/5!-x7/7!
4) Найдите два целых трёхзначных числа, частное которых приближает число «пи» с наибольшей точностью
5) Разбейте заданное число на два слагаемых всеми различными способами. Разбейте это же число на три слагаемых
6) Напечатайте таблицу значений функции sin(x+y) для 10 значений аргументов: 0, 10, 20,…,90
7) Сосчитайте, сколько шестизначных чисел имеют одинаковые суммы трёх первых и трёх последних цифр

Упражнение
(Android) Cоздать экран на котором будет 2 элемента TextView и одна кнопка Button. По нажатию на кнопку нужно поменять местами текст в текстовых элементах ( текст должен быть задан в xml strings). Клик вам нужно «повесить» не только на кнопку, но и на оба TextView, и по нажатию также менять местами тексты в TextView (что бы получить текст из TextView есть соответвующий метод getText, а setText для установки).
«Повесьте» клик  тремя разными способами: сделать имплемент OnClickListener на текущую «активити», анонимным классом встраивая прямо  его в аргумент, и в виде переменной отдельно.

В результате выполнения этой лабораторной вы должны уметь:

  • Уметь вводить данные через консоль
  • Уметь использовать операторы выбора и циклов
  • Писать простые программы, используя графический интерфейс (Java Swing, Android)

 

Лабораторная 3

Рассмотрим пример создания простейшего класса. C его помощью мы смоделируем окружности на координатной плоскости.
Каждая окружность будет определяться своим центром (то есть точкой с двумя числовыми координатами) и радиусом (то есть его длиной, представляемой в виде числа).

Упражнение

  1. Напишите на Java Swing  простой калькулятор, используя графический редактор виджетов и без его использования .
  2. Напишите калькулятор под android
  3. Напишите калькулятор на JavaFX (для ленивых — можете использовать видеоурок и исходники (только разберитесь, пожалуйста, и сделайте свою версию)

Лабораторная 4

 

WebView — специальный компонент JavaFX, позволяющий отображать web-контент в приложении. WebView использует специальный движок на базе webkit, интегрированный в Java Runtime.

Преимущества WebView:

  • Работает на всех платформах: Linux / MacOS / Windows
  • Отображает страницы довольно быстро
  • Имеет проработанный Java API
  • Удобные интерфейсы вызова JavaScript кода из Java
  • Возможность предоставлять JavaScript коду API Java приложения

Упражнение

Напишите простую игрушку на JavaFX наподобие примера созданной по видео  (исходники, вспомогательное видео), сконвертируйте созданное десктоп-приложение  с помощью компоненты WebView и попробуйте запустить его на нескольких разных мобильных устройствах.

Создайте похожее приложение  на AndroidStudio

Литература

[1]https://kotlinlang.org/

[2] Kotlin в действии. / пер. с англ. Киселев А. Н. — М.: ДМ К Пресс, 2018. — 402 с.)

[3] https://ain.ua/special/java_4ever/

https://habr.com/company/mailru/blog/329294/

Переходим с Java на Kotlin: 5 крутых особенностей для Android-разработчиков

андроид:

http://habrahabr.ru/post/164853/
http://developer.android.com/guide/topics/manifest/manifest-intro.html — на английском
http://androidteam.ru/dev/particles/androidmanifest-xml.html — на русском
http://developer.alexanderklimov.ru/android/theory/gradle.php
http://developer.android.com/guide/practices/screens_support.html — на английском про разные разрешения экрана
http://puregoogle.ru/2013/07/26/nemnogo-o-dpi-i-podderzhke-xxxhdpi-v-android/

методические материалы по информатике