JAVA_20 Пн 27 май 2019 15:56:41 https://beginnersbook.com/2013/03/inheritance-in-java/ хорошее /home/alex/Consolejava/Study-java/etud/9/9_82/9_827/src/InitializationOrder.java result good пример с https://farenda.com/java/java-initialization-order/ https://www.youtube.com/watch?v=PuV6N3aCOxg&list=PLrCZzMib1e9pnFbVV3u4s7ki5NTnm7WgT&index=2
Java Initialization order из сайта 39:31/1:29:35 what about init order заслуживает, скачал 14 файлов с Технострима. Молодёжно, современно, доходчиво 5+ я помню что у меня линукс. Поэтому добавил в коробочку Робачевский А. М.Операционная система UNIX®. % СПб.:2002. стр.528 и UNIX. Профессиональное программирование. 3-е изд. У. Ричард Стивенс, Стивен А. Раго и Забродин Л.Д. - UNIX: основы командного интерфейса и программирования (в примерах и задачах) и UNIX and Linux System Administration Handbook, 5th Edition todo https://vk.com/wall-3183750?offset=0&owners_only=1&q=%23unix http://www.stolyarov.info/books/asm_unix asm 1 and 2 https://www.youtube.com/watch?v=7MOHC94Ukj4 Hello world на ассемблере для linux alex@alex:~/Consolejava/Study-java/etud/9/9_82/9_828/src/asm-hello$ ./a.out
Hello, world! таким образом. Ещё о простоте Hello World в файле на компьютере видно. cycle.o Проверка на наличие аргументов https://introcs.cs.princeton.edu/java/13flow/ и https://introcs.cs.princeton.edu/java/13flow/TenHellos.java.html скомпилировалось у меня. https://introcs.cs.princeton.edu/java/13flow/ здесь прекрасные блок-схемы. Вт 28 май 2019 https://shendenkov.at.ua/index/prostoj_kalkuljator_na_java/0-17 Так как мы уже разобрались из чего состоит класс и как писать консольные приложения, давайте напишем нашу первую полезную программу. Мы напишем простейший калькулятор. Первое, что нам необходимо сделать, это создать новый проект консольного приложения и назвать его, например MyCalculator. После создания нового проекта мы конечно же увидим основной класс приложения, в котором можно описать всю логику калькулятора. Но чтобы научиться чему-то новому и чтобы просто было интересно давайте дополнительно в нашем проекте задействуем интерфейс Java. Интерфейс в Java - это специальная конструкция, которая описывает обязательную структуру использующего её класса. Более простым языком это означает, что если мы хотим создать объект, то для этого нам необходимо определить класс этого объекта. А если нам необходимо задать правила построения этого класса, то нам необходим интерфейс. Это очень важная вещь при наследовании классов. Про наследование классов мы поговорим попозже, а сейчас мы научимся работать с интерфейсом. Если мы посмотрим в левой части консоль тоже хорошо NetBeans'a на структуру проекта, то увидим что наш основной класс лежит в определённо папке. Эта папка и является его пакетом. Теперь нажмём на этот пакет правой кнопкой мыши и выберем раздел Создать. Здесь мы увидим много различных элементов, которые мы может создать прямо сейчас. Давайте создадим новый Интерфейс Java и назовём его PrimitiveCalculator. Как мы видим внешне его структура абсолютно такая же как и у класса, но вместо ключевого слова class здесь имеется ключевое слово interface. Главное отличие интерфейса от класса в том, что здесь не описывается объект, а только объявляется какими обязательными элементами он должен обладать объект, если его класс будет использовать данный интерфейс. Приведём наш интерфейс к такому виду:Как видите интерфейс довольно простой и лаконичный. Здесь объявляются 4 метода, которые обязательно должны быть описаны в классе который будет использовать этот интерфейс.Теперь давайте вернёмся к нашему основному классу и приведём его к следующему виду: Давайте разберёмся, что здесь описано. Добавилось ключевое слово implements, которое как бы подключает используемый интерфейс PrimitiveCalculator. В конструктор принимаются параметры типа double и String, описывается вся логика работы калькулятора с помощью методов add, sub, mul и div. Эти метода как раз и являются теми методами, которые обязательно должны присутствовать в нашем классе, потому что мы используем созданный ранее интерфейс. Также мы используем ключевое слово return, после которого идёт возвращаемое значение этого метода если он что-то возвращает. Это ключевое слово сразу же прекращает выполнение метода, в котором оно вызвано. Оно обязательно должно присутствовать в методе. Для методов, которые ничего не возвращают его можно не указывать - NetBeans автоматически его подставляет неявным образом. Обратите внимание, что в методе main мы создаём новый объект типа MyCalculator, но не помещаем его ни в одну переменную и он сразу же исчезает. Что, естественно, не имеет никакого смысла, если бы нам необходимо было его использовать дальше и поэтому NetBeans пометит это как предупреждение. Но тем не менее объект на мгновение создаётся и в процессе создания выполняет все необходимые нам операции. Для выполнения программы ей необходимы 3 параметра, а именно число, операция и число. Прямо как в математике. Чтобы их передать программе необходимо её запускать в командной строке и через пробел после названия программы писать параметры. Но эти параметры можно задать и в NetBeans для проверки работы программы. Для этого нажмём правой кнопкой мыши на текущий проект, выберем Свойства, перейдём в категорию Выполнить, в поле Аргументы укажем необходимые нам аргументы и нажмём OK. Теперь как только мы будем запускать этот проект в NetBeans, он автоматически будет подставлять эти параметры в метод main. Всё как пользователь будет делать вручную в командной строке. end есть ещё world hello https://algs4.cs.princeton.edu/12oop/ но здесь недоступно мне для понимания. Fr 31 Mai 18:48:28 MSK 2019 http://blog.jamesdbloom.com/ http://blog.jamesdbloom.com/JavaCodeToByteCode_PartOne.html это то. 2013/05/02 то это. // Пт май 31 19:56:48 MSK 2019
// https://www.youtube.com/watch?v=bx2wqdQsUQA
// WhileIfElse.java
public class WhileIfElse {
public static void main(String[] args)
{
double num1, num2;
String op;
Scanner ipNum1 = new Scanner(System.in);
Scanner ipNum2 = new Scanner(System.in);
Scanner ip0p = new Scanner(System.in);
while(true)
{
System.out.print("Firs number: ");
num1 = ipNum1.nextDouble();
System.out.print("Second number: ");
num2 = ipNum2.nextDouble();
op = ipOp.next();
if(op.eguals("+"))
System.out.printlln(num1 + num2);
else if(op.equals("-"))
System.out.println(num1 - num2);
else if(op.equal("*"))
System.out.println(num1 * num2);
else if(op.equal("/"))
System.out.println(num1 / num2);
else
System.out.print("Unrecognized Operator...");
}
}
} где-то ошибка. Ничего, надо все-равно раз 10 перепечатать наизусть.
}}