-Поиск по дневнику

Поиск сообщений в _ghbhjif

 -Подписка по e-mail

 

 -Сообщества

Участник сообществ (Всего в списке: 1) вязалочки

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 23.01.2014
Записей: 54
Комментариев: 4
Написано: 72





java Überschreiben von Superklasse Methoden in Unterklassen

Понедельник, 08 Июля 2019 г. 21:12 + в цитатник

java Überschreiben von Superklasse Methoden in Unterklassen

https://www.java-tutorial.org/vererbung.html

 

Java-Tutorial.org

Java lernen leicht gemacht

Java lernen

Shirts und Geschenke für Nerds

Vererbung

Bei einer Vererbung in Java wird zwischen einer Super- und einer Subklasse unterschieden. Die Superklasse, auch Eltern- oder Basisklasse genannt, ist in der Regel eine Zusammenfassung von allgemeinen Attributen und Methoden unterschiedlicher aber ähnlicher Objekte.

Die Subklasse, auch Kindsklasse bezeichnet, bekommt von ihrer Superklasse sämtliche Attribute und Methoden vererbt. Desweiteren wird die Subklasse um eigene Attribute und Methoden erweitert. Man spricht hier von einer Spezialisierung der Subklasse von der Superklasse.

Eine Vererbung in Java findet über das Schlüsselwort extends statt. Schauen wir uns dazu erst einmal die allgemeine Form an.

Modifikator class Subklasse extends Superklasse {

Der Modifikator kann Werte wie public, abstract oder andere Zugriffsmodifikatoren annehmen. Die Subklasse bezeichnet hier die Klasse, die etwas vererbt bekommt. Anschließend folgt das Schlüsselwort extends, welches die Vererbung der Superklasse einleitet. Die Superklasse zeigt anschließend an, von welcher Klasse etwas vererbt werden soll.

In Java gibt es keine Mehrfachvererbung. Von Klassen, die mit dem Keyword  final deklariert sind, können keine Kindsklassen abgeleitet werden. Eine Superklasse kennt Ihre Subklassen nicht.

Ein Superklasse, die nicht vollständig implementiert ist, wird mit dem Schlüsselwort abstract gekennzeichnet. Aus Klassen, die mit abstract gekennzeichnet sind, können jedoch keine Objekte erzeugt werden. Subklassen, die von einer abstrakten Superklasse ihre Attribute und Methoden vererbt bekommen, müssen die mit abstract gekennzeichneten Methoden implementieren. Geschieht dies nicht, so ist die Subklasse zwangläufig ebenfalls mit abstract zu kennzeichnen.

Die Subklasse bekommt sowohl alle Attribute als auch Methoden, die in der Superklasse mit dem Schlüsselwort public protected oder keinem versehen sind, vererbt. Alle Attribute und Methoden der Superklasse, die mit dem Schlüsselwort private gekennzeichnet sind, werden nicht vererbt. Die vererbten Methoden der Superklasse können auch in der Subklasse überladen oder sogar ersetzt (überschrieben) werden. Beim Überschreiben von Methoden kann auch der Sichtbarkeitsmodifikator verändert werden, aber nur von gar keinem Modifikator zu protected oder public bzw. von protected zu public. Hier gilt die Regel: Das Attribut bzw. Methode darf nicht 'privater' sein als in der Superklasse.

In der Subklasse können auch explizit die Methoden der Superklasse aufgerufen werden, dafür gibt es das Schlüsselwort super.

Kommen wir nun zu einem konkreten Beispiel:

public class Kugelschreiber extends Stift {


Bei diesem Beispiel bekommt die Klasse Kugelschreiber alle zugänglichen Attribute der Klasse Stift vererbt. So schauen wir uns dazu einmal ein Klassendiagramm in der Unified Modelling Language (UML) an.

uml,Vererbung,Klassendiagramm


In dem Bild zeigen die Pfeile der Subklassen auf die Superklasse. Dadurch wird noch einmal verdeutlicht, dass die Superklasse nicht Ihre Subklassen kennt, sondern nur die Kindsklasse ihre Elternklasse.

Damit eine Typumwandlung gefahrlos möglich ist, gibt es den instanceof-Operator. Anhand dieses Operators kann ermittelt werden, von welcher Klasse ein Objekt erstellt worden ist. Der instanceof-Operator gibt nur true oder false zurück, da er nur überprüft, ob ein Objekt von einer Klasse erzeugt wurde.

Sehen wir uns nun einmal die formale Syntax an:

objekt instanceof Klassenname

Subklassen sind automatisch immer auch eine Instanz von der Superklasse (jedoch nicht umgekehrt!).

Schauen wir uns zur Veranschaulichung noch ein Beispiel an. Bitte überlegen Sie erst Ihre Antwort und lösen Sie anschließend das Ergebnis auf..

Beispiel:

/* Die Klassen Grossvater, Vater und Sohn sollen hier nur zur Veranschaulichung dienen */
class Grossvater { ... }
class Vater extends Grossvater{ ... }
class Sohn extends Vater { ... }
// Hier wird jeweils ein Objekt der oben aufgeführten Klassen erzeugt.
Object refA = new Grossvater();
Object refB = new Vater();
Object refC = new Sohn();
// Ausgabe des Rückgabewertes des instanceof-Operators
System.out.println(""+refA instanceof Grossvater);
System.out.println(""+refB instanceof Grossvater);
System.out.println(""+refC instanceof Grossvater);

 

Dieses Beispiel dient einzig und allein zur Verdeutlichung des oben beschriebenen Sachverhaltes. Aus der Sicht eines Softwareentwicklers macht diese Vererbung eher weniger Sinn. Man würde dort eher eine Klasse Person machen und Grossvater, Vater und Sohn wären Objekte der Klasse Person.

Unterthemen:
 

JAVA_26

Воскресенье, 23 Июня 2019 г. 12:13 + в цитатник

JAVA_26

https://www.meetup.com/ru-RU/Java-Paraguay/events/past/

Java Paraguay Asunción, Парагвай

Участников — 164 Открытая группа
Кто организовал David H. и 5 других

Paraguay (amtlich: República del Paraguay [re'puβlika ðel pɑɾɑ'ɣwaj]; auf Guaraní: Tetã Paraguái) ist ein Binnenstaat in Südamerika, der im Osten an Brasilien, im Süden und Westen an Argentinien und im Norden und Westen an Bolivien grenzt. Die südliche und südöstliche Landesgrenze wird vom Fluss Paraná gebildet, die südwestliche sowie nordöstliche vom Río Paraguay, der das Land durchquert. Der Name des Flusses, nach dem auch der Staat benannt ist, stammt von der Sprache der Ureinwohner, Guaraní.

 

Tetã Paraguái (Guaraní)
República del Paraguay (spanisch)
Republik Paraguay
Flagge Paraguays
Wappen Paraguays
Flagge Wappen
Wahlspruch: Paz y justicia
(span. „Frieden und Gerechtigkeit“)
Amtssprache Guaraní und Spanisch
Hauptstadt Asunción
Staatsform Republik
Regierungssystem Präsidentielle Demokratie
Staatsoberhaupt, zugleich Regierungschef Präsident Mario Abdo Benítez
Fläche 406.752[1] km²
Einwohnerzahl 6.943.739[1] (Juli 2017) (105.)
Bevölkerungsdichte 16[2] Einwohner pro km²
Bevölkerungs­entwicklung +1,17 %[3] (2016)
Bruttoinlandsprodukt
  • Nominal
  • Total (KKP)
  • BIP/Einw. (nominal)
  • BIP/Einw. (KKP)
2016[4]
Index der menschlichen Entwicklung 0,702 (110.) (2018)[5]https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Paraguay_rel_location_map.svg/330px-Paraguay_rel_location_map.svg.png
Währung Guaraní (PYG)
Unabhängigkeit 14./15. Mai 1811 (von Spanien)
Nationalhymne Paraguayos, República o muerte
 
0:00
 
Nationalfeiertag 15. Mai (Unabhängigkeitstag)
Zeitzone UTC−4
UTC−3 (Sommerzeit)
Kfz-Kennzeichen PY
ISO 3166 PY, PRY, 600
Internet-TLD .py
Telefonvorwahl +595

𝔄𝔩𝔣𝔯𝔢𝔡𝔬 𝔖𝔱𝔯𝔬𝔢𝔰𝔰𝔫𝔢𝔯 𝔐𝔞𝔱𝔦𝔞𝔲𝔡𝔞 (𝔞𝔲𝔠𝔥 𝔖𝔱𝔯ö𝔰𝔰𝔫𝔢𝔯 𝔬𝔡𝔢𝔯 𝔖𝔱𝔯öß𝔫𝔢𝔯; * 3. 𝔑𝔬𝔳𝔢𝔪𝔟𝔢𝔯 1912 𝔦𝔫 𝔈𝔫𝔠𝔞𝔯𝔫𝔞𝔠𝔦ó𝔫; † 16. 𝔄𝔲𝔤𝔲𝔰𝔱 2006 𝔦𝔫 𝔅𝔯𝔞𝔰í𝔩𝔦𝔞, 𝔅𝔯𝔞𝔰𝔦𝔩𝔦𝔢𝔫) 𝔴𝔞𝔯 𝔢𝔦𝔫 𝔭𝔞𝔯𝔞𝔤𝔲𝔞𝔶𝔦𝔰𝔠𝔥𝔢𝔯 𝔐𝔦𝔩𝔦𝔱ä𝔯 𝔲𝔫𝔡 𝔓𝔬𝔩𝔦𝔱𝔦𝔨𝔢𝔯. 𝔙𝔬𝔫 1954 𝔟𝔦𝔰 1989 𝔴𝔞𝔯 𝔢𝔯 𝔓𝔯ä𝔰𝔦𝔡𝔢𝔫𝔱 𝔳𝔬𝔫 𝔓𝔞𝔯𝔞𝔤𝔲𝔞𝔶. ℨ𝔲𝔳𝔬𝔯 𝔴𝔞𝔯 𝔢𝔯 𝔊𝔢𝔫𝔢𝔯𝔞𝔩 𝔲𝔫𝔡 𝔒𝔟𝔢𝔯𝔟𝔢𝔣𝔢𝔥𝔩𝔰𝔥𝔞𝔟𝔢𝔯 𝔡𝔢𝔯 𝔖𝔱𝔯𝔢𝔦𝔱𝔨𝔯ä𝔣𝔱𝔢 𝔓𝔞𝔯𝔞𝔤𝔲𝔞𝔶𝔰.

 

 

 

/******************************************************************************************************************************************************************/

https://skillfactory.ru/ml-programma-machine-learning-online?utm_source=yandex&utm_medium=cpc&utm_campaign=ml_konkurenti_msk_cpc_yandex_seti&utm_term=ph_16095530277|key_%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82%D0%B8%20%D0%B0%D1%88%D0%BC%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0|pst_none|0|adph_no|&utm_content=dev_desktop|adid_6352809418|reg_%d0%a1%d0%b0%d0%bd%d0%ba%d1%82-%d0%9f%d0%b5%d1%82%d0%b5%d1%80%d0%b1%d1%83%d1%80%d0%b3&roistat=direct1_context_6352809418_%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82%D0%B8%20%D0%B0%D1%88%D0%BC%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0&roistat_referrer=topwar.ru&roistat_pos=none_0&yclid=3498408920657725690

/**************************************************************************************************************************************************************/
Онлайн
из любой точки мира
9 июля
дата старта
12 недель
длительность курса
Вы готовы влиться в Machine Learning?
С 2012 по 2018 годы количество вакансий специалистов по Data Science выросло в 19 раз. Прямо сейчас стажеров и профессионалов ищут Яндекс, Mail.ru, Сбербанк, Райффайзенбанк, Росбанк, МТС, Tele2, ЦИАН, М-Видео, Северсталь и другие крупные компании.

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

Совместно с профи из российских Data Science компаний мы разработали самый жизненный курс Machine Learning: с изучением как математических и статистических принципов алгоритмов, так и современных библиотек, с особым упором на предобработку данных, feature engineering и оценку моделей.
Партнер курса

https://www.youtube.com/watch?v=bh6jvpt5wGg

 

Johann Wolfgang von Goethe: FAUST I - [Teil 3/4] - Hörbuch

flo-Ton
Published on Mar 18, 2017
Ihr wollt zu einer fortgeschrittenen Szene? Weiter unten in der Videobeschreibung werdet ihr fündig.

Kleine Anmerkung: Da, ich das ganze ein wenig unter Zeitdruck aufgenommen habe und nicht die Gelegenheit hatte das ganze Hörbuch nochmal Korrektur zu hören, kann es passieren, dass hier und da mal das ein oder andere Wort falsch ausgesprochen wurde oder die Betonung falsch ist. Ich bitte, dies zu verzeihen :D

Szenenübersicht:
Straße: 00:00:00
Abend: 00:03:33
Spaziergang: 00:10:32
Der Nachbarin Haus: 00:13:29
Straße: 00:22:34
Garten: 00:25:08
Ein Gartenhäuschen: 00:32:59
Wald und Höhle: 00:34:08
Gretchens Stube: 00:42:02
Martens Garten: 00:43:10
Am Brunnen: 00:49:06
Zwinger: 00:51:14
Nacht: 00:52:37

/*************************************************************************************/

26. Juni 2019 Mittwoch 17 Stunden 40 Minuten
http://pr0java.blogspot.com/2015/05/return.html?showComment=1561116623895#c3088971889107405093
https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
https://stackoverflow.com/questions/10839042/what-is-the-difference-between-java-lang-void-and-void
https://javarush.ru/groups/posts/618-operator-return-v-java
https://javarush.ru/groups/posts/1383-operator-return
http://pr0java.blogspot.com/2015/05/return.html?showComment=1561116623895#c3088971889107405093
http://pr0java.blogspot.com/2015/07/blog-post_87.html
https://www.java67.com/2016/08/how-to-fix-illegal-start-of-expression-error-in-java.html
https://help.anylogic.ru/index.jsp?topic=%2Fcom.anylogic.help%2Fhtml%2Fcode%2FReturn.html
https://geekquestion.com/15371156-chto-takoe-soglashenie-o-vyzovakh-dlja-java-koda-na-platforme-linux/
https://vseloved.github.io/pdf/abi-ru.pdf 

Samstag, 29. Juni 2019, 09:49:21 Uhr
https://geekquestion.com/15371156-chto-takoe-soglashenie-o-vyzovakh-dlja-java-koda-na-platforme-linux/
𝔥𝔱𝔱𝔭://𝔭𝔯0𝔧𝔞𝔳𝔞.𝔟𝔩𝔬𝔤𝔰𝔭𝔬𝔱.𝔠𝔬𝔪/2015/07/𝔟𝔩𝔬𝔤-𝔭𝔬𝔰𝔱_66.𝔥𝔱𝔪𝔩
𝔓𝔬𝔩𝔶𝔪𝔬𝔯𝔭𝔥𝔦𝔰𝔪𝔲𝔰 - 𝔰𝔭ä𝔱𝔢 𝔅𝔦𝔫𝔡𝔲𝔫𝔤.
ℑ𝔪 𝔢𝔯𝔰𝔱𝔢𝔫 𝔄𝔯𝔱𝔦𝔨𝔢𝔩 ü𝔟𝔢𝔯 𝔓𝔬𝔩𝔶𝔪𝔬𝔯𝔭𝔥𝔦𝔰𝔪𝔲𝔰 𝔥𝔞𝔟𝔢𝔫 𝔴𝔦𝔯 𝔨𝔲𝔯𝔷 𝔢𝔯𝔣𝔞𝔥𝔯𝔢𝔫, 𝔴𝔞𝔰 𝔢𝔰 𝔦𝔰𝔱. 
ℑ𝔪 𝔚𝔢𝔰𝔢𝔫𝔱𝔩𝔦𝔠𝔥𝔢𝔫 𝔥𝔞𝔫𝔡𝔢𝔩𝔱 𝔢𝔰 𝔰𝔦𝔠𝔥 𝔩𝔢𝔡𝔦𝔤𝔩𝔦𝔠𝔥 𝔲𝔪 𝔢𝔦𝔫𝔢 𝔑𝔢𝔲𝔡𝔢𝔣𝔦𝔫𝔦𝔱𝔦𝔬𝔫 𝔡𝔢𝔯 𝔒𝔟𝔢𝔯𝔨𝔩𝔞𝔰𝔰𝔢𝔫𝔪𝔢𝔱𝔥𝔬𝔡𝔢𝔫 𝔦𝔫 𝔡𝔢𝔫 𝔘𝔫𝔱𝔢𝔯𝔨𝔩𝔞𝔰𝔰𝔢𝔫. 
𝔄𝔟𝔢𝔯 𝔴𝔞𝔥𝔯𝔰𝔠𝔥𝔢𝔦𝔫𝔩𝔦𝔠𝔥 𝔦𝔰𝔱 𝔡𝔦𝔢 𝔤𝔞𝔫𝔷𝔢 𝔎𝔯𝔞𝔣𝔱 𝔲𝔫𝔡 𝔖𝔠𝔥ö𝔫𝔥𝔢𝔦𝔱 𝔡𝔞𝔳𝔬𝔫 𝔫𝔬𝔠𝔥 𝔫𝔦𝔠𝔥𝔱 𝔤𝔞𝔫𝔷 𝔨𝔩𝔞𝔯. 
𝔘𝔫𝔡 𝔢𝔰 𝔦𝔰𝔱 𝔪ö𝔤𝔩𝔦𝔠𝔥𝔢𝔯𝔴𝔢𝔦𝔰𝔢 𝔫𝔦𝔠𝔥𝔱 𝔤𝔞𝔫𝔷 𝔨𝔩𝔞𝔯, 𝔴𝔞𝔯𝔲𝔪 𝔡𝔦𝔢𝔰 𝔞𝔩𝔩𝔢𝔰 𝔫𝔬𝔱𝔴𝔢𝔫𝔡𝔦𝔤 𝔦𝔰𝔱. 
𝔙𝔢𝔯𝔰𝔲𝔠𝔥𝔢𝔫 𝔴𝔦𝔯 𝔢𝔰 𝔧𝔢𝔱𝔷𝔱 𝔤𝔢𝔫𝔞𝔲𝔢𝔯 𝔥𝔢𝔯𝔞𝔲𝔰𝔷𝔲𝔣𝔦𝔫𝔡𝔢𝔫.
𝔘𝔫𝔡 𝔰𝔬 𝔴𝔦𝔯𝔡 𝔡𝔦𝔢 𝔞𝔩𝔩𝔤𝔢𝔪𝔢𝔦𝔫𝔢 𝔒𝔟𝔢𝔯𝔨𝔩𝔞𝔰𝔰𝔢 𝔡𝔦𝔢 𝔎𝔩𝔞𝔰𝔰𝔢𝔫𝔣𝔬𝔯𝔪 𝔰𝔢𝔦𝔫, 𝔲𝔫𝔡 𝔢𝔰 𝔴𝔢𝔯𝔡𝔢𝔫 
𝔡𝔦𝔢 𝔈𝔯𝔟𝔢𝔫 𝔡𝔢𝔰 𝔎ö𝔫𝔦𝔤𝔰, 𝔡𝔢𝔰 𝔓𝔯𝔦𝔫𝔷𝔢𝔫, 𝔡𝔢𝔰 𝔎ö𝔫𝔦𝔤𝔰, 𝔡𝔢𝔰 𝔓𝔯𝔦𝔫𝔷𝔢𝔫, 𝔡𝔢𝔰 𝔎𝔯𝔢𝔦𝔰𝔢𝔰, 𝔡𝔢𝔰 𝔔𝔲𝔞𝔡𝔯𝔞𝔱𝔰, 𝔡𝔢𝔰 𝔇𝔯𝔢𝔦𝔢𝔠𝔨𝔰 𝔰𝔢𝔦𝔫. 
𝔄𝔟𝔢𝔯 𝔴𝔦𝔯 𝔴𝔢𝔯𝔡𝔢𝔫 𝔢𝔦𝔫 𝔴𝔢𝔫𝔦𝔤 𝔴𝔢𝔦𝔱𝔢𝔯 𝔤𝔢𝔥𝔢𝔫 𝔞𝔩𝔰 𝔡𝔞𝔰 𝔞𝔟𝔤𝔢𝔡𝔯𝔬𝔰𝔠𝔥𝔢𝔫𝔢 𝔅𝔢𝔦𝔰𝔭𝔦𝔢𝔩 :) 𝔲𝔫𝔡 𝔫𝔬𝔠𝔥 𝔢𝔦𝔫 𝔭𝔞𝔞𝔯 𝔈𝔯𝔟𝔢𝔫 𝔟𝔦𝔩𝔡𝔢𝔫. 
𝔒𝔳𝔞𝔩 𝔴𝔢𝔯𝔡𝔢𝔫 𝔴𝔦𝔯 𝔡𝔢𝔯 𝔈𝔯𝔟𝔢 𝔡𝔢𝔰 𝔎𝔯𝔢𝔦𝔰𝔢𝔰 𝔰𝔢𝔦𝔫, 𝔲𝔫𝔡 ℜ𝔢𝔠𝔱 𝔡𝔢𝔯 𝔈𝔯𝔟𝔢 𝔡𝔢𝔰 𝔔𝔲𝔞𝔡𝔯𝔞𝔱𝔰.
htthttps://geekquestion.com/15371156-chto-takoe-soglashenie-o-vyzovakh-dlja-java-koda-na-platforme-linux/ps://geekquestion.com/15371156-chto-takoe-soglashenie-o-vyzovakh-dlja-java-koda-na-platforme-linux/










 


JAVA_26

Понедельник, 17 Июня 2019 г. 16:08 + в цитатник

JAVA_26 Nathan Shutz

𝔇𝔬𝔫𝔫𝔢𝔯𝔰𝔱𝔞𝔤, 20. 𝔍𝔲𝔫𝔦 2019, 18:38:15 𝔘𝔥𝔯
𝔥𝔱𝔱𝔭𝔰://𝔱𝔢𝔵𝔱𝔤𝔢𝔫𝔢𝔯𝔞𝔱𝔬𝔯.𝔯𝔲/𝔣𝔬𝔫𝔱/𝔤𝔬𝔱𝔥𝔦𝔠
𝔉𝔯𝔢𝔦𝔱𝔞𝔤, 21. 𝔍𝔲𝔫𝔦 2019, 10:01:28 𝔘𝔥𝔯
 
Deutsch hilft mir, Java zu lernen
𝔇𝔢𝔲𝔱𝔰𝔠𝔥 𝔥𝔦𝔩𝔣𝔱 𝔪𝔦𝔯, 𝔍𝔞𝔳𝔞 𝔷𝔲 𝔩𝔢𝔯𝔫𝔢𝔫

 
 
ArrayList Part 7: Array vs ArrayList (JAVA)
28 декабря 2018
Nathan Schutz. Nathan DO Without MY LOVE. The video looks at the differences and similarities between Arrays and ArrayLists in Java.
 
ArrayList Part 6: Resizing and Memory (JAVA)
21 декабря 2018
Download Video From Youtube, arraylist,resizing,arraylist capacity,memory,java,programming. ArrayList Part 6: Resizing and Memory (JAVA) - Nathan...
 
ArrayList Part 5: Resizing (JAVA)
19 декабря 2018
It also demonstrates the methods ensureCapaci... 500 views. Nathan Schutz. ArrayList Part 5: Resizing (JAVA).
 
ArrayList Part 4: Remove Backwards (Java)
14 декабря 2018
Просмотры : 314 от : Nathan Schutz. java lists remove all from to Смотреть видео онлайн в хорошем качестве с возможностью скачать видео или...
 
ArrayList Part 2: Methods (Java) Part A
10 декабря 2018
Nathan Schutz. Publicado em 4 meses atrás. Автор: Nathan Schutz.
1082 просмотра
 
ArrayList Part 2: Methods Part B (JAVA)

10 декабря 2018

 

ArrayList Part 2: Methods Part B (JAVA)
10 декабря 2018
Download Video From Youtube, arraylist,arraylist methods,methods,java,programming,arraylist class. ArrayList Part 2: Methods Part B (JAVA) - Nathan...
 
Inheritance Part 5: protected Access (JAVA)
7 июля 2017
Nathan Schutz YouTube Channel Analytics and Report - Powered by NoxInfluencer. Inheritance Part 5: protected Access (JAVA) - اتفرج تيوب.
Nathan Schutz3982 просмотра
 
Inheritance Part 6: Multi-Level (Java)
9 февраля 2017
Nathan Schutz YouTube Channel Analytics and Report - Powered by NoxInfluencer. Inheritance Part 6: Multi-Level (Java).
1708 просмотров
 
Inheritance 4 : Overriding with toString (Java)
8 февраля 2017
Nathan Schutz - 08 February 2017. The video looks at how overriding works with inheritance. 50 साल पहले.
5518 просмотров
 
Inheritance Part 3: Constructors (Java)
7 февраля 2017
Nathan Schutz YouTube Channel Analytics and Report - Powered by NoxInfluencer. Inheritance Part 3: Constructors (Java) .
7920 просмотров
 
Inheritance Part 2: Extending Classes (Java)
6 февраля 2017
Channel: Nathan Schutz. Inheritance part 2: extending classes (java) . 8 months ago. Nathan Schutz. Download HD - 720p.
10 тыс. просмотров
 

JAVA_25

Воскресенье, 09 Июня 2019 г. 20:47 + в цитатник

JAVA_25

Вс 09 июн 2019 20:46:49

𝔖𝔞𝔪𝔪𝔢𝔩𝔰𝔱𝔢𝔩𝔩𝔢 𝔖𝔬𝔫𝔫𝔱𝔞𝔤, 16. 𝔍𝔲𝔫𝔦 2019, 22.08.14 𝔘𝔥𝔯

Дальше операции с битами. 𝔄𝔨𝔱𝔲𝔢𝔩𝔩𝔢 ℨ𝔢𝔦𝔱 16:08:41, 𝔐𝔬𝔫𝔱𝔞𝔤 10, 𝔍𝔲𝔫𝔦 2019 𝔐𝔖𝔎  Нет.  http://study-java.ru/uroki-java/urok-3-znakomstvo-s-eclipse/comment-page-3/ Hello World

Dienstag Juni 2019 https://ru.wikipedia.org/wiki/0_(%D1%87%D0%B8%D1%81%D0%BB%D0%BE)#%D0%9D%D0%BE%D0%BB%D1%8C_%D0%B2_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%BC_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B5

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

Вавилонские математики использовали особый клинописный значок для шестидесятеричного нуля, начиная примерно с 300 г. до н. э., а их учителя-шумеры, вероятно, сделали это ещё раньше. Однако символ «двойной клин» вавилонских мудрецов никогда не означал «число 0»[15].

Цифра 0 отсутствовала в римской, греческой и китайской системах обозначения чисел. Без этой цифры обходились, назначая некоторым символам значения крупных чисел. Например, число 100 в греческой системе счисления обозначалось буквой ϡ, в Римской - буквой C, в китайской - иероглифом 百.

От индийцев через арабов, называвших цифру 0 «сифр» (отсюда слова «цифра» и лат. zero, ноль), она попала в Западную Европу.[16]

А какая может быть Java ? Для начала надо понять 0. https://habr.com/en/post/219595/  Пара слов о числах с плавающей точкой в Java В общем виде ответ на поставленный выше вопрос будет звучать примерно так: «Подобные ошибки связанны с внутренним двоичным (binary) представлением чисел. Подобно тому, как в десятичной системе нельзя точно представить результат деления 1/3, так и в двоичной системе невозможно точно представить 1/10. Если вам нужно исключить ошибки округления, следует использовать класс BigDecimal». Существует важное различие между абстрактными вещественными числами, такими как π или 0.2, и типом данных double в Java. Во-первых, платонически-идеальное представление вещественных чисел является бесконечным, в то время как представление в Java ограничено числом бит. Однако точность вычислений является еще более насущной проблемой, чем ограничение на размер чисел. Еще больше «интригует» совершенно оригинальный способ округления чисел, но обо всем по порядку. Начать, пожалуй, стоит с двоичного представления целых чисел. Этот абзац нам пригодится чуть позже. Итак. Самым простым вариантом представления целых чисел считается так называемый «Прямой код», в котором старший бит используется для записи знака числа (0 — положительное, 1 — отрицательное), а оставшиеся биты используются непосредственно для записи самого значения. Таким образом, число "-9" в восьмиразрядном представлении будет выглядеть как 10001001. Недостатком такого подхода считается наличие двух нулей ("+0" и "-0") и усложнение арифметических операций с отрицательными числами. Другим вариантом, интересующим нас, является «Код со сдвигом», в котором, говоря простым языком, мы прибавляем к нашему числу некое константное для данного типа представления число, равное 2^(n-1), где n — число разрядов (бит). В нашем случае, пример с числом "-9" в восьмиразрядном представлении будет выглядеть так:
-9 + 2^(8-1) = -9 + 128 = 119. В двоичном виде получим 01110111. Этот вариант удобен тем, что ноль у нас всего один, однако при арифметических операциях необходимо будет учитывать смещение. https://hsto.org/files/155/d90/3be/155d903be9144b91b5a76ed6463e3065.jpg

https://www.java2s.com/Code/Java/Language-Basics/BinaryDigits.htm  Bitwise Demo   

https://www.javamadesoeasy.com/2015/02/rotational-palindrome.html   Rotational palindrome in java  https://habr.com/en/company/piter/blog/450480/ ph_piter May 4, 2019 at 09:40 AM Как квантовые вычисления могут повлиять на разработку ПО Original author: Johan Vos я чуток запоздал. Ну ничего. Микромир опаснейшая вещь. В течение последних месяцев и лет значительно возрос интерес к квантовым вычислениям. Постоянно появляются новые материалы из исследовательских институтов, компаний или государственных организаций, рассказывающие о прорывных достижениях в этой сфере. В то же время, в статьях с более слабым техническим базисом рассуждают о потенциальных последствиях квантовых вычислений, причем, прогнозы варьируются от взлома большинства современных приемов шифрования до обещаний об излечении всех болезней и завершения работы над созданием полноценного ИИ. Однако, не все эти ожидания одинаково реалистичны.

Если вы – практикующий трезвомыслящий программист, то вам, должно быть, интересно, где граница между фактами и вымыслами в этих выкладках, и как квантовые вычисления повлияют на разработку ПО в будущем.

Естественно, остается еще много лет до создания рабочего аппаратного обеспечения для квантовых вычислений. Однако, общие принципы этой парадигмы понятны уже сегодня, существуют абстракции, позволяющие разработчикам создавать приложения, в которых возможности квантовых вычислений реализуются при помощи симуляторов.
Не сводятся ли квантовые вычисления к очередному усилению CPU?Традиционная разработка ПО с использованием классических компьютеров, связана с трансляцией высокоуровневого языка программирования (например, Java) в операции, совершаемые на большом количестве (аппаратных) транзисторов.
На рисунке 1 этот процесс схематизирован в простейшем виде: исходный код Java компилируется в платформонезависимый байт-код, который, в свою очередь, транслируется в платформоспецифичный машинный код. Машинный код использует ряд простейших операций (вентилей), выполняемых в памяти. Основной аппаратный компонент, используемый для этой цели – всем известный транзистор. Таким образом, если вы сейчас разрабатываете квантовый алгоритм, то у вас есть время на его совершенствование, а запустить его сможете, когда в доступе появится квантовое оборудование.

Как можно научиться работать с квантовыми алгоритмами на Java?


Можно скачать и освоить Strange, опенсорсный симулятор квантового компьютера на Java. Strange позволяет смоделировать квантовый алгоритм, создав ряд кубитов и применив к ним несколько квантовых вентилей.

В качестве простейшего примера давайте создадим два кубита, q[0] и q[1], так, что исходно оба они находятся в состоянии 0. Затем применим к каждому из кубитов по два простых вентиля, так, чтобы графически эта операция соответствовала рис. 7.

Первый кубит сначала попадет на вентиль Pauli-X, а затем на вентиль Адамара. Вентиль Pauli-X переведет его из состояния |0&gt к |1&gt, а вентиль Адамара переведет в суперпозицию с равными вероятностями |0&gt и |1&gt. Следовательно, если мы выполним всю последовательность 1000 раз, и 1000 раз измерим первый кубит в конце этого цикла, то в среднем можно ожидать, что в 500 случаях у него будет значение 0 и в 500 случаях – значение 1.
При помощи Strangle
Второй кубит даже проще. Начинаем с вентиля Identity, который не меняет поведения кубита, после чего передаем его на вентиль Pauli-X, меняющий его значение с 0 на 1.

public static void main(String[] args) {
        Program p = new Program(2);
        Step s = new Step();
        s.addGate(new X(0));
        p.addStep(s);
        Step t = new Step();
        t.addGate(new Hadamard(0));
        t.addGate(new X(1));
        p.addStep(t);
        SimpleQuantumExecutionEnvironment sqee = new SimpleQuantumExecutionEnvironment();
        Result res = sqee.runProgram(p);
        Qubit[] qubits = res.getQubits();
        Arrays.asList(qubits).forEach(q -> System.out.println("qubit with probability on 1 = "+q.getProbability()+", measured it gives "+ q.measure()));
    }

В этом приложении создается квантовая программа с двумя кубитами:



    Program p = new Program(2);  

Это все, что нужно знать о квантовых вычислениях?

Конечно же нет. Здесь мы не затронули ряд важных концепций, в частности, не обсудили запутанность, обеспечивающую взаимодействие между двумя кубитами, даже если физически они находятся очень далеко друг от друга. Не поговорили о самых известных квантовых алгоритмах, среди которых – алгоритм Шора, позволяющий разлагать целые числа на простые множители. Также мы проигнорировали ряд математических и физических фактов, в частности, не учли, что в суперпозиции |x> = a|0> + b|1>, оба числа, a и b, могут быть комплексными.


Однако, основная цель этой статьи заключалась в том, чтобы вы могли составить впечатление о квантовых вычислениях и понять, как они вписываются в будущее разработки ПО.

Как все это возможно? Если вас действительно интересует ответ на этот вопрос – придется подробно изучить квантовую физику Квантовая физика лишь численно описывает наблюдаемые явления, вопрос "как?" — уже из разряда философии и не имеет однозначного ответа. Для реальных квантовых вычислений есть проект IBM Q. В Oracle пытаются впихнуть невпихуемое в свою Java, чтобы продолжать доить эту технологию. https://habr.com/en/post/406643/  скорость света https://allatra-science.org/monitoring/wind температура онлайн

 


JAVA_24

Суббота, 08 Июня 2019 г. 11:21 + в цитатник

JAVA_24

Конкатенация

https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%BA%D0%B0%D1%82%D0%B5%D0%BD%D0%B0%D1%86%D0%B8%D1%8F#%D0%92_%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B5 Конкатена́ция (лат. concatenatio «присоединение цепями; сцепле́ние») — операция склеивания объектов линейной структуры, обычно строк. Например, конкатенация слов «микро» и «мир» даст слово «микромир».

В математике

Конкатенация — бинарная операция, определённая на словах данного алфавита. Обозначения:

  • A {\displaystyle A} A — алфавит, набор букв;
  • α {\displaystyle \alpha } \alpha , β {\displaystyle \beta } \beta , γ {\displaystyle \gamma } \gamma  — слова, составленные из букв;
  • a 1 a n {\displaystyle a_{1}\ldots a_{n}} a_{1}\ldots a_{n} и b 1 b m {\displaystyle b_{1}\ldots b_{m}} b_{1}\ldots b_{m} — записанные подряд и пронумерованные буквы двух слов.

Если α = a 1 a n {\displaystyle \alpha =a_{1}\ldots a_{n}} {\displaystyle \alpha =a_{1}\ldots a_{n}} и β = b 1 b m {\displaystyle \beta =b_{1}\ldots b_{m}} {\displaystyle \beta =b_{1}\ldots b_{m}} — слова в алфавите A {\displaystyle A} A, то конкатенацией слов α {\displaystyle \alpha } \alpha и β {\displaystyle \beta } {\displaystyle \beta }, которую обозначим в этой статье как α β {\displaystyle \alpha \cdot \beta } {\displaystyle \alpha \cdot \beta }, будет слово γ {\displaystyle \gamma } {\displaystyle \gamma } в том же алфавите A {\displaystyle A} A, определяемое равенством

γ = α β = a 1 a n b 1 b m {\displaystyle \gamma =\alpha \cdot \beta =a_{1}\ldots a_{n}b_{1}\ldots b_{m}} {\displaystyle \gamma =\alpha \cdot \beta =a_{1}\ldots a_{n}b_{1}\ldots b_{m}}.

Например, если α = m e d i a {\displaystyle \alpha =media} {\displaystyle \alpha =media} и β = w i k i {\displaystyle \beta =wiki} {\displaystyle \beta =wiki} — слова в алфавите A = { a , b , c , , z } {\displaystyle A=\{a,b,c,\ldots ,z\}} {\displaystyle A=\{a,b,c,\ldots ,z\}}, содержащем все буквы латинского алфавита, то

γ = α β = m e d i a w i k i = m e d i a w i k i {\displaystyle \gamma =\alpha \cdot \beta =media\cdot wiki=mediawiki} \gamma =\alpha \cdot \beta =media\cdot wiki=mediawiki.

Свойства конкатенации

  • Операция конкатенации ассоциативна. То есть, если нужно выполнить конкатенацию трёх слов, то от расстановки скобок результат не изменится: ( w i k i m e d i a ) p e d i a = w i k i m e d i a p e d i a {\displaystyle (wiki\cdot media)\cdot pedia=wikimediapedia} (wiki\cdot media)\cdot pedia=wikimediapedia, и в то же время w i k i ( m e d i a p e d i a ) = w i k i m e d i a p e d i a {\displaystyle wiki\cdot (media\cdot pedia)=wikimediapedia} wiki\cdot (media\cdot pedia)=wikimediapedia.
  • Операция конкатенации некоммутативна. В самом деле, w i k i m e d i a = w i k i m e d i a {\displaystyle wiki\cdot media=wikimedia} {\displaystyle wiki\cdot media=wikimedia}, но m e d i a w i k i = m e d i a w i k i w i k i m e d i a {\displaystyle media\cdot wiki=mediawiki\neq wikimedia} {\displaystyle media\cdot wiki=mediawiki\neq wikimedia}. От перестановки операндов меняется результат операции, что и означает её некоммутативность.
  • Пустое слово — ε {\displaystyle \varepsilon } {\displaystyle \varepsilon }, — является нейтральным элементом (единицей) операции конкатенации. То есть, если ε {\displaystyle \varepsilon } {\displaystyle \varepsilon } — пустое слово, то для любого слова α {\displaystyle \alpha } \alpha выполнено равенство:

ε α = α ε = α {\displaystyle \varepsilon \cdot \alpha =\alpha \cdot \varepsilon =\alpha } {\displaystyle \varepsilon \cdot \alpha =\alpha \cdot \varepsilon =\alpha }.

  • Множество A {\displaystyle A^{*}} A^{*} всех слов в алфавите образует моноид (так называемый «свободный моноид»).
  • Множество A { ε } {\displaystyle A^{*}\setminus \{\varepsilon \}} {\displaystyle A^{*}\setminus \{\varepsilon \}} всех непустых слов в алфавите образует полугруппу.
  • Длина (количество букв) конкатенации слов равна сумме длин операндов:

| α β | = | α | + | β | {\displaystyle |\alpha \cdot \beta |=|\alpha |+|\beta |} |\alpha \cdot \beta |=|\alpha |+|\beta |.

Итерации

Операция конкатенации слов, подобно операции умножения чисел, порождает операцию итерации (или «возведения в степень»). Пусть α {\displaystyle \alpha } \alpha  — некоторое слово в алфавите A {\displaystyle A} A, а n {\displaystyle n} n — целое неотрицательное число. Тогда n {\displaystyle n} n-ой степенью слова α {\displaystyle \alpha } \alpha , обозначаемой α n {\displaystyle \alpha ^{n}} {\displaystyle \alpha ^{n}}, будет слово γ {\displaystyle \gamma } \gamma в том же алфавите A {\displaystyle A} A, определяемое равенством:

γ = α n = α α n {\displaystyle {\begin{matrix}\gamma =\alpha ^{n}=&\underbrace {\alpha \cdot \ldots \cdot \alpha } \\&n\end{matrix}}} {\begin{matrix}\gamma =\alpha ^{n}=&\underbrace {\alpha \cdot \ldots \cdot \alpha }\\&n\end{matrix}}

(повтор слова α {\displaystyle \alpha } \alpha n {\displaystyle n} n раз). Пример: «a»3="aaa".

В случае n = 0 {\displaystyle n=0} {\displaystyle n=0}, степень α 0 {\displaystyle \alpha ^{0}} {\displaystyle \alpha ^{0}} по определению полагается равной пустому слову, ε {\displaystyle \varepsilon } {\displaystyle \varepsilon }.

В информатике

Операция конкатенации определяется для типов данных, имеющих структуру последовательности (список, очередь, массив и ряд других). В общем случае, результатом конкатенации двух объектов A {\displaystyle A} A и B {\displaystyle B} B является объект C = A B {\displaystyle C=A\cdot B} {\displaystyle C=A\cdot B}, полученный поочерёдным добавлением всех элементов объекта B {\displaystyle B} B, начиная с первого, в конец объекта A {\displaystyle A} A.

Из соображений удобства и эффективности различают две формы операции конкатенации:

  1. Модифицирующая конкатенация. Результат операции формируется в левом операнде.
  2. Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.

 

Konkatenation

Concatenation

Concatenación

Вместо java_23 начну с java_24

Сб 08 июн 2019 11:20:34 

http://proglang.su/java/strings-concat

14.5. Java — Метод concat()

Метод concat() — возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызова этого метода. Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой.

Синтаксис

Синтаксис метода:

public String concat(String s)

Параметры

Подробная информация о параметрах:

  • s — строка, добавленная к концу этой строки.

Возвращаемое значение

  • В Java concat() возвращает строку, представляющую собой результат объединения символов этого объекта, за которым следует аргумент строки символов.

Пример

public class Test {

   public static void main(String args[]) {
      String s = "Я стану программистом!";
      s = s.concat(" Очень хорошим программистом!");
      
      System.out.println(s);
   }
}


http://study-java.ru/uroki-java/rabota-so-strokami-v-java-osnovnye-metody-klassa-string/

Еще раз конкатенация

String concat(String str) — производит ту же конкатенацию, что была описана выше, но использование этого метода из класса String положительно влияет на производительность и скорость программы. На небольших примерах это незаметно и не существенно, но в более серьезных приложениях стоит использовать этот метод. Результатом работы метода будет строка. Параметр, который нужно передавать в метод для конкатенации — тоже строка, о чем нам говорит значение в скобках (String str).

Перепишем пример 2, при помощи concat():

String[] animals = {"Хаски","Морж"};// массив строк 1
String[] food = {"колбаски","корж"}; // массив строк 2

//составляем строки из элементов массивов и связующего слова
String result1 = animals[0].concat(" ест ").concat(food[0]);
String result2 = animals[1].concat(" ест ").concat(food[1]);

//выводим на консоль
System.out.println(result1);
System.out.println(result2);

Присвоить цвета странам :

20:40:41
𝔖𝔬𝔫𝔫𝔱𝔞𝔤, 9. 𝔍𝔲𝔫𝔦 2019
𝔐𝔬𝔰𝔨𝔞𝔲𝔢𝔯 ℨ𝔢𝔦𝔱 (𝔐𝔖𝔎)  0300 𝔘𝔗ℭ
𝔘𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡 𝔳𝔬𝔫 ℑ𝔥𝔯𝔢𝔪 𝔖𝔱𝔞𝔫𝔡𝔬𝔯𝔱: alex@alex:~/Consolejava/state/bitshifting/Expressions/15.4/Cat/bin$ ls
Cat.class  HelloWorld.class
alex@alex:~/Consolejava/state/bitshifting/Expressions/15.4/Cat/bin$ java HelloWorld
Eating...
Sleeping zz-z-z-z...
Play with me...mauu...  http://study-java.ru/uroki-java/urok-5-sozdanie-i-vyzov-klassa-v-java/ Сколько мордовал меня этот кот Марии. Наконец.

Следующая страница -> JAVA_25

 


JAVA_23

Пятница, 07 Июня 2019 г. 17:14 + в цитатник

JAVA_23

https://www.tutorialspoint.com/compile_java_online.php

Тоже хороший компилятор.

https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.22.2

Chapter 15. Expressions

Table of Contents

15.1. Evaluation, Denotation, and Result
15.2. Variables as Values
15.3. Type of an Expression
15.4. FP-strict Expressions
15.5. Expressions and Run-Time Checks
15.6. Normal and Abrupt Completion of Evaluation
15.7. Evaluation Order
15.7.1. Evaluate Left-Hand Operand First
15.7.2. Evaluate Operands before Operation
15.7.3. Evaluation Respects Parentheses and Precedence
15.7.4. Argument Lists are Evaluated Left-to-Right
15.7.5. Evaluation Order for Other Expressions
15.8. Primary Expressions
15.8.1. Lexical Literals
15.8.2. Class Literals
15.8.3. this
15.8.4. Qualified this
15.8.5. Parenthesized Expressions
15.9. Class Instance Creation Expressions
15.9.1. Determining the Class being Instantiated
15.9.2. Determining Enclosing Instances
15.9.3. Choosing the Constructor and its Arguments
15.9.4. Run-Time Evaluation of Class Instance Creation Expressions
15.9.5. Anonymous Class Declarations
15.9.5.1. Anonymous Constructors
15.10. Array Creation Expressions
15.10.1. Run-Time Evaluation of Array Creation Expressions
15.11. Field Access Expressions
15.11.1. Field Access Using a Primary
15.11.2. Accessing Superclass Members using super
15.12. Method Invocation Expressions
15.12.1. Compile-Time Step 1: Determine Class or Interface to Search
15.12.2. Compile-Time Step 2: Determine Method Signature
15.12.2.1. Identify Potentially Applicable Methods
15.12.2.2. Phase 1: Identify Matching Arity Methods Applicable by Subtyping
15.12.2.3. Phase 2: Identify Matching Arity Methods Applicable by Method Invocation Conversion
15.12.2.4. Phase 3: Identify Applicable Variable Arity Methods
15.12.2.5. Choosing the Most Specific Method
15.12.2.6. Method Result and Throws Types
15.12.2.7. Inferring Type Arguments Based on Actual Arguments
15.12.2.8. Inferring Unresolved Type Arguments
15.12.3. Compile-Time Step 3: Is the Chosen Method Appropriate?
15.12.4. Run-Time Evaluation of Method Invocation
15.12.4.1. Compute Target Reference (If Necessary)
15.12.4.2. Evaluate Arguments
15.12.4.3. Check Accessibility of Type and Method
15.12.4.4. Locate Method to Invoke
15.12.4.5. Create Frame, Synchronize, Transfer Control
15.13. Array Access Expressions
15.13.1. Run-Time Evaluation of Array Access
15.14. Postfix Expressions
15.14.1. Expression Names
15.14.2. Postfix Increment Operator ++
15.14.3. Postfix Decrement Operator --
15.15. Unary Operators
15.15.1. Prefix Increment Operator ++
15.15.2. Prefix Decrement Operator --
15.15.3. Unary Plus Operator +
15.15.4. Unary Minus Operator -
15.15.5. Bitwise Complement Operator ~
15.15.6. Logical Complement Operator !
15.16. Cast Expressions
15.17. Multiplicative Operators
15.17.1. Multiplication Operator *
15.17.2. Division Operator /
15.17.3. Remainder Operator %
15.18. Additive Operators
15.18.1. String Concatenation Operator +
15.18.2. Additive Operators (+ and -) for Numeric Types
15.19. Shift Operators
15.20. Relational Operators
15.20.1. Numerical Comparison Operators <, <=, >, and >=
15.20.2. Type Comparison Operator instanceof
15.21. Equality Operators
15.21.1. Numerical Equality Operators == and !=
15.21.2. Boolean Equality Operators == and !=
15.21.3. Reference Equality Operators == and !=
15.22. Bitwise and Logical Operators
15.22.1. Integer Bitwise Operators &, ^, and |
15.22.2. Boolean Logical Operators &, ^, and |
15.23. Conditional-And Operator &&
15.24. Conditional-Or Operator ||
15.25. Conditional Operator ? :
15.26. Assignment Operators
15.26.1. Simple Assignment Operator =
15.26.2. Compound Assignment Operators
15.27. Expression
15.28. Constant Expressions

Much of the work in a program is done by evaluating expressions, either for their side effects, such as assignments to variables, or for their values, which can be used as arguments or operands in larger expressions, or to affect the execution sequence in statements, or both.

This chapter specifies the meanings of expressions and the rules for their evaluation.

15.1. Evaluation, Denotation, and Result

When an expression in a program is evaluated (executed), the result denotes one of three things:

  • A variable (§4.12) (in C, this would be called an lvalue)

  • A value (§4.2, §4.3)

  • Nothing (the expression is said to be void)

Evaluation of an expression can also produce side effects, because expressions may contain embedded assignments, increment operators, decrement operators, and method invocations.

An expression denotes nothing if and only if it is a method invocation (§15.12) that invokes a method that does not return a value, that is, a method declared void (§8.4). Such an expression can be used only as an expression statement (§14.8), because every other context in which an expression can appear requires the expression to denote something. An expression statement that is a method invocation may also invoke a method that produces a result; in this case the value returned by the method is quietly discarded.

Value set conversion (§5.1.13) is applied to the result of every expression that produces a value.

Each expression occurs in either:

  • The declaration of some (class or interface) type that is being declared: in a field initializer, in a static initializer, in an instance initializer, in a constructor declaration, in an annotation, or in the code for a method.

  • An annotation (§9.7) of a package or of a top level type declaration.

15.2. Variables as Values

If an expression denotes a variable, and a value is required for use in further evaluation, then the value of that variable is used. In this context, if the expression denotes a variable or a value, we may speak simply of the value of the expression.

If the value of a variable of type float or double is used in this manner, then value set conversion (§5.1.13) is applied to the value of the variable.

15.3. Type of an Expression

If an expression denotes a variable or a value, then the expression has a type known at compile time. The rules for determining the type of an expression are explained separately below for each kind of expression.

The value of an expression is assignment compatible (§5.2) with the type of the expression, unless heap pollution (§4.12.2) occurs.

Likewise, the value stored in a variable is always compatible with the type of the variable, unless heap pollution occurs.

In other words, the value of an expression whose type is T is always suitable for assignment to a variable of type T.

Note that an expression whose type is a class type F that is declared final is guaranteed to have a value that is either a null reference or an object whose class is F itself, because final types have no subclasses.

15.4. FP-strict Expressions

If the type of an expression is float or double, then there is a question as to what value set (§4.2.3) the value of the expression is drawn from. This is governed by the rules of value set conversion (§5.1.13); these rules in turn depend on whether or not the expression is FP-strict.

Every compile-time constant expression (§15.28) is FP-strict.

If an expression is not a compile-time constant expression, then consider all the class declarations, interface declarations, and method declarations that contain the expression. If any such declaration bears the strictfp modifier (§8.1.1.3, §8.4.3.5, §9.1.1.2), then the expression is FP-strict.

If a class, interface, or method, X, is declared strictfp, then X and any class, interface, method, constructor, instance initializer, static initializer or variable initializer within X is said to be FP-strict.

Note that an annotation (§9.7) element value (§9.6) is always FP-strict, because it is always a compile-time constant expression.

It follows that an expression is not FP-strict if and only if it is not a compile-time constant expression and it does not appear within any declaration that has the strictfp modifier.

Within an FP-strict expression, all intermediate values must be elements of the float value set or the double value set, implying that the results of all FP-strict expressions must be those predicted by IEEE 754 arithmetic on operands represented using single and double formats.

Within an expression that is not FP-strict, some leeway is granted for an implementation to use an extended exponent range to represent intermediate results; the net effect, roughly speaking, is that a calculation might produce "the correct answer" in situations where exclusive use of the float value set or double value set might result in overflow or underflow.

15.5. Expressions and Run-Time Checks

If the type of an expression is a primitive type, then the value of the expression is of that same primitive type.

If the type of an expression is a reference type, then the class of the referenced object, or even whether the value is a reference to an object rather than null, is not necessarily known at compile time. There are a few places in the Java programming language where the actual class of a referenced object affects program execution in a manner that cannot be deduced from the type of the expression. They are as follows:

  • Method invocation (§15.12). The particular method used for an invocation o.m(...) is chosen based on the methods that are part of the class or interface that is the type of o. For instance methods, the class of the object referenced by the run-time value of o participates because a subclass may override a specific method already declared in a parent class so that this overriding method is invoked. (The overriding method may or may not choose to further invoke the original overridden m method.)

  • The instanceof operator (§15.20.2). An expression whose type is a reference type may be tested using instanceof to find out whether the class of the object referenced by the run-time value of the expression is assignment compatible (§5.2) with some other reference type.

  • Casting (§5.5, §15.16). The class of the object referenced by the run-time value of the operand expression might not be compatible with the type specified by the cast. For reference types, this may require a run-time check that throws an exception if the class of the referenced object, as determined at run time, is not assignment compatible (§5.2) with the target type.

  • Assignment to an array component of reference type (§10.5, §15.13, §15.26.1). The type-checking rules allow the array type S[] to be treated as a subtype of T[] if S is a subtype of T, but this requires a run-time check for assignment to an array component, similar to the check performed for a cast.

  • Exception handling (§14.20). An exception is caught by a catch clause only if the class of the thrown exception object is an instanceof the type of the formal parameter of the catch clause.

Situations where the class of an object is not statically known may lead to run-time type errors.

In addition, there are situations where the statically known type may not be accurate at run time. Such situations can arise in a program that gives rise to compile-time unchecked warnings. Such warnings are given in response to operations that cannot be statically guaranteed to be safe, and cannot immediately be subjected to dynamic checking because they involve non-reifiable (§4.7) types. As a result, dynamic checks later in the course of program execution may detect inconsistencies and result in run-time type errors.

A run-time type error can occur only in these situations:

  • In a cast, when the actual class of the object referenced by the value of the operand expression is not compatible with the target type specified by the cast operator (§5.5, §15.16); in this case a ClassCastException is thrown.

  • In an automatically generated cast introduced to ensure the validity of an operation on a non-reifiable type (§4.7).

  • In an assignment to an array component of reference type, when the actual class of the object referenced by the value to be assigned is not compatible with the actual run-time component type of the array (§10.5, §15.13, §15.26.1); in this case an ArrayStoreException is thrown.

  • When an exception is not caught by any catch clause of a try statement (§14.20); in this case the thread of control that encountered the exception first attempts to invoke an uncaught exception handler (§11.3) and then terminates.

15.6. Normal and Abrupt Completion of Evaluation

Every expression has a normal mode of evaluation in which certain computational steps are carried out. The following sections describe the normal mode of evaluation for each kind of expression.

If all the steps are carried out without an exception being thrown, the expression is said to complete normally.

If, however, evaluation of an expression throws an exception, then the expression is said to complete abruptly. An abrupt completion always has an associated reason, which is always a throw with a given value.

Run-time exceptions are thrown by the predefined operators as follows:

  • A class instance creation expression (§15.9), array creation expression (§15.10), array initializer expression (§10.6), or string concatenation operator expression (§15.18.1) throws an OutOfMemoryError if there is insufficient memory available.

  • An array creation expression (§15.10) throws a NegativeArraySizeException if the value of any dimension expression is less than zero.

  • A field access expression (§15.11) throws a NullPointerException if the value of the object reference expression is null.

  • A method invocation expression (§15.12) that invokes an instance method throws a NullPointerException if the target reference is null.

  • An array access expression (§15.13) throws a NullPointerException if the value of the array reference expression is null.

  • An array access expression (§15.13) throws an ArrayIndexOutOfBoundsException if the value of the array index expression is negative or greater than or equal to the length of the array.

  • A cast expression (§15.16) throws a ClassCastException if a cast is found to be impermissible at run time.

  • An integer division (§15.17.2) or integer remainder (§15.17.3) operator throws an ArithmeticException if the value of the right-hand operand expression is zero.

  • An assignment to an array component of reference type (§15.26.1), a method invocation expression (§15.12), or a prefix or postfix increment (§15.14.2, §15.15.1) or decrement operator (§15.14.3, §15.15.2) may all throw an OutOfMemoryError as a result of boxing conversion (§5.1.7).

  • An assignment to an array component of reference type (§15.26.1) throws an ArrayStoreException when the value to be assigned is not compatible with the component type of the array (§10.5).

A method invocation expression can also result in an exception being thrown if an exception occurs that causes execution of the method body to complete abruptly.

A class instance creation expression can also result in an exception being thrown if an exception occurs that causes execution of the constructor to complete abruptly.

Various linkage and virtual machine errors may also occur during the evaluation of an expression. By their nature, such errors are difficult to predict and difficult to handle.

If an exception occurs, then evaluation of one or more expressions may be terminated before all steps of their normal mode of evaluation are complete; such expressions are said to complete abruptly.

If evaluation of an expression requires evaluation of a subexpression, then abrupt completion of the subexpression always causes the immediate abrupt completion of the expression itself, with the same reason, and all succeeding steps in the normal mode of evaluation are not performed.

The terms "complete normally" and "complete abruptly" are also applied to the execution of statements (§14.1). A statement may complete abruptly for a variety of reasons, not just because an exception is thrown.

15.7. Evaluation Order

The Java programming language guarantees that the operands of operators appear to be evaluated in a specific evaluation order, namely, from left to right.

It is recommended that code not rely crucially on this specification. Code is usually clearer when each expression contains at most one side effect, as its outermost operation, and when code does not depend on exactly which exception arises as a consequence of the left-to-right evaluation of expressions.

15.7.1. Evaluate Left-Hand Operand First

The left-hand operand of a binary operator appears to be fully evaluated before any part of the right-hand operand is evaluated.

If the operator is a compound-assignment operator (§15.26.2), then evaluation of the left-hand operand includes both remembering the variable that the left-hand operand denotes and fetching and saving that variable's value for use in the implied binary operation.

If evaluation of the left-hand operand of a binary operator completes abruptly, no part of the right-hand operand appears to have been evaluated.

Example 15.7.1-1. Left-Hand Operand Is Evaluated First

In the following program, the * operator has a left-hand operand that contains an assignment to a variable and a right-hand operand that contains a reference to the same variable. The value produced by the reference will reflect the fact that the assignment occurred first.

class Test1 {
    public static void main(String[] args) {
        int i = 2;
        int j = (i=3) * i;
        System.out.println(j);
    }
}

This program produces the output:

9

It is not permitted for evaluation of the * operator to produce 6 instead of 9.


Example 15.7.1-2. Implicit Left-Hand Operand In Operator Of Compound Assigment

In the following program, the two assignment statements both fetch and remember the value of the left-hand operand, which is 9, before the right-hand operand of the addition operator is evaluated, at which point the variable is set to 3.

class Test2 {
    public static void main(String[] args) {
        int a = 9;
        a += (a = 3);  // first example
        System.out.println(a);
        int b = 9;
        b = b + (b = 3);  // second example
        System.out.println(b);
    }
}

This program produces the output:

12
12

It is not permitted for either assignment (compound for a, simple for b) to produce the result 6.

See also the example in §15.26.2.


Example 15.7.1-3. Abrupt Completion of Evaluation of the Left-Hand Operand

class Test3 {
    public static void main(String[] args) {
        int j = 1;
        try {
            int i = forgetIt() / (j = 2);
        } catch (Exception e) {
            System.out.println(e);
            System.out.println("Now j = " + j);
        }
    }
    static int forgetIt() throws Exception {
        throw new Exception("I'm outta here!");
    }
}

This program produces the output:

java.lang.Exception: I'm outta here!
Now j = 1

That is, the left-hand operand forgetIt() of the operator / throws an exception before the right-hand operand is evaluated and its embedded assignment of 2 to j occurs.

15.7.2. Evaluate Operands before Operation

The Java programming language guarantees that every operand of an operator (except the conditional operators &&, ||, and ? :) appears to be fully evaluated before any part of the operation itself is performed.

If the binary operator is an integer division / (§15.17.2) or integer remainder % (§15.17.3), then its execution may raise an ArithmeticException, but this exception is thrown only after both operands of the binary operator have been evaluated and only if these evaluations completed normally.

Example 15.7.2-1. Evaluation of Operands Before Operation

class Test {
    public static void main(String[] args) {
        int divisor = 0;
        try {
            int i = 1 / (divisor * loseBig());
        } catch (Exception e) {
            System.out.println(e);
        }
    }
    static int loseBig() throws Exception {
        throw new Exception("Shuffle off to Buffalo!");
    }
}

This program produces the output:

java.lang.Exception: Shuffle off to Buffalo!

and not:

java.lang.ArithmeticException: / by zero

since no part of the division operation, including signaling of a divide-by-zero exception, may appear to occur before the invocation of loseBig completes, even though the implementation may be able to detect or infer that the division operation would certainly result in a divide-by-zero exception.

15.7.3. Evaluation Respects Parentheses and Precedence

The Java programming language respects the order of evaluation indicated explicitly by parentheses and implicitly by operator precedence.

An implementation of the Java programming language may not take advantage of algebraic identities such as the associative law to rewrite expressions into a more convenient computational order unless it can be proven that the replacement expression is equivalent in value and in its observable side effects, even in the presence of multiple threads of execution (using the thread execution model in §17), for all possible computational values that might be involved.

In the case of floating-point calculations, this rule applies also for infinity and not-a-number (NaN) values.

For example, !(x<y) may not be rewritten as x>=y, because these expressions have different values if either x or y is NaN or both are NaN.

Specifically, floating-point calculations that appear to be mathematically associative are unlikely to be computationally associative. Such computations must not be naively reordered.

For example, it is not correct for a Java compiler to rewrite 4.0*x*0.5 as 2.0*x; while roundoff happens not to be an issue here, there are large values of x for which the first expression produces infinity (because of overflow) but the second expression produces a finite result.

So, for example, the test program:

strictfp class Test {
    public static void main(String[] args) {
        double d = 8e+307;
        System.out.println(4.0 * d * 0.5);
        System.out.println(2.0 * d);
    }
}

prints:

Infinity
1.6e+308

because the first expression overflows and the second does not.

In contrast, integer addition and multiplication are provably associative in the Java programming language.

For example a+b+c, where a, b, and c are local variables (this simplifying assumption avoids issues involving multiple threads and volatile variables), will always produce the same answer whether evaluated as (a+b)+c or a+(b+c); if the expression b+c occurs nearby in the code, a smart Java compiler may be able to use this common subexpression.

15.7.4. Argument Lists are Evaluated Left-to-Right

In a method or constructor invocation or class instance creation expression, argument expressions may appear within the parentheses, separated by commas. Each argument expression appears to be fully evaluated before any part of any argument expression to its right.

If evaluation of an argument expression completes abruptly, no part of any argument expression to its right appears to have been evaluated.

Example 15.7.4-1. Evaluation Order At Method Invocation

class Test1 {
    public static void main(String[] args) {
        String s = "going, ";
        print3(s, s, s = "gone");
    }
    static void print3(String a, String b, String c) {
        System.out.println(a + b + c);
    }
}

This program produces the output:

going, going, gone

because the assignment of the string "gone" to s occurs after the first two arguments to print3 have been evaluated.


Example 15.7.4-2. Abrupt Completion of Argument Expression

class Test2 {
    static int id;
    public static void main(String[] args) {
        try {
            test(id = 1, oops(), id = 3);
        } catch (Exception e) {
            System.out.println(e + ", id=" + id);
        }
    }
    static int test(int a, int b, int c) {
        return a + b + c;
    }
    static int oops() throws Exception {
        throw new Exception("oops");
    }
}

This program produces the output:

java.lang.Exception: oops, id=1

because the assignment of 3 to id is not executed.

15.7.5. Evaluation Order for Other Expressions

The order of evaluation for some expressions is not completely covered by these general rules, because these expressions may raise exceptional conditions at times that must be specified. See the detailed explanations of evaluation order for the following kinds of expressions:

  • class instance creation expressions (§15.9.4)

  • array creation expressions (§15.10.1)

  • method invocation expressions (§15.12.4)

  • array access expressions (§15.13.1)

  • assignments involving array components (§15.26)

15.8. Primary Expressions

Primary expressions include most of the simplest kinds of expressions, from which all others are constructed: literals, class literals, field accesses, method invocations, and array accesses. A parenthesized expression is also treated syntactically as a primary expression.


Primary:
    PrimaryNoNewArray
    ArrayCreationExpression

PrimaryNoNewArray:
    Literal
    Type . class
    void . class
    this
    ClassName . this
    ( Expression )
    ClassInstanceCreationExpression
    FieldAccess
    MethodInvocation
    ArrayAccess

This part of the grammar of the Java programming language is unusual, in two ways. First, one might expect simple names, such as names of local variables and method parameters, to be primary expressions. For technical reasons, names are grouped together with primary expressions a little later when postfix expressions are introduced (


JAVA_22

Среда, 05 Июня 2019 г. 22:20 + в цитатник

JAVA_22 22:26:29
𝔐𝔦𝔱𝔱𝔴𝔬𝔠𝔥, 5. 𝔍𝔲𝔫𝔦 2019 𝔐𝔬𝔰𝔨𝔞𝔲𝔢𝔯 ℨ𝔢𝔦𝔱 (𝔐𝔖𝔎)  0300 𝔘𝔗ℭ 𝔘𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡 𝔳𝔬𝔫 ℑ𝔥𝔯𝔢𝔪 𝔖𝔱𝔞𝔫𝔡𝔬𝔯𝔱:

https://professorweb.ru/my/csharp/charp_theory/level3/3_12.phpВ C# предусмотрен ряд поразрядных операторов, расширяющих круг задач, для решения которых можно применять C#. Поразрядные операторы воздействуют на отдельные двоичные разряды (биты) своих операндов. Они определены только для целочисленных операндов, поэтому их нельзя применять к данным типа bool, float или double.

Эти операторы называются поразрядными, поскольку они служат для проверки, установки или сдвига двоичных разрядов, составляющих целое значение. Среди прочего поразрядные операторы применяются для решения самых разных задач программирования на уровне системы, включая, например, анализ информации состояния устройства. Все доступные в C# поразрядные операторы приведены ниже:
С точки зрения наиболее распространенного применения поразрядную операцию И можно рассматривать как способ подавления отдельных двоичных разрядов. Это означает, что если какой-нибудь бит в любом из операндов равен 0, то соответствующий бит результата будет сброшен в 0. Поразрядный оператор ИЛИ может быть использован для установки отдельных двоичных разрядов. Если в 1 установлен какой-нибудь бит в любом из операндов этого оператора, то в 1 будет установлен и соответствующий бит в другом операнде. Поразрядный оператор исключающее ИЛИ устанавливает двоичный разряд операнда в том и только в том случае, если двоичные разряды сравниваемых операндов оказываются разными, как в приведенном ниже примере. Для понимания вышесказaнного, разберите следующий пример:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            chet(16);
            provChet(8);
            nechet(16);

            Console.ReadLine();
        }

        // Метод, преобразующий все нечетные числа в четные
        // в диапазоне [0, x] c помощью
        // поразрядного оператора &
        static void chet(int x)
        {
            int result;
            Console.WriteLine("Преобразованный диапазон чисел от 0 до {0}:\n",x);
            for (int i = 0; i <= x; i++)
            {
                // Сбрасываем младший разряд числа, чтобы
                // получить четное число
                result = i & 0xFFFE;
                Console.Write("{0}\t",result);
            }
        }

        // Метод, проверяющий является ли число четным
        static void provChet(int x)
        {
            Console.WriteLine("\n\nПроверка четности чисел в диапазоне от 1 до {0}\n",x);
            for (int i = 1; i <= x; i++)
            {
                if ((i & 1) == 0)
                    Console.WriteLine("Число {0} - является четным",i);
                else
                    Console.WriteLine("Число {0} - является нечетным",i);
            }
        }

        // Метод, преобразующий четные числа в нечетные
        // с помощью поразрядного оператора |
        static void nechet(int x)
        {
            int result;
            Console.WriteLine("\nПреобразованный диапазон чисел от 0 до {0}:\n",x);
            for (int i = 0; i <= x; i++)
            {
                result = i | 1;
                Console.Write("{0}\t",result);
            }
        }

    }
}

https://living-sun.com/java/
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
http://spravaw.site/fa586ec7
Java "Bit Shifting" Tutorial?
https://www.oreilly.com/library/view/the-java-language/9780133260335/ch15lev1sec19.html
15.19. Shift Operators
The operators << (left shift), >> (signed right shift), and >>> (unsigned right shift) are called the shift operators. The left-hand operand of a shift operator is the value to be shifted; the right-hand operand specifies the shift distance.
ShiftExpression:    AdditiveExpression    ShiftExpression << AdditiveExpression    ShiftExpression >> AdditiveExpression    ShiftExpression >>> AdditiveExpression
The shift operators are syntactically left-associative (they group left-to-right).
Unary numeric promotion (§5.6.1) is performed on each operand separately. (Binary numeric promotion (§5.6.2) is not performed on the operands.)
It is a compile-time error if the type of each of the operands of a shift operator, after unary numeric ...
https://ecomputernotes.com/java/what-is-java-operators-and-expressions/shift-operators
The left-shift, right-shift, and zero-fill-right-shift operators <<, >>, and >>> shift the individual bits of an integer by a specified integer amount.

Example:
x << 3;

y >> 1;

z >>> 2;
Here is the Java Example for left-shift, right-shift, and zero-fill-right-shift operators

class   ShiftOperators  
{  
            public  static  void  main  (String  args
            {
                         int  x  =  7 ;
                         System.out.println ("x  =  "  +  x) ;
                         System.out.println ("x  >>  2  =  "  +   (x  >>  2) ) ;
                         System.out.println ("x  <<  1  =  "  +  (x  <<  1) ) ;
                        System.out.println ("x  >>>  1  =  "  +  (x  >>>  1) ) ;   
                }                 
}

https://ecomputernotes.com/java/what-is-java-operators-and-expressions/java-arithmetic-operators

class JavaArithmeticOperators
{
          public static void main(String args
      {
                 int  a=15, b=9;
                 System.out.println("The Addition is : " +(a+b));
                 System.out.println("The Subtract is : "+(a-b));
                 System.out.println("The Multiple  is : "+(a*b));
                 System.out.println("The Division  is : " +(a/b));
                 System.out.println("The Modulo  is : "+(a%b));
      }
}
19:58:20 𝔇𝔬𝔫𝔫𝔢𝔯𝔰𝔱𝔞𝔤, 6. 𝔍𝔲𝔫𝔦 2019 𝔐𝔬𝔰𝔨𝔞𝔲𝔢𝔯 ℨ𝔢𝔦𝔱 (𝔐𝔖𝔎)  0300 𝔘𝔗ℭ 𝔘𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡 𝔳𝔬𝔫 ℑ𝔥𝔯𝔢𝔪 𝔖𝔱𝔞𝔫𝔡𝔬𝔯𝔱: 𝔎𝔢𝔦𝔫 ℨ𝔢𝔦𝔱𝔲𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡

ℌ𝔢𝔯𝔳𝔬𝔯𝔯𝔞𝔤𝔢𝔫𝔡𝔢 𝔖𝔢𝔦𝔱𝔢 𝔞𝔲𝔣 𝔡𝔢𝔪 𝔄𝔰𝔰𝔢𝔪𝔟𝔩𝔢𝔯, 𝔞𝔩𝔩𝔢𝔰 𝔣𝔲𝔫𝔨𝔱𝔦𝔬𝔫𝔦𝔢𝔯𝔱. 𝔞𝔩𝔢𝔵@𝔞𝔩𝔢𝔵:~/ℭ𝔬𝔫𝔰𝔬𝔩𝔢𝔧𝔞𝔳𝔞/𝔰𝔱𝔞𝔱𝔢/𝔟𝔦𝔱𝔰𝔥𝔦𝔣𝔱𝔦𝔫𝔤$ 𝔰𝔲𝔡𝔬 𝔳𝔦𝔪 𝔱𝔱.𝔰
𝔥𝔱𝔱𝔭𝔰://𝔴𝔴𝔴.𝔠𝔬𝔪𝔭𝔲𝔱𝔢𝔯𝔥𝔬𝔭𝔢.𝔠𝔬𝔪/𝔲𝔫𝔦𝔵/𝔲𝔞𝔰.𝔥𝔱𝔪
𝔓𝔦𝔠𝔬𝔍𝔞𝔳𝔞 𝔒𝔭𝔱𝔦𝔬𝔫𝔰
𝔗𝔥𝔢 𝔣𝔬𝔩𝔩𝔬𝔴𝔦𝔫𝔤 𝔬𝔭𝔱𝔦𝔬𝔫𝔰 𝔞𝔯𝔢 𝔞𝔳𝔞𝔦𝔩𝔞𝔟𝔩𝔢 𝔴𝔥𝔢𝔫 𝔞𝔰 𝔦𝔰 𝔠𝔬𝔫𝔣𝔦𝔤𝔲𝔯𝔢𝔡 𝔣𝔬𝔯 𝔞 𝔭𝔦𝔠𝔬𝔍𝔞𝔳𝔞 𝔭𝔯𝔬𝔠𝔢𝔰𝔰𝔬𝔯:-𝔪𝔟 и -𝔪𝔩 𝔥𝔱𝔱𝔭𝔰://𝔥𝔞𝔟𝔯.𝔠𝔬𝔪/𝔡𝔢/𝔭𝔬𝔰𝔱/145804/
ℑ𝔫𝔱𝔢𝔯𝔬𝔭𝔢𝔯𝔞𝔟𝔦𝔩𝔦𝔱ä𝔱 𝔍𝔞𝔳𝔞 𝔲𝔫𝔡 ... 𝔄𝔰𝔰𝔢𝔪𝔟𝔩𝔢𝔯?
𝔥𝔱𝔱𝔭𝔰://𝔦𝔱𝔫𝔞𝔫.𝔯𝔲/𝔭𝔬𝔰𝔱.𝔭𝔥𝔭?𝔠=1 𝔍𝔞𝔳𝔞 𝔪𝔦𝔱 𝔐𝔬𝔫𝔱𝔞𝔤𝔢𝔢𝔦𝔫𝔰ä𝔱𝔷𝔢𝔫  68
𝔥𝔱𝔱𝔭𝔰://𝔥𝔞𝔟𝔯.𝔠𝔬𝔪/𝔡𝔢/𝔠𝔬𝔪𝔭𝔞𝔫𝔶/𝔶𝔞𝔫𝔡𝔢𝔵/𝔟𝔩𝔬𝔤/214745/
𝔢𝔩𝔠𝔬𝔶𝔬𝔱
8. 𝔐ä𝔯𝔷 2014 𝔲𝔪 17:22 𝔘𝔥𝔯
𝔚𝔦𝔢 𝔨𝔞𝔫𝔫 𝔡𝔦𝔢 𝔙𝔢𝔯𝔴𝔢𝔫𝔡𝔲𝔫𝔤 𝔳𝔬𝔫 ℨ𝔲𝔣ä𝔩𝔩𝔦𝔤𝔨𝔢𝔦𝔱 ℑ𝔥𝔯𝔢𝔫 ℭ𝔬𝔡𝔢 𝔟𝔢𝔰𝔠𝔥𝔩𝔢𝔲𝔫𝔦𝔤𝔢𝔫? 𝔙𝔬𝔯𝔱𝔯𝔞𝔤 𝔳𝔬𝔫 𝔐𝔦𝔠𝔥𝔞𝔢𝔩 𝔖𝔩𝔲𝔤𝔤𝔦𝔰𝔥 𝔦𝔫 𝔜𝔞𝔫𝔡𝔢𝔵
𝔥𝔱𝔱𝔭𝔰://𝔴𝔴𝔴.𝔠𝔬𝔪𝔭𝔲𝔱𝔢𝔯𝔥𝔬𝔭𝔢.𝔠𝔬𝔪/𝔲𝔫𝔦𝔵/𝔲𝔞𝔰.𝔥𝔱𝔪
𝔒𝔭𝔱𝔦𝔬𝔫𝔢𝔫 𝔣ü𝔯 𝔓𝔦𝔠𝔬𝔧𝔞𝔳𝔞
𝔇𝔞𝔰 𝔈𝔫𝔡𝔢  https://www.liveinternet.ru/users/answers/post40588595/  Заходим на www.youtube.com и выбираем любое видео, которое нравится
Например вот https://www.youtube.com/watch?v=ZuP2xXq7srA

2) Справа рядом с надписью Embed дают скопировать код для вставки в дневник.

<iframe width="880" height="289" src="https://www.youtube.com/embed/ZuP2xXq7srA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Но прям такой вставить пока не получится, поэтому его надо немного модифицировать. Выдираем из него ссылку, написанную после src= - https://www.youtube.com/embed/ZuP2xXq7srA  - это адрес удаленно-лежащего flash-ролика, который уж мы проигрывать умеем.

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

4) Получается вот что
 

 









 


JAVA_21

Суббота, 01 Июня 2019 г. 13:50 + в цитатник

JAVA_21 Samstag, 1. Juni 13:40:29 Moskau 2019 https://habr.com/en/post/320712/ Switch vs If

 Samstag, 1. Juni 2019, 19:32:41 Uhr
//\\
https://www.compilejava.net/ Самый лучший компилятор !!!!!!!!!!!!!!!!
\\//

𝔄𝔩𝔩𝔢𝔰 𝔦𝔰𝔱 𝔴𝔢𝔤. 𝔚𝔦𝔢 𝔨ö𝔫𝔫𝔱𝔢 𝔦𝔠𝔥 𝔟𝔦𝔱𝔴𝔢𝔦𝔰𝔢 𝔬𝔡𝔢𝔯 𝔟𝔦𝔱𝔴𝔢𝔦𝔰𝔢 𝔒𝔭𝔢𝔯𝔞𝔱𝔦𝔬𝔫𝔢𝔫 𝔳𝔢𝔯𝔤𝔢𝔰𝔰𝔢𝔫
𝔥𝔱𝔱𝔭𝔰://𝔪𝔢𝔱𝔞𝔫𝔦𝔱.𝔠𝔬𝔪/𝔧𝔞𝔳𝔞/𝔱𝔲𝔱𝔬𝔯𝔦𝔞𝔩/2.13.𝔭𝔥𝔭
https://www.compilejava.net/
Защита Уфимцева
https://vertex-academy.com/tutorials/ru/cikl-for-each/ 
https://vertex-academy.com/tutorials/ru/system-print-i-system-println/ заметили ?
https://vertex-academy.com/tutorials/ru/samouchitel-po-java-s-nulya/
https://www.worldtimeserver.com/aktuelle-Zeit-in-RU-MOW.aspx
𝔇𝔞𝔰 𝔤𝔞𝔫𝔷𝔢 𝔢𝔯𝔰𝔱𝔢 𝔍𝔞𝔥𝔯
𝔇𝔞𝔰 𝔏𝔢𝔯𝔫𝔢𝔫 𝔦𝔰𝔱 𝔡𝔢𝔪 ℨä𝔥𝔩𝔢𝔫 𝔦𝔫𝔫𝔢𝔯𝔥𝔞𝔩𝔟 𝔡𝔢𝔯 𝔢𝔯𝔰𝔱𝔢𝔫 𝔟𝔢𝔦𝔡𝔢𝔫 𝔤𝔢𝔴𝔦𝔡𝔪𝔢𝔱
ℨ𝔢𝔥𝔫, 𝔲𝔫𝔡 𝔢𝔱𝔴𝔞 𝔦𝔫 𝔡𝔢𝔯 𝔢𝔯𝔰𝔱𝔢𝔫 𝔍𝔞𝔥𝔯𝔢𝔰𝔥ä𝔩𝔣𝔱𝔢 - 𝔰𝔬𝔤𝔞𝔯 𝔡𝔦𝔢 𝔓𝔞𝔯𝔱𝔦𝔱𝔲𝔯
𝔦𝔫𝔫𝔢𝔯𝔥𝔞𝔩𝔟 𝔢𝔦𝔫𝔢𝔰 𝔇𝔲𝔱𝔷𝔢𝔫𝔡𝔰.
Вот они, забыл всё, что учил до этого. Теперь всё внимание им. 
https://riptutorial.com/ru/java/example/14282/the-shift-operators---------and-----
Операторы сдвига (<<, >> и >>> )
В Java есть три оператора. для выполнения поразрядного смещения по 32 и 64-битным целым значениям. 
Это все двоичные операторы, первый операнд которых является смещаемым значением, 
а второй операнд говорит, как далеко сдвинуться. 
  • Оператор << или левого сдвига сдвигает значение, заданное первым операндом влево , на число битных позиций, заданных вторым операндом. Пустые позиции на правом конце заполняются нулями.

  • Оператор «>>» или арифметического сдвига сдвигает значение, заданное первым операндом, вправо , на количество битных позиций, заданных вторым операндом. Пустые позиции на левом конце заполняются копированием самого левого разряда. Этот процесс известен как расширение знака .

  • Оператор «>>>» или логического сдвига сдвигает значение, заданное первым операндом, вправо на число битных позиций, заданных вторым операндом. Пустые позиции в левом конце заполняются нулями.

  • В то же время, Язык Java предоставляет 4 оператора, которые выполняют побитовые или логические операции с целыми или булевыми операндами.

    • Оператор дополнения ( ~ ) является унарным оператором, который выполняет поразрядное или логическое обращение битов одного операнда; см. JLS 15.15.5. ,
    • Оператор AND ( & ) является двоичным оператором, который выполняет побитовое или логическое «и» из двух операндов; см. JLS 15.22.2. ,
    • Оператор OR ( | ) является двоичным оператором, который выполняет побитовое или логическое «включение» или «из двух операндов»; см. JLS 15.22.2. ,
    • Оператор XOR ( ^ ) является двоичным оператором, который выполняет побитовое или логическое «исключение» или «из двух операндов»; см. JLS 15.22.2. ,

    Логические операции, выполняемые этими операторами, когда операнды являются логическими, можно суммировать следующим образом: Оставлю место для картинки. А пока укажу ссылку https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.22.2 ............................................и на сегодня 19:23:39 𝔐𝔦𝔱𝔱𝔴𝔬𝔠𝔥, 5. 𝔍𝔲𝔫𝔦 2019 𝔐𝔬𝔰𝔨𝔞𝔲𝔢𝔯 ℨ𝔢𝔦𝔱 (𝔐𝔖𝔎)  0300 𝔘𝔗ℭ
    𝔘𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡 𝔳𝔬𝔫 ℑ𝔥𝔯𝔢𝔪 𝔖𝔱𝔞𝔫𝔡𝔬𝔯 𝔱:
    Всё. http://av-assembler.ru/instructions/loop.php Ассемблер Ассемблер для чайников Примеры на Ассемблере (исходники на Ассемблере) Ассемблер и языки высокого уровня  http://granat.wiki/enc/i/ischislenie-ischislenie-beskonechno-malykh/  Исчисление (Исчисление бесконечно малых)

     


//*******************************************************************
// Welcome to CompileJava!
// Вот и пример : https://www.compilejava.net/ best
// If you experience any issues, please contact us ('More Info')  -->
// Sorry that the "Paste" feature no longer works! GitHub broke it.
//*******************************************************************

// Samstag, 1. Juni, 18:26:11 Uhr MSK 2019
// MariaStudy.java
// http://study-java.ru/uroki-java/urok-8-java-logicheskye-i-uslovnye-operatory/
//  
  public class MariaStudy {
   
       public static void main(String[] args) {
         
       // Объявить число вида int (Целое число 32 bit)
       // Представляющее вашу тестовую оценку (score)
       int a = 30;

       int b = 20;   
         
         if (a == b) {
    
       //Если a равно b - выводим сообщение
    System.out.println("a и b равны!");
}
    else{
    //Если a не равно b - выводим сообщение
    System.out.println("a и b не равны!");
          } 
       }
     }
Successfully compiled /tmp/java_HUzWNf/MariaStudy.java <--main method a и b не равны! a и b не равны!    
Пару вещей нашёл. Умеют. Спасибо хорошим людям !!!

//*******************************************************************
// Welcome to CompileJava!
// If you experience any issues, please contact us ('More Info')  -->
// Sorry that the "Paste" feature no longer works! GitHub broke it.
//*******************************************************************

next MariaStudy1.java 
// это на одну тему, но чуть сложнее. 
// Samstag, 1. Juni, 18:26:11 Uhr MSK 2019
// MariaStudy1.java
// http://study-java.ru/uroki-java/urok-8-java-logicheskye-i-uslovnye-operatory/
//  
  public class MariaStudy1 {
   
       public static void main(String[] args) {
         
       // Объявить число вида int (Целое число 32 bit)
       // Представляющее вашу тестовую оценку (score)
       
     int day = 7;
    String dayString;
    switch (day) {
        case 1:  dayString = "Понедельник";
                 break;
        case 2:  dayString = "Вторник";
                 break;
        case 3:  dayString = "Среда";
                 break;
        case 4:  dayString = "Четверг";
                 break;
        case 5:  dayString = "Пятница";
                 break;
        case 6:  dayString = "Суббота";
                 break;
        case 7:  dayString = "Воскресенье";
                 break;
        default: dayString = "Ошибка";
                 break;
        }
        System.out.print(dayString);
     }
   }
// Output Воскресенье

//*******************************************************************
// Welcome to CompileJava!
// If you experience any issues, please contact us ('More Info')  -->
// Sorry that the "Paste" feature no longer works! GitHub broke it.
//*******************************************************************
// http://study-java.ru/uroki-java/urok-8-java-logicheskye-i-uslovnye-operatory/comment-page-1/
// Samstag, 1. Juni,22:00:01  Uhr MSK 2019
public class Son {
private static int a = 9 ;
private static int b = 4 ;
private static int c = 5 ;
private static int d = 26 ;
private static int result;

public static void main(String[] args) {

if (a < b){
result = b;
}
else {
result = a;
}
if (result < c){
result = c;
}
else {
result = result;
}
if (result < d){
result = d;
}
else {
result = result;
}
System.out.println(result);
}

}
// Output : 26

//*******************************************************************
// Welcome to CompileJava!
// If you experience any issues, please contact us ('More Info')  -->
// Sorry that the "Paste" feature no longer works! GitHub broke it.
//*******************************************************************

import java.lang.Math; // headers MUST be above the first class

// one class needs to have a main() method
public class HelloWorld
{
  // arguments are passed using the text field below this editor
  public static void main(String[] args)
  {
    OtherClass myObject = new OtherClass("Hello World!");
    System.out.print(myObject);
  }
}

// you can add other public classes to this editor in any order
public class OtherClass
{
  private String message;
  private boolean answer = false;
  public OtherClass(String input)
  {
    message = "Why, " + input + " Isn't this something?";
  }
  public String toString()
  {
    return message;
  }
}

http://qaru.site/questions/540352/how-does-systemoutprint-work
Это очень чувствительный момент, чтобы понять, как работает System.out.print. 
Если первый элемент - String, то оператор плюс (+) работает как оператор String concate. 
Если первый элемент - целое число плюс (+), оператор работает как математический оператор.
---
https://www.fandroid.info/konstruktsii-vybora-v-yazyke-java
switch (переключатель)  {
  case значение1:
    инструкция1;
    break;
  case значение2:
    инструкция2;
    break;
  …  default:   
инструкция_по_умолчанию;

}

http://pr0java.blogspot.com/2015/04/ifelse.html

 Все операторы Java можно разделить на следующие группы:

  • арифметические операторы;
  • операторы сравнения;
  • побитовые операторы;
  • логические операторы;
  • операторы присваивания;
  • прочие операторы. И в самом конце самое простое : 11.1. Java — Операторы принятия решений Язык программирования Java предлагает следующие виды операторов принятия решений: http://proglang.su/java/operator-if и т. д. по каждому опр.

http://proglang.su/java/decision-making-operators 11.2. Java — Оператор if http://proglang.su/java/operator-if-else 11.3. Java — Оператор if..else http://proglang.su/java/embedded-operator-if 11.4. Java — Вложенный оператор if http://proglang.su/java/operator-switch-case 11.5. Java — Оператор switch..case http://proglang.su/java/conditional-operator 11.6. Java — Условный оператор ? : (вопросительный знак и двоеточие) всего пять, может до осени управлюсь. https://vertex-academy.com/tutorials/ru/cikl-for-each/  for цикл неоднозначно.  Вынес в отд. директорию ещё ссылка https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html одного for на весь июнь хватит. Heute Sonntag, 2. Juni, 13:19:54 Uhr MSK 2019 14:19:23 𝔐𝔬𝔫𝔱𝔞𝔤, 3. 𝔍𝔲𝔫𝔦 2019 𝔐𝔬𝔰𝔨𝔞𝔲𝔢𝔯 ℨ𝔢𝔦𝔱 (𝔐𝔖𝔎)  0300 𝔘𝔗ℭ 𝔘𝔫𝔱𝔢𝔯𝔰𝔠𝔥𝔦𝔢𝔡 𝔳𝔬𝔫 ℑ𝔥𝔯𝔢𝔪 𝔖𝔱𝔞𝔫𝔡𝔬𝔯𝔱: 𝔥𝔱𝔱𝔭𝔰://𝔴𝔴𝔴.𝔴𝔬𝔯𝔩𝔡𝔱𝔦𝔪𝔢𝔰𝔢𝔯𝔳𝔢𝔯.𝔠𝔬𝔪/𝔞𝔨𝔱𝔲𝔢𝔩𝔩𝔢-ℨ𝔢𝔦𝔱-𝔦𝔫-ℜ𝔘-𝔐𝔒𝔚.𝔞𝔰𝔭𝔵

class ForLoopBasics4

{
	public static void main(String args[])
	{
	for(int i=1;i<=5;i++)
	   {
	     System.out.println(i);
	   }
	}
}
class ForLoopBasics5
{
	public static void main(String args[])
	{
	for(int i=1;i<=5;i++)   
	{
  	  System.out.println(i);  //1 2 3 4 5
	}
   	System.out.println(i);//error for unknown variable i 
}

error: cannot find symbol                                                                                                                                   
     System.out.print(i);                                                                                                                                                       
                      ^
В приведенной выше программе возникает ошибка, так как переменная i освобождается после выхода из цикла Java.
Исправляю : первый раз 
ForLoopBasics6.java
class ForLoopBasics6
{
    public static void main(String args[])
    {
        int i;
    for(int i=1;i<=5;i++)
    {
    System.out.println(i); // 1 2 3 4 5
    }
    System.out.println(i); //error for unknown variable i
    }
    
}

alex@alex:~/Consolejava/state/for/7$ javac -d bin src/ForLoopBasics6.java
src/ForLoopBasics6.java:6: error: variable i is already defined in method main(String[])
    for(int i=1;i<=5;i++)
            ^
1 error
alex@alex:~/Consolejava/state/for/7$
Исправляю 2 раз:

//*******************************************************************
// Welcome to CompileJava!
// If you experience any issues, please contact us ('More Info')  -->
// Sorry that the "Paste" feature no longer works! GitHub broke it.
//*******************************************************************
public class ForLoopBasics6
{
    public static void main(String args[])
    {
    
    for(int i=1;i<=5;i++)       
    {
        System.out.println(i);  //1 2 3 4 5
    }
         //6
}
}
Output : 
1
2
3
4
5
 Succefully End

𝔥𝔱𝔱𝔭𝔰://𝔴𝔴𝔴.𝔦𝔫𝔱𝔢𝔯𝔫𝔢𝔱-𝔱𝔢𝔠𝔥𝔫𝔬𝔩𝔬𝔤𝔦𝔢𝔰.𝔯𝔲/𝔞𝔯𝔱𝔦𝔠𝔩𝔢𝔰/𝔷𝔫𝔞𝔨𝔬𝔪𝔰𝔱𝔳𝔬-𝔰-𝔠𝔦𝔨𝔩𝔞𝔪𝔦-𝔳-𝔧𝔞𝔳𝔞-𝔲𝔠𝔥𝔢𝔟𝔫𝔦𝔨-𝔰-𝔭𝔯𝔦𝔪𝔢𝔯𝔞𝔪𝔦.𝔥𝔱𝔪𝔩
Но по этой ссылке исправленная программа, автором, как учебная не работает.

𝔠𝔩𝔞𝔰𝔰 𝔉𝔬𝔯𝔏𝔬𝔬𝔭𝔅𝔞𝔰𝔦𝔠𝔰6
{
    𝔭𝔲𝔟𝔩𝔦𝔠 𝔰𝔱𝔞𝔱𝔦𝔠 𝔳𝔬𝔦𝔡 𝔪𝔞𝔦𝔫(𝔖𝔱𝔯𝔦𝔫𝔤 𝔞𝔯𝔤𝔰[])
    {
    𝔦𝔫𝔱 𝔦;
    𝔣𝔬𝔯( 𝔦=1;𝔦<=5;𝔦  )       
    {
        𝔖𝔶𝔰𝔱𝔢𝔪.𝔬𝔲𝔱.𝔭𝔯𝔦𝔫𝔱𝔩𝔫(𝔦);  //1 2 3 4 5
    }
       𝔖𝔶𝔰𝔱𝔢𝔪.𝔬𝔲𝔱.𝔭𝔯𝔦𝔫𝔱𝔩𝔫(𝔦);  //6
}

End. Но до 1 июля время есть, чтобы разобраться с циклом for

В программе, приведенной выше, 
ошибки не возникает, так как в ней используется переменная i, которая была объявлена за пределами цикла.
Java переменные

В предыдущих уроках мы говорили о том, что класс в Java состоит из атрибутов и методов. Переменные могут быть атрибутами класса, параметрами метода или могут использоваться в программе для краткосрочного хранения данных.  В языке Java все переменные должны быть объявлены, перед тем, как они будут использоваться.

Объявление переменных в java

Пример:

 int x = 1;
 int y = 2;

При объявлении переменной, в следующей последовательности указываются:

  • тип данных (в данном примере — int — переменная содержит целое число),
  • имя переменной (в данном примере имена — x и y),
  • начальное значение переменной  или, другими словами,  инициализация переменной. В данном примере переменным x и y присвоены значения 1 и 2.  Однако, это не является обязательным условием при объявлении переменной.

Пример: объявление переменных без инициализации:

 int x;
 int y;

После каждой строки при объявлении переменных необходимо ставить точку с запятой «;».

Если нужно объявить несколько переменных одного типа, то это также можно сделать одной строкой, указав имена переменных через запятую.

 int x,y;  

Что такое переменная в Java?

Часто Вы можете услышать такое определение переменной:

  • Переменная - это некоторый контейнер,  в котором может храниться значение для дальнейшего использования в программе.

Помните, как в школе было:  y = x + 1

И в зависимости от того, какие значения принимает переменная x, меняется значение переменной y.

Если x = 1, тогда x+ 1 =2

Если x = 2, тогда x +1 = 3

Если х = 1.5 , тогда x + 1 =2.5

В Java переменные играют такую же роль, как и в приведенном примере со школы y =  x + 1. Они выполняют роль контейнера для разных значений, которые можно подставить в переменную. В приведённом примере - в переменную x.

Типы переменных в Java. Объявление переменной

В Java можно указать, какие именно значения может принимать переменная.

Для этого все переменные сгруппировали в 4 группы:

  1. Целочисленные (к ним относятся byte, short, int, long)
  2. С плавающей точкой (к ним относятся float, double)
  3. Символы (char)
  4. Логические (boolean)

Примечание:  Итого 8 типов переменных (byte, short, int, long, float, double, char, boolean). Многоуважаемый Брюс Эккель выделяет еще и 9-й тип – так называемый тип void («пустое» значение). Но в этой статье мы рассмотрим 8 типов, как это обычно принято. Что же такое тип void мы разберёмся в теме, посвященной методам в Java.

Теперь давайте рассмотрим каждую группу переменных. И начнём с целочисленных.

Целочисленные: byte, short, int, long

Что ещё Вы должны знать?

Как видно из таблички, byte, short, int, long относятся к целочисленным, то есть к целым числам. Например, 1, 9, 1278, -5, -107 и т.д.

Очевидно:

  1. byte может принимать значения от -128 до 127 и при этом занимает 1 байт памяти
  2. short принимает значения от -32768 до 32767 и занимает 2 байта памяти
  3. int от -2147483648 до 2147483647 и занимает 4 байта памяти
  4. long от -9223372036854775808 до 9223372036854775807 и занимает 8 байтов памяти

"Ну, хорошо", - скажете Вы. "Если byte, short, int и long отвечают все за целые числа, как мне понять какой именно тип нужно выбирать?" Помните детские задачки по математике, которые сейчас будут как нельзя кстати для объяснения за что отвечают byte, short, int, long.

Задача 1:

1. Вы должны знать, что эти типы переменных относятся к так называемым примитивным типам переменных. Поэтому если услышите "примитивные типы данных" , "примитивы" или "primitives", знайте, речь идёт о 8 типах переменных - byte, short, int, long, float, double, char, boolean.

2. Есть еще один тип переменных - тип String. О нём мы поговорим в статье "Как присвоить значение переменной"

3. В Java очень важно правильно оформлять код. Да-да, не только писать работающие программы, но  ещё и правильно оформленные. Существует целый свод правил, который называется Code Conventions в Java. Так что можете смело скачивать и постепенно изучать. А сейчас мы рассмотрим только часть Code Conventions, а именно правила написания названий переменных. Итак, запоминаем.Эти 8 типов переменных (byte, short, int, long, float, double, char, boolean) относятся к там называемым примитивным типам переменных.

Прежде чем использовать переменную, её необходимо объявить:


						5 правил выбора названий переменных:

  1. Переменные пишутся только латинскими буквами. Никакой кириллицы!!!
  2. Имя переменной, по возможности, должно быть "говорящим"
  3. Если переменная состоит из 2 и более слов, пишется в CamelStyle (другое название - CamelCase)
  4. Есть 54 слова, которые нельзя использовать в названиях переменных
  5. Имя переменной:
  • может начинаться с любых латинских букв, $ или _
  • не может начинаться с цифр

Также есть еще один тип переменных - тип String, о котором мы поговорим в статье "Как присвоить значение переменной в Java"

https://codelessons.ru/cplusplus/syntax/cikl-for-v-c-izuchaem-s-primerami.html

Цикл for в C++: изучаем с примерами

Здравствуйте, дорогие читатели! Циклы, являются неотъемлемой частью любого языка программирования. Они позволяют нам выполнять огромное количество рутинных операций, которые делать вручную невероятно сложно. В этом и заключается главная «прелесть» циклов.

Существует три вида циклов в C++:

  • for
  • while
  • do while
    Die kurze Phrase bezieht sich auf eine for-Schleife in C ++.
     Ассемблер в java для новичков
    
    Volker Simonis
    𝔙𝔬𝔩𝔨𝔢𝔯 𝔖𝔦𝔪𝔬𝔫𝔦𝔰 𝔙𝔬𝔩𝔨𝔢𝔯 𝔖𝔦𝔪𝔬𝔫𝔦𝔰 — ℌ𝔬𝔱𝔖𝔭𝔬𝔱 ℑ𝔫𝔱𝔯𝔦𝔫𝔰𝔦𝔠𝔰
    𝔥𝔱𝔱𝔭𝔰://𝔦𝔱𝔫𝔞𝔫.𝔯𝔲/𝔭𝔬𝔰𝔱.𝔭𝔥𝔭?𝔠=1
    Работает в 𝔖𝔄𝔓 в 𝔖𝔄𝔓 𝔍𝔙𝔐 𝔗𝔢𝔠𝔥𝔫𝔬𝔩𝔬𝔤𝔶 𝔤𝔯𝔬𝔲𝔭. Контрибьютор 𝔒𝔭𝔢𝔫𝔍𝔇𝔎 с самого начала его существования. 𝔍𝔞𝔳𝔞-конференция 𝔍𝔬𝔨𝔢𝔯 2019: 25-26 октября, Санкт-Петербург.
    http://www.jembryos.org/inline.html
    The Machine Level Java
    Never machine level was so close to Java developer
    Easy to use assembly environment
    with intellisense and other IDE stuff, 100% written in Java
    
    
    
    https://scontent-arn2-2.xx.fbcdn.net/v/t1.0-9/27867154_569371620083928_8106955851820498874_n.jpg?_nc_cat=111&_nc_ht=scontent-arn2-2.xx&oh=46693a3c9efba4847921f89a162ede97&oe=5D8E1A65

http://granat.wiki/enc/i/ischislenie-ischislenie-beskonechno-malykh/ Исчисление (Исчисление бесконечно малых) Введение в математику бесконечно малых величин вызвало с разных сторон возражения (Ниепентийт, 1694, Беркли, 1710, и др.). Это те основы знать новичку в Java https://tproger.ru/articles/maths-for-programmers/ Математика для программистов 

Теория вероятности делится на две части: дискретную и непрерывную. Хотя в теории дискретная — это подкласс непрерывной, методы решения задач несколько различаются. Опять же лучше начинать с простого — дискретная теория вероятности часто сводится к комбинаторным задачам. И теоретическая часть у дискретной формулируется проще.

Непрерывная теория вероятности для полного понимания требует знания элементарных основ мат. анализа, в частности понятия интеграла, хотя многие задачи требуют лишь умения считать площади простых фигур. Именно непрерывная теория вероятности является фундаментом для математической статистики и машинного обучения NLP https://nlp.stanford.edu/ The Natural Language Processing Group at Stanford Universit. Очень важно не торопиться с самого начала изучения Java. Исправлять будет невозможно. Это, разумеется не относится к обучающимся по стандартам. 

. Поэтому, если хотите работать в этой области, стоит начать с изучения книги Ричарда Хэнсена Probability Theory and Statistics или Probability Theory with Simulations. Конечно этого недостаточно. Необходимо прочитать книгу Natural Language Processing with Java автор там ведь ещё лингвистика и несколько других дисциплин.

Далее ближе к основам Java. https://javatutoring.com/java-continue-statement/  Java Continue Statement – Tutorial & Examples   Behavior Of Continue In While And For это будет изучаться мне до 01 июля 2019 года. То есть один месяц. Неспеша, будет нужно, продлю.

https://javatutoring.com/wp-content/uploads/2017/04/Java-tutorials.png





 

 

 











 


JAVA_20

Вторник, 28 Мая 2019 г. 16:05 + в цитатник

JAVA_CODE здесь не будет размещаться код, чтобы перегружать страницы. Вот и всплыл весь обман про Hello World!

 

О чём молчат авторы «Hello, World!»-ов

yarric March 4, 2017 at 12:11 PM

 

https://habr.com/en/post/323194/

image
 

Обычно адепты нового Того-самого-лучшего-языка пишут свои рекламные мини-программы для обучения и продвижения примерно так:


ageOfBob = 0
ageOfMary = 0

print("Input Bob's age: ")
read(ageOfBob)

print("Input Marry's age: ")
read(ageOfMary)

// Do the math
if (ageOfBob > ageOfMary)
   print("Bob is older than Mary by ", ageOfBob - ageOfMary, " years")
else if (ageOfBob < ageOfMary)
   print("Mary is older than Bob by ", ageOfMary - ageOfBob, " years") 
else 
   print("Mary and Bob are of the same age")

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


Если этот новичок и вправду заинтересуется Тем-самым-лучшем-языком, то к тому моменту, когда ему придётся писать взрослые программы в соответствии с рекомендациями по написанию надёжного кода для серьёзных клиентов или серьёзного работодателя, отступать уже будет поздно:


const MAX_PERSON_AGE = 120
const MIN_PERSON_AGE = 1

int getAge(string name) {
   age = 0

   print("Input ", name, "'s age: ")
   read(age)

   if (age < MIN_PERSON_AGE or age > MAX_PERSON_AGE)
      throw IncorrectAgeInputException
   else 
      return age
}

try {
   ageOfBob = getAge("Bob")
   ageOfMary = getAge("Mary")
} catch (IncorrectAgeInputException) {
      print("You're doing it wrong!")
}

// Do the math
...

Итого лёгким движением руки четыре строки кода ввода числа превратились в определение пары констант (потому как магические числа в коде — плохо) и функцию (потому как Don't Repeat Yourself), которая генерирует исключения, которые также нужно обрабатывать. А если ещё вспомнить, что функцию getAge ещё нужно покрыть хотя бы парой unit-тестов…


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


Теперь посмотрим, как возможности строгой типизации могут помочь решить такую задачу.


Перепишем нашу повзрослевшую программу на Ada. В Ada уже с 1983-го года есть та самая фича "если оно компилируется, значит оно работает", которой теперь рекламируют Haskell и Rust. Также программы на Ada компилируются в native-код и могут работать в том числе на микроконтроллерах в реальном времени, не на много уступая языку С по скорости выполнения. Впрочем мы отвлеклись…


with ada.text_io, ada.integer_text_io, ada.io_exceptions;
use  ada.text_io;

procedure main is
   type Age is range 1 .. 120;

   package io is new ada.text_io.integer_io(num => Age);

   ageOfBob, ageOfMary : Age;
begin
   put_line("Input Bob's age: ");
   io.get(ageOfBob);

   put_line("Input Mary's age: ");
   io.get(ageOfMary);

   -- Do the math
   if ageOfBob > ageOfMary then
      put_line("Bob is older than Mary by" & Age'Image(ageOfBob - ageOfMary) & " years");
   elsif ageOfBob < ageOfMary then
      put_line("Mary is older than Bob by" & Age'Image(ageOfMary - ageOfBob) & " years");
   elsif ageOfBob = ageOfMary then
      put_line("Mary and Bob are of the same age");
   end if;

exception
   when ada.io_exceptions.Data_Error =>
      put_line("You're doing it wrong!");
   when others => null;
end main;

По сравнению с самым простым первым вариантом этой программы был лишь добавлен новый тип Age с явно заданным диапазоном значений:


type Age is range 1 .. 120;

Также был подключен пакет ada.text_io.integer_io, параметризованный этим типом:


package io is new ada.text_io.integer_io(num => Age); 

Теперь при вызове функции io.get(ageVar), где ageVar — переменная типа Age, будет проверяться введённое пользователем число и в том случае, если оно не соответствует своему типу Age, будет генерироваться исключение Data_Error.


Часто можно услышать что язык Ada сложный, многословный и трудный для изучения. Здесь приведён пример того, как "лёгкие" на первый взгляд языки просто перекладывают часть работы на программиста, в то время как "сложные" языки, на изучение фишек которых может и вправду понадобиться больше времени, позволяют сэкономить время на отладке и проверке при реальной разработке.

 

 

Я сразу почувствовал обманчивую простоту Hello World

Поэтому полгода тщательно, с тысяч сторон присматриваюсь к JAVA Консоли достаточно вполне. Ср 29 май 2019 19:39:25

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

JAVA_20

Понедельник, 27 Мая 2019 г. 15:59 + в цитатник

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_19

Среда, 22 Мая 2019 г. 22:35 + в цитатник

JAVA_19       JAVA_19 -> JAVA_20 Пн 27 май 2019 15:56:41

//   Ср 22 май 2019 22:10:35
//  /home/alex/Desktop А здесь java Tutorial for Beginners
//  00:15:43
//  public
class MyFirstClass {
     /*
      * * This is my first
      * * Java program.
      * * I am new to Java.
      * */
        public static void main(String[] args){
               // My First statement
                   System.out.println("Hello World");
               //
                      int x = 10;
                         int y = 20;
                            int result = x + y;
                               System.out.println(result);

                       }  
                   }  
               //                  Run as
               //                    Hello World
               //                      30
               //  00:16:45   Автор чуть-чуть меняет программу

23 мая 2019 год Возвращаясь неоднократно к Hello World, однажды вы почувствуете, что вам чего-то не хватает для того чтобы понять Hello World. И вам неизбежно попадется на глаза такая книга.

Java Concurrency на практике Её автор пишет, что
ему посчастливилось работать с фантастической командой над дизайном и
реализацией функций параллелизма, добавленных к платформе Java в Java 5.0 и
Java 6. Теперь эта же команда даёт лучшее объяснение этих новых функций и
параллелизма в целом. Параллелизм больше не является темой только для опытных
пользователей. Каждый Разработчик Java должен прочитать эту книгу.
—Martin Buchholz
JDK Concurrency Czar, Sun Microsystems

И в этот момент вас пронзит мысль, в глазах появится яркая вспышка. Я понял, вскрикните вы, что есть мочи.

Буду перерабатывать двухпоточный текст с Hello World1 и 2
Это будет в этой директории :
alex@alex:~/Consolejava/Study-java/etud/9/9_81/9_82/src/9_83$
Переименую GuruThread1 в GuruThreadHW1

public class GuruThreadHW1 implements Runnable{

    /**
     * @param args
     */
    public static void main(String[] args) {
        Thread guruThreadHW1 = new Thread("Hello World!1");
        Thread guruThreadHW2 = new Thread("Hello World!2");
        guruThreadHW1.start();
        guruThreadHW2.start();
        System.out.println("Thread names are following:");
        System.out.println(guruThreadHW1.getName());
        System.out.println(guruThreadHW2.getName());
    }
    @Override
    public void run() {
    }

}

Thread names are following:
Hello World!1
Hello World!2
alex@alex:~/Consolejava/Study-java/etud/9/9_81/9_82/src/9_83/src$

Даже не сомневался. Вот сколько уже Хелло Вордов. А ещё не вечер.
До сентября с Хелло Вордами чуть-чуть должно проясниться. Напомню, я в консоли.
23.05.2019 20:06:49
//__\\ Выделил синим, это эпохально. Кто меня слышит, пишите.


Пт 24 май 2019 16:49:39 Java Hello World ! Сложно о простом. Однажды в 1000 и 1 раз возвращаясь к HelloWorld, встретимся неизбежно https://habr.com/en/post/134102/ с не просто простым, а очень простым. Размер Java объектов. Знаете сколько в памяти занимает строка? Каких только я не слышал ответов на этот вопрос, начиная от «не знаю» до «2 байта * количество символов в строке». А сколько тогда занимает пустая строка? А знаете сколько занимает объект класса Integer? А сколько будет занимать Ваш собственный объект класса с тремя Integer полями? Забавно, но ни один мой знакомый Java программист не смог ответить на эти вопросы… Да, большинству из нас это вообще не нужно и никто в реальных java проектах не будет об этом думать. Но это, ведь, как не знать объем двигателя машины на которой Вы ездите. Вы можете быть прекрасным водителем и даже не подозревать о том, что значат цифры 2.4 или 1.6 на вашей машине. Но я уверен, что найдется мало людей, которые не знакомы со значением этих цифр. Так почему же java программисты так мало знают об этой части своего инструмента? Integer vs int. Все мы знаем, что в java — everything is an object. Кроме, пожалуй, примитивов и ссылок на сами объекты. Давайте рассмотрим две типичных ситуации:

//первый случай
int a = 300;
//второй случай
Integer b = 301;
В этих простых строках разница просто огромна, как для JVM так и для ООП. 
В первом случае, все что у нас есть — это 4-х байтная переменная, которая содержит значение из стека. 
Во втором случае у нас есть ссылочная переменная и сам объект, на который эта переменная ссылается. 
Следовательно, если в первом случае мы определено знаем, что занимаемый размер равен: 
sizeOf(int) то во втором: sizeOf(reference) + sizeOf(Integer) Забегая вперед скажу — 
во втором случае количество потребляемой памяти приблизительно в 5 раз больше и зависит от JVM. 
А теперь давайте разберемся, почему разница настолько огромна. 
Читаем дальше по ссылке https://habr.com/en/post/134102/ И, как водится, в таких статьях hollyсрач
они похожи друг на друга, а зачем это знать ява программисту. Что напоминает а зачем шофёру знать об устройстве руля
Да помните, денег нет и вы, солдаты не за Петра воюете. А за Родину-мать.--- И ещё помните о потоках и исключениях.
Да не забывайте, https://proglib.io/p/25-java-tricks/ О чистом коде. Своевременно проводите трассировку стэка, 
отлавливайте баги. Выполнение консольных команд. Java позволяет выполнять консольные команды прямо из кода 
с помощью класса Runtime. При этом очень важно не забывать об обработке исключений. Для примера попробуйте
открыть PDF-файл через терминал на Java:

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class ShellCommandExec {

  public static void main(String[] args) {
    String gnomeOpenCommand = "gnome-open //home//user//Documents//MyDoc.pdf";

    try {
      Runtime rt = Runtime.getRuntime();
      Process processObj = rt.exec(gnomeOpenCommand);

      InputStream stdin = processObj.getErrorStream();
      InputStreamReader isr = new InputStreamReader(stdin);
      BufferedReader br = new BufferedReader(isr);

      String myoutput = "";

      while ((myoutput=br.readLine()) != null) {
        myoutput = myoutput+"\n";
      }
      System.out.println(myoutput);
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Но мир замечателен. https://javadevblog.com/programma-na-java-dlya-rascheta-ploshhadi-treugol-nika.html
раз пошёл треугольник, убрал package ua.com.prologistic;
а ведь забыл. Раньше то было так.
Площадь круга и длина окружности на Java Не к спеху
Оператор continue в Java используется для пропуска текущей итерации цикла. Он может быть использован в циклах for , while и do-while цикле. Оператор continue в Java также может быть маркированным (labeled) для пропуска текущей итерации внешнего цикла. Ниже представлен пример программы, демонстрирующий использование continue в программе на Java:
Это интересней. JavaContinue.java в папке /home/alex/Consolejava/Study-java/etud/9/9_81/9_82/9_84 работает, конечно.
Пример использования оператора break в for, while, do-while циклах
Работает. Для чего-то надо применить.
Лучше про исключения, или exceptions написано на этом сайте. https://www.geeksforgeeks.org/throw-throws-java/
To prevent this compile time error we can handle the exception in two ways:
  1. By using try catch
  2. By using throws keyword

We can use throws keyword to delegate the responsibility of exception handling to the caller (It may be a method or JVM) then caller method is responsible to handle that exception.

// Java program to illustrate error in case 
// of unhandled exception
class tst 
{
    public static void main(String[] args)
    {
        Thread.sleep(10000);
        System.out.println("Hello Geeks");
    }
}

Output: error: unreported exception InterruptedException; must be caught or declared to be thrown Explanation :

In the above program, we are getting compile time error because there is a chance of exception 
if the main thread is going to sleep, 
other threads get the chance to execute main() method which will cause InterruptedException.
// Java program to illustrate throws
class tst 
{
    public static void main(String[] args)throws InterruptedException
    {
        Thread.sleep(10000);
        System.out.println("Hello Geeks");
    }
}

Output: Hello Geeks

Explanation : In the above program, by using throws keyword we handled the InterruptedException and we will get the output as Hello Geeks

Another Example:

// Java program to demonstrate working of throws
class ThrowsExecp
{
    static void fun() throws IllegalAccessException
    {
        System.out.println("Inside fun(). ");
        throw new IllegalAccessException("demo");
    }
    public static void main(String args[])
    {
        try
        {
            fun();
        }
        catch(IllegalAccessException e)
        {
            System.out.println("caught in main.");
        }
    }
}

Output:

Inside fun().
caught in main.

Important points to remember about throws keyword:

  • throws keyword is required only for checked exception and usage of throws keyword for unchecked exception is meaningless.
  • throws keyword is required only to convince compiler and usage of throws keyword does not prevent abnormal termination of program.
  • By the help of throws keyword we can provide information to the caller of the method about the exception.

Reference: Java – The complete Reference by Herbert Schildt

This article is contributed by Pratik Agarwal and Bishal Dubey. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.  Я теперь реже говорю, понял, понятно. Hello World ещё обнаружит мою самонадеянность . Теперь на очереди работа с https://ideone.com/2H4Diimport java.util.*;

         import java.util.*;
         import java.lang.*;
         import java.io.*;
              
          class Ideone
             {
          public static void main (String[] args) throws java.lang.Exception
              {
                                            double a, V, S;
                                                     Scanner in = new Scanner(System.in);
                                                             a = in.nextDouble();
                                                                    V = a*a*a;
                                                                            S = 6*a*a;
                                                                                    System.out.println(V);
                                                                                            System.out.println(S);
                   }
            }

 

https://www.webucator.com/how-to/how-throw-an-exception-java.cfm  How to Throw an Exception in Java You can throw an exception in Java by using the throw keyword. This action will cause an exception to be raised and will require the calling method to catch the exception or throw the exception to the next level in the call stack. To learn how to throw an exception in Java, follow these four steps. Open your text editor and type in the following Java statements:  автор сильно платный. В коде есть ошибка. Это на потом. Зря уйдёт время сейчас. 

Первый вариант

public class HelloWorld {

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

Второй вариант

class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}
Компилятор в обеих случаях выводит Hello World!
хотя во втором варианте нет термина public
Почему ? Java обеспечивает контроль доступа через три модификатора — public, protected and private. 
Проливает свет Луны это : 

Разработчики языка разрешили использовать только «public» или «default» для работы с Java классами.

  • Если класс «public», то мы можем получить к нему доступ из любой точки мира, то есть от любого другого класса, расположенного в каких-либо других пакетах и т.д.
  • Мы можем иметь только один «public» класс в исходном файле. Также следует указать, что имя файла должно быть таким же, как имя public-класса.
  • Если класс имеет «default access» (доступ по умолчанию), то он может быть доступен только из других классов в одном пакете.
  • Вот и думайте об этом до утра. Я не буду. Точки мира для меня это очень далеко.
  • http://davidmd.ru/2011/08/21/public-static-%D0%B2-java-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE-%D0%B8-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%BD%D0%BE/  А давайте ка по быстрому разберемся, что такое модификаторы доступа в java (public private protected) и зачем они нужны? Предлагает Давид. К слову у него интересный код есть.
  • public class line {
     public float x1,y1,x2,y2;
     
     public line(float x1, float y1, float x2, float y2)
     {
     this.x1=x1;
     this.y1=y1;
     this.x2=x2;
     this.y2=y2;
     }
    }
     
    ---
     
    public class line {
        public float x1,y1,x2,y2;
        public float length;
        public line(float x1, float y1, float x2, float y2)
        {
            this.x1=x1;
            this.y1=y1;
            this.x2=x2;
            this.y2=y2;
            calculateLength();
        }
     
        public void calculateLength()
        {
            length=(float) Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
        }
    }
    То есть завтра надо посмотреть.
    --- Вот и завтра пришло. Сегодня : Сб май 25 15:40:01 MSK 2019
    Снова Hello World!  https://www.youtube.com/watch?v=85H7hamHyi8  Лекция 1 | Алгебры Хопфа и теория Галуа | Николай Вавилов | Лекториум для учащихся 4 семестра Другие лекции по курсу "Алгебры Хопфа и теория Галуа" доступны для просмотра по ссылке: https://www.youtube.com/playlist?list...   
    Без прохождения этих лекций, начинать учить Hello World! нет смысла. Сб май 25 15:40:01 MSK 2019 http://chebyshev.spbu.ru/lecture-notes/ Здесь полсотни курсов. К Hello World! ведут тысячи дорог, я так думаю. Но лишь одну надо угадать. Одну из тысяч. И я с тревогой вглядываюсь в развилку, ошибёшься, значит пропал. И бесславны будут твои дела. Жирный Тоник :
    system.out.println("Hello World!"); говорит, что если бы не память, ему пришлось написать ~15 млн. единиц и нулей https://www.internet-technologies.ru/articles/klyuchevoe-slovo-static-v-java.html Ключевое слово static в Java В Java static ключевое слово используется для управления памятью. Его можно применять с переменными, методами, блоками и внутренними классами. В объявлении static относится к классу, а не экземпляру класса.  Есть и программа
    //Программа со статической переменной
    
    class Student8{  
       int rollno;  
       String name;  
       static String college ="ITS";
    
       Student8(int r,String n){  
       rollno = r;  
       name = n;  
       }  
     void display (){System.out.println(rollno+" "+name+" "+college);}
    
     public static void main(String args[]){  
     Student8 s1 = new Student8(111,"Karan");  
     Student8 s2 = new Student8(222,"Aryan");
    
     s1.display();  
     s2.display();  
     }  
    }
    
    
    
    Вернусь к Жирни Тоник.
    // Class1.java
     public class Class1{

         public static void main(String[] args){
             System.out.println("Hello World!");
        }
        }
     
    Дальше замечательный сайт на тему if else С компилятором Вс май 26 19:08:23 MSK 2019

    https://www.javatpoint.com/java-if-else

    //Java Program to demonstate the use of if statement. 

        public class IfExample {  
        public static void main(String[] args) {  
            //defining an 'age' variable  
            int age=20;  
            //checking the age  
            if(age>18){  
                System.out.print("Age is greater than 18");  
                }  
           }  
        } 

    Вывод : Age is greater than 18alex Чудно !

     

    Картинка ->
     // 00:25:52 2 урок jre Посчитала, сколько памяти надо выделить. Передала через класс лоадер в статический контент
     (неточно) https://www.youtube.com/watch?v=qrBmQ_5Yen0&t=208s ZhirniToni Это видео - третья часть моего нового цикла
    туториалов под названием "Программирование на Java для начинающих" в котором мы будем разбирать все аспекты Java программирования. В данном выпуске я расскажу о то, что такое методы и переменные. Как их инициализировать и как их вообще использовать Программирование на Java для начинающих: #3 (Методы) Все уроки автора классика. Их надо 100 раз смотреть. https://neurohive.io/ru/osnovy-data-science/5-metodov-v-nlp-kotorye-izmenjat-obshhenie-v-budushhem/ Собираетесь изучать NLP   https://stanfordnlp.github.io/CoreNLP/ Stanford CoreNLP – Natural language software  https://proglib.io/p/how-to-start-nlp/   Обработка естественного языка: с чего начать и что изучать дальше И уже дальше
     
    [0x00000210 0% 336 HelloWorld.java]> x                                         
    - offset -   0 1  2 3  4 5  6 7  8 9  A B  C D  E F  0123456789ABCDEF          
    0x00000210  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000220  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000230  ffff ffff ffff ffff ffff ffff ffff ffff  ................          0x00000240  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000250  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000260  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000270  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000280  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000290  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002a0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002b0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002c0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002d0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002e0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x000002f0  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000300  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000310  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000320  ffff ffff ffff ffff ffff ffff ffff ffff  ................          
    0x00000330  ffff ffff ffff ffff ffff ffff ffff ffff  ................   
    В консоли цветное. Да с Hello World! разобраться бы до заморозков. Да про nasm не забывать. А ещё база где-то установлена
    майкрософтовская. Ну это так, хотя как знать. Hello World! уж не знаю теперь. Доступен ли вообще моему рассудку.
    http://itlift.ru/category/java Автор: Miheeva | (6 июля 2010) Вс май 26 12:16:44 MSK 2019 Hello World! безграничен. https://ru.wikibooks.org/wiki/Java/Hello_World! Java/Hello World! https://ru.wikipedia.org/wiki/99_%D0%B1%D1%83%D1%82%D1%8B%D0%BB%D0%BE%D0%BA_%D0%BF%D0%B8%D0%B2%D0%B0 99 бутылок пива https://ru.wikipedia.org/wiki/%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%B5%D1%81%D0%B5%D0%BD «Оценка сложности песен» (англ. The Complexity of Songs) — статья, опубликованная теоретиком компьютерных наук Дональдом Кнутом в 1977 году[1], представляющая собой «шутку для посвящённых», связанную с теорией вычислительной сложности. https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C

    Вычисли́тельная сло́жность — понятие в информатике и теории алгоритмов, обозначающее функцию зависимости объёма работы, которая выполняется некоторым алгоритмом, от размера входных данных. Раздел, изучающий вычислительную сложность, называется теорией сложности вычислений. Объём работы обычно измеряется абстрактными понятиями времени и пространства, называемыми вычислительными ресурсами. Время определяется количеством элементарных шагов, необходимых для решения задачи, тогда как пространство определяется объёмом памяти или места на носителе данных. Таким образом, в этой области предпринимается попытка ответить на центральный вопрос разработки алгоритмов: «как изменится время исполнения и объём занятой памяти в зависимости от размера входа?». Здесь под размером входа понимается длина описания данных задачи в битах (например, в задаче коммивояжёра длина входа почти пропорциональна количеству городов и дорог между ними), а под размером выхода — длина описания решения задачи (наилучшего маршрута в задаче коммивояжера).

    В частности, теория сложности вычислений определяет NP-полные задачи, которые недетерминированная машина Тьюринга может решить за полиномиальное время, тогда как для детерминированной машины Тьюринга полиномиальный алгоритм неизвестен. Обычно это сложные задачи оптимизации, например, задача коммивояжёра. https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0 Теоретическая информатика — это научная область, предметом изучения которой являются информация и информационные процессы, в которой осуществляется изобретение и создание новых средств работы с информацией. Это подразделение общей информатики и математики, которое сосредотачивается на более абстрактных или математических аспектах вычислительной техники и включает в себя теорию алгоритмов. Как любая фундаментальная наука, теоретическая информатика (в тесном взаимодействии с философией и кибернетикой) занимается созданием системы понятий, выявлением общих закономерностей, позволяющих описывать информацию и информационные процессы, протекающие в различных сферах (в природе, обществе, человеческом организме, технических системах). http://rain.ifmo.ru/cat/view.php/theory/algorithm-analysis/np-completeness-2004 ДИСКРЕТНАЯ МАТЕМАТИКА: АЛГОРИТМЫ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ПРОГРАММИРОВАНИЯ КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ https://habr.com/en/post/132127/ Еще немного про P и NP https://ru.wikipedia.org/wiki/NP-%D0%BF%D0%BE%D0%BB%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0 NP-полная задача — в теории алгоритмов задача с ответом «да» или «нет» из класса NP, к которой можно свести любую другую задачу из этого класса за полиномиальное время (то есть при помощи операций, число которых не превышает некоторого полинома в зависимости от размера исходных данных). Таким образом, NP-полные задачи образуют в некотором смысле подмножество «типовых» задач в классе NP: если для какой-то из них найден «полиномиально быстрый» алгоритм решения, то и любая другая задача из класса NP может быть решена так же «быстро». https://www.youtube.com/watch?v=VmzWFFtkFGk  Лекция 7: NP-полнота некоторых задач. Класс co-NP Национальный Открытый Университет "ИНТУИТ"  С Hello World! непочатый край. Вряд ли до Нового Года освою философию Hello World! Step by step. Значица так, Hello World это на самый последний этап. Его я напишу на 600 страницах. Синъити Мотидзуки будет плакать, как маленький ребёнок. Его abc-гипотеза написана всего на 500 страницах. Мой Hello World! на 600 страницах поможет Минздраву РФ обустроить медицину в России. А пока смотрю https://www.youtube.com/watch?v=85H7hamHyi8  Лекция 1 | Алгебры Хопфа и теория Галуа | Николай Вавилов | Лекториум https://www.youtube.com/watch?time_continue=2&v=kIrKeKiJt90 Как работает процессор это не то. Буду искать другое. Например и у других людей на написание Hello World! ушло несколько месяцев. Но внезапно простенькая заметка про hello world заняла у меня несколько месяцев. Преимущественно из-за Эльбруса. Тут оказалось много нового и непонятного при почти полном отсутствии читабельной документации. И тут хотелось бы сказать огромное спасибо многим моим коллегам, которые терпеливо в течении долгого времени разъясняли мне простейшие вещи. http://alexanius-blog.blogspot.com/2016/05/hello-world.html | https://www.tldp.org/HOWTO/Assembly-HOWTO/hello.html Linux Assembly HOWTO Linux is 32-bit, runs in protected mode, has flat memory model, and uses the ELF format for binaries. https://www.tldp.org/HOWTO/Assembly-HOWTO/build.html 6.3. Building an executable6.3.1. Producing object code

    $ nasm -f elf hello.asm     у меня должен быть elf
    $ ld -s -o hello hello.o 
    https://www.tldp.org/HOWTO/Assembly-HOWTO/faq.html#AEN985 
    How do I access BIOS functions from Linux (BSD, BeOS, etc)? section .text
    
    	global init_module
    	global cleanup_module
    	global kernel_version
    
    	extern printk
    
    init_module:
    	push	dword str1
    	call	printk
    	pop	eax
    	xor	eax,eax
    	ret
    
    cleanup_module:
    	push	dword str2
    	call	printk
    	pop	eax
    	ret
    	
    str1		db	"init_module done",0xa,0
    str2		db	"cleanup_module done",0xa,0
    
    kernel_version	db	"2.2.18",0 
    $ nasm -f elf -o module.m module.asm 
    $ ld -r -o module.o module.m И не забываем Феликс Клейн (1849—1925) Он у меня в папке Жирный dijv
    а в интернете по адресу 
    http://www.mathedu.ru/lib/books/kleyn_elementarnaya_matematika_s_tochki_zreniya_vysshey_t1_1987/#20
    В превосходном качестве. ДЕЙСТВИЯ НАД НАТУРАЛЬНЫМИ ЧИСЛАМИ 21 стр. Весь первый год
    обучения посвящается счету в пределах первых двух
    десятков, а примерно первое полугодие — даже счету
    в пределах одного десятка. Числа вводятся как чис-
    числовые образы, составленные из точек, или как коли-
    количества всевозможных доступных детям предметов.
    Сложение и умножение объясняются детям и усваи-
    усваиваются ими на наглядных представлениях. На второй На второй
    ступени разрабатывается числовая область от еди-
    единицы до ста; в этот период обучения, а зачастую еще
    и раньше вводятся арабские цифры, выясняется зна-
    значение места, занимаемого цифрой в числе, и вообще
    вводится десятичная система. Эта книга давно у меня. Она указывала на простоту мироздания. Не спеша. Step by
    step. Поэтому и Hello World! для меня не прост. https://www.youtube.com/watch?v=Rir4DM3Y9hE 
    Теория Галуа (1). Алексей Савватеев. Всего лекций по Галуа у Савватева три.
    Клейн Ф. стр. 206 I. ЛОГАРИФМ И ПОКАЗАТЕЛЬНАЯ ФУНКЦИЯ Эта тема всегда была на первом месте для меня. Речь пойдет главным образом об элемен-
    элементарных трансцендентных функциях, которые действи-
    действительно играют большую роль в школьном преподава-
    преподавании: это — показательная функция (соответственно
    логарифм) и тригонометрические функции.
    Прежде всего я хочу напомнить известный всем
    вам ход изложения этого вопроса в школе и его про-
    продолжение, примыкающее к так называемой система-
    систематике алгебраического анализа. 1. Систематика алгебраического анализа Исходят из степени а = Ъ° и затем последова-
    последовательно переходят от целых положительных показате-
    показателей с к дробным значениям с; тем самым понятие
    корня включается в обобщенное понятие степени. Умное убрал. Вспомнил про парсер, забыл, что это такое. /home/alex/Desktop/Жирный/AlgorithmsinJava-razblokirovan.pdf
    https://ru.wikipedia.org/wiki/99_%D0%B1%D1%83%D1%82%D1%8B%D0%BB%D0%BE%D0%BA_%D0%BF%D0%B8%D0%B2%D0%B0
    99 бутылок пива
    https://lawbooks.news/telekommunikatsionnyie-sistemyi-kompyuternyie/shema-rabotyi-protsessora-pri-vyipolnenii-59962.html
    Схема работы процесса в плохих картинках.
     
    https://studfiles.net/preview/3675722/page:29/
    Задача разбора введенного текста — парсинг (parsing) — вечная задача программирования
    
    Вс 26 май 2019 17:51:59 https://www.internet-technologies.ru/articles/znakomstvo-s-ciklami-v-java-uchebnik-s-primerami.html
    Java-цикл For и его различные типы For – самый популярный цикл из трёх доступных. 
    Всё, что можно делать при помощи цикла while Java, легко делается и с помощью цикла for. Существует два типа 
    цикла for: Обычный цикл for; Вложенный for; 
    
    class example
    {
          public static void main(String arg[])
          {
            int i;
            for(i=1;i<=3;i++)
            {
              System.out.print("hello world");
             }
           }
    }
    Скомпилировал я hello world hello world hello world Пример 2: 
    
    class ForLoopBasics6
    {
    	public static void main(String args[])
    	{
    	int i;
    	for( i=1;i<=5;i++)	   
    	{
      	  System.out.println(i);  //1 2 3 4 5
    	}
       	System.out.println(i);  //6
    }
    Потом решу. 
    https://younglinux.info/java/cycles Циклы в Java
    В Java есть четыре цикла. Два цикла while – с предусловием и постусловием. Два цикла for – со счетчиком и цикл обхода элементов массива или коллекции.
    

    Пример while с предусловием:

    public class WhileCycle {
        public static void main(String[] args) {
            int n = 5;
            int i = 0;
     
            while (i < n) {
                System.out.println("New line " + i);
                i += 1;
            }
     
        }
    } 
    
    Пример while c постусловием:
    
    public class DoWhileCycle {
        public static void main(String[] args) {
            int n = 5;
            int i = 0;
     
            do {
                System.out.println("New line " + i);
                i++;
            } while (i < n);
        }
    }
    
    Цикл for со счетчиком:
    
    public class ForCycle {
        public static void main(String[] args) {
     
            for (int i = 0; i < 5; i++) {
                System.out.print("New line ");
                System.out.println(i);
            }
        }
    }
    
    Цикл перебора элементов массива:
    
    public class ForArrayCycle {
        public static void main(String[] args) {
            int[] arr = {10, 15, 20, 25, 30};
     
            for (int i : arr) {
                System.out.println(i + 1);
            }
        }
    }
    Семантика заголовка последнего цикла такова. На каждой итерации из массива или коллекции, 
    стоящей после двоеточия, извлекается очередной элемент и присваивается переменной, стоящей до двоеточия. 
    Создано 
    
    // http://developer.alexanderklimov.ru/android/java/switch.php
    // Вс 26 май 2019 21:19:26
    // Оператор switch
    // klimovswitch.java
    public class StringSwitchDemo {
    
        public static int getMonthNumber(String month) {
    
            int monthNumber = 0;
    
            if (month == null) {
                return monthNumber;
            }
    
            switch (month.toLowerCase()) {
                case "january":
                    monthNumber = 1;
                    break;
                case "february":
                    monthNumber = 2;
                    break;
                case "march":
                    monthNumber = 3;
                    break;
                case "april":
                    monthNumber = 4;
                    break;
                case "may":
                    monthNumber = 5;
                    break;
                case "june":
                    monthNumber = 6;
               &

    JAVA_18

    Пятница, 17 Мая 2019 г. 20:03 + в цитатник

    JAVA_18

    https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B5%D1%81%D1%82%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0

    Теоретически, построение естественно-языкового интерфейса для компьютеров — очень привлекательная цель. Ранние системы, такие как SHRDLU, работая с ограниченным «миром кубиков» и используя ограниченный словарный запас, выглядели чрезвычайно хорошо, вдохновляя этим своих создателей. Однако оптимизм быстро иссяк, когда эти системы столкнулись со сложностью и неоднозначностью реального мира.

    Понимание естественного языка иногда считают AI-полной задачей, потому как распознавание живого языка требует огромных знаний системы об окружающем мире и возможности с ним взаимодействовать. Само определение смысла слова «понимать» — одна из главных задач искусственного интеллекта.

    https://ru.wikipedia.org/wiki/GATE_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)

    General Architecture for Text Engineering (GATE, программа) — система обработки естественного языка с открытым исходным кодом, использующая наборы компонентов на языке Java[1]. Система изначально была разработана в Университете Шеффилда и развивается с 1995 г.

    С помощью GATE реализуются задачи, где требуется выявить смысловое содержание текста и кодировать его в структурированном виде путём добавления аннотаций к сегментам текста. GATE используется наряду с NLTK, R и RapidMiner [2]. Система применяется для извлечения информации, ручной и автоматической семантической аннотации, анализа кореферентности, работы с онтологиями (например, WordNet), машинного обучения (Weka, RASP, MAXENT, SVM Light), анализа потока сообщений в блогах (например, Twitter) [3].

    https://ru.wikipedia.org/wiki/MARF

    Модульная библиотека для распознавания аудио (англ. Modular Audio Recognition Framework, MARF) — является исследовательской платформой и подборкой алгоритмов для обработки и распознавания образов (текста, речи, звука и т. д.) и обработки естественного языка, написанная на Java и устроенная в модульную и расширяемую структуру, которая пытается облегчить дополнение новых алгоритмов, плагинов и модулей. MARF может действовать как библиотека в приложениях или может использоваться как источник для изучения и расширения. Несколько сопровождающих приложений прилагаются для иллюстрации возможностей библиотеки и как ей пользоваться. Есть также достаточно детальное руководство [1] и описание программного интерфейса[2] в формате Javadoc. MARF и её приложения выпущены согласно лицензии BSD-стиля.

    Последняя версия выпущена 8 января 2007 года[3].

    Ана́лиз тона́льности те́кста (сентимент-анализ, англ. Sentiment analysis, англ. Opinion mining[1]) — класс методов контент-анализа в компьютерной лингвистике, предназначенный для автоматизированного выявления в текстах эмоционально окрашенной лексики и эмоциональной оценки авторов (мнений) по отношению к объектам, речь о которых идёт в тексте[⇨].

    Тональность — это эмоциональное отношение автора высказывания к некоторому объекту (объекту реального мира, событию, процессу или их свойствам/атрибутам), выраженное в тексте. Эмоциональная составляющая, выраженная на уровне лексемы или коммуникативного фрагмента, называется лексической тональностью (или лексическим сентиментом). Тональность всего текста в целом можно определить как функцию (в простейшем случае сумму) лексических тональностей составляющих его единиц (предложений) и правил их сочетания[2].

    Вопросно-ответная система (QA-система; от англ. QA — англ. Question-answering system) — информационная система, способная принимать вопросы и отвечать на них на естественном языке, другими словами, это система с естественно-языковым интерфейсом

    Узкоспециализированные QA-системы работают в конкретных областях (например, медицина или обслуживание автомобилей).

    Современные системы предназначаются для поиска ответов на вопросы в предоставляемых документах с использованием технологий обработки естественных языков (NLP).

    Генера́тор те́кста — компьютерная программа, генерирующая тексты (сленг генерёнку), корректные с точки зрения большинства языковых норм, но, как правило, лишённые смысла (в связи с чем такие программы иногда называют «бредогенераторами», «генераторами шизофазии»).

    Иногда у читающего сгенерированный такой программой текст (например, использующей цепь Маркова) может сложиться впечатление, что этот текст является осмысленным, особенно если текст имеет тематику, с которой читающий слабо знаком. Например, некоторые люди не понимают философию и считают любой философский текст, содержащий большое число специфических терминов, бредом, поэтому они не могут определить искусственный характер псевдофилософского текста, написанного программой.

    Существуют разные виды генераторов текста, различающиеся своими возможностями (например, некоторые из них могут самостоятельно формировать новые слова).

    Джонатан Свифт в «Путешествиях Гулливера», пародируя Ars magna Раймунда Луллия, сатирически описал машину из Лагадо, генерирующую тексты.

    Си́нтез ре́чи — в широком смысле — восстановление формы речевого сигнала по его параметрам[1]; в узком смысле — формирование речевого сигнала по печатному[уточнить] тексту. Часть искусственного интеллекта.

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

    Синтезатор речи — структура, способная переводить текст/образы в речь, в программном обеспечении и/или аппаратных средствах.

    Голосовой движок — непосредственно система/ядро преобразования текста/команд в речь, это также может существовать независимо от компьютера.

    Всё понятно. Пока возвратился к яве. Однострочный калькулятор 100 100500 раз пока не вызубрю.

    /home/alex/Consolejava/Study-java/etud/7

    // https://habr.com/en/post/320830/
    //
    import java.util.*;
    import java.util.function.DoubleBinaryOperator;
    import java.util.stream.*;

    public class OneLineCalc {
      private static final String OP_NAMES = "+-*/";
      private static final List<DoubleBinaryOperator> OPS =
              Arrays.asList((a, b) -> a+b, (a, b) -> a-b, (a, b) -> a*b, (a, b) -> a/b);

      private static String normalize(String s) {
        return s.replaceAll("\\s", "");
      }

      private static void calc(String s) {
        System.out.println(doCalc(normalize(s)));
      }

      private static double doCalc(String s) {
        try {
          int opPos = IntStream.range(1, s.length())
                               .filter(idx -> OP_NAMES.indexOf(s.charAt(idx)) != -1)
                               .findFirst().getAsInt();
          return OPS.get(OP_NAMES.indexOf(s.charAt(opPos))).applyAsDouble(
                    Double.parseDouble(s.substring(0, opPos)),
                    Double.parseDouble(s.substring(opPos+1)));
        }
        catch (NoSuchElementException | NumberFormatException e) {
          return Double.NaN;
        }
      }

      public static void main(String[] args) {
        calc("+5 + -12");
        calc("+5 * -12");
        calc("+5 - -12");
        calc("+5 / -12");
      }
    }

    Достаточно на сегодня 19 мая 2019 год.

     

    Пн май 20 18:04:20 MSK 2019

    DG - EX     Если видите, ответьте

    Далее буду повторять всего 3 файла исключительно в консоли.

    1).

    // https://habr.com/en/post/125210/
     // Берем сам файл HelloWorld.java.
     public class HelloWorld{
             public static void main(String[] args){
                System.out.println("Hello World!");
            }
     }

    2). а)

    public class Date
    {
        private int day;
        private String month;
        private int year;
        
        public Date()
        {
            this(1, "January", 2000);
        }
        
        public Date(int day, String month, int year)
        {
            setDate(day, month, year);
        }
        
        public Date(int day, int monthNumber, int year)
        {
            setDate(day, monthNumber, year);
        }
        
        public Date(Date original)
        {
            if (original == null)
            {
                System.out.println("Error: null Date object");
                System.exit(0);
            }
            setDate(original.day, original.month, original.year);
        }
        
        public int getDay()
        {
            return day;
        }
        
        public int getMonth()
        {
            switch(month.toLowerCase())
            {
            case "january": return 1;
            case "february": return 2;
            case "march": return 3;
            case "april": return 4;
            case "may": return 5;
            case "june": return 6;
            case "july": return 7;
            case "august": return 8;
            case "september": return 9;
            case "october": return 10;
            case "november": return 11;
            case "december": return 12;
            default: return 0;
            }
        }
        
        public int getYear()
        {
            return year;
        }
        
        public void setDay(int day)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal day.");
                System.exit(0);
            }
            this.day = day;
        }
        
        public void setMonth(String month)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal month.");
                System.exit(0);
            }
            this.month = month;
        }
        
        public void setMonth(int monthNumber)
        {
            if (!dateOK(day, monthNumber, year))
            {
                System.out.println("Error: illegal month number.");
                System.exit(0);
            }
            this.month = monthString(monthNumber);
        }
        
        public void setYear(int year)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal year.");
                System.exit(0);
            }
            this.year = year;
        }
        
        public void setDate(int day, String month, int year)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal date.");
                System.exit(0);
            }
            this.day = day;
            this.month = month;
            this.year = year;
        }
        
        public void setDate(int day, int monthNumber, int year)
        {
            if (!dateOK(day, monthNumber, year))
            {
                System.out.println("Error: illegal date.");
                System.exit(0);
            }
            this.day = day;
            this.month = monthString(monthNumber);
            this.year = year;
        }
        
        public boolean equals(Date otherDate)
        {
            return (day == otherDate.day
                    && getMonth() == otherDate.getMonth()
                    && year == otherDate.year);
        }
        
        public String toString()
        {
            return month + " " + day + ", " + year;
        }
        
        public boolean precedes(Date otherDate)
        {
            return (year < otherDate.year)
                    || (year == otherDate.year
                        && getMonth() < otherDate.getMonth())
                    || (year == otherDate.year
                        && getMonth() == otherDate.getMonth()
                        && day < otherDate.day);
        }
        
        private static boolean isLeapYear(int year)
        {
            return (year % 4 == 0 && year % 100 !=0)
                    || (year % 400 == 0);
        }
        
        private static String monthString(int monthNumber)
        {
            switch (monthNumber)
            {
            case 1: return "January";
            case 2: return "February";
            case 3: return "March";
            case 4: return "April";
            case 5: return "May";
            case 6: return "June";
            case 7: return "July";
            case 8: return "August";
            case 9: return "September";
            case 10: return "October";
            case 11: return "November";
            case 12: return "December";
            default : return "Error: illegal month number";
            }
        }
        
        private static boolean dateOK(int day, String month, int year)
        {
            if (year < 1900 || year > 9999)
                return false;
            switch (month.toLowerCase())
            {
            case "january":
            case "march":
            case "may":
            case "july":
            case "august":
            case "october":
            case "december": return (day >= 1 && day <= 31);
            case "april":
            case "june":
            case "september":
            case "november": return (day >= 1 && day <= 31);
            case "february":
                if (isLeapYear(year))
                    return (day >= 1 && day <= 29);
                return (day >= 1 && day <= 28);
            default: return false;
            }
        }
        
        private static boolean dateOK(int day, int monthNumber, int year)
        {
            String monthString = monthString(monthNumber);
            return dateOK(day, monthString, year);
        }
    }

    public class Date
    {
        private int day;
        private String month;
        private int year;
        
        public Date()
        {
            this(1, "January", 2000);
        }
        
        public Date(int day, String month, int year)
        {
            setDate(day, month, year);
        }
        
        public Date(int day, int monthNumber, int year)
        {
            setDate(day, monthNumber, year);
        }
        
        public Date(Date original)
        {
            if (original == null)
            {
                System.out.println("Error: null Date object");
                System.exit(0);
            }
            setDate(original.day, original.month, original.year);
        }
        
        public int getDay()
        {
            return day;
        }
        
        public int getMonth()
        {
            switch(month.toLowerCase())
            {
            case "january": return 1;
            case "february": return 2;
            case "march": return 3;
            case "april": return 4;
            case "may": return 5;
            case "june": return 6;
            case "july": return 7;
            case "august": return 8;
            case "september": return 9;
            case "october": return 10;
            case "november": return 11;
            case "december": return 12;
            default: return 0;
            }
        }
        
        public int getYear()
        {
            return year;
        }
        
        public void setDay(int day)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal day.");
                System.exit(0);
            }
            this.day = day;
        }
        
        public void setMonth(String month)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal month.");
                System.exit(0);
            }
            this.month = month;
        }
        
        public void setMonth(int monthNumber)
        {
            if (!dateOK(day, monthNumber, year))
            {
                System.out.println("Error: illegal month number.");
                System.exit(0);
            }
            this.month = monthString(monthNumber);
        }
        
        public void setYear(int year)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal year.");
                System.exit(0);
            }
            this.year = year;
        }
        
        public void setDate(int day, String month, int year)
        {
            if (!dateOK(day, month, year))
            {
                System.out.println("Error: illegal date.");
                System.exit(0);
            }
            this.day = day;
            this.month = month;
            this.year = year;
        }
        
        public void setDate(int day, int monthNumber, int year)
        {
            if (!dateOK(day, monthNumber, year))
            {
                System.out.println("Error: illegal date.");
                System.exit(0);
            }
            this.day = day;
            this.month = monthString(monthNumber);
            this.year = year;
        }
        
        public boolean equals(Date otherDate)
        {
            return (day == otherDate.day
                    && getMonth() == otherDate.getMonth()
                    && year == otherDate.year);
        }
        
        public String toString()
        {
            return month + " " + day + ", " + year;
        }
        
        public boolean precedes(Date otherDate)
        {
            return (year < otherDate.year)
                    || (year == otherDate.year
                        && getMonth() < otherDate.getMonth())
                    || (year == otherDate.year
                        && getMonth() == otherDate.getMonth()
                        && day < otherDate.day);
        }
        
        private static boolean isLeapYear(int year)
        {
            return (year % 4 == 0 && year % 100 !=0)
                    || (year % 400 == 0);
        }
        
        private static String monthString(int monthNumber)
        {
            switch (monthNumber)
            {
            case 1: return "January";
            case 2: return "February";
            case 3: return "March";
            case 4: return "April";
            case 5: return "May";
            case 6: return "June";
            case 7: return "July";
            case 8: return "August";
            case 9: return "September";
            case 10: return "October";
            case 11: return "November";
            case 12: return "December";
            default : return "Error: illegal month number";
            }
        }
        
        private static boolean dateOK(int day, String month, int year)
        {
            if (year < 1900 || year > 9999)
                return false;
            switch (month.toLowerCase())
            {
            case "january":
            case "march":
            case "may":
            case "july":
            case "august":
            case "october":
            case "december": return (day >= 1 && day <= 31);
            case "april":
            case "june":
            case "september":
            case "november": return (day >= 1 && day <= 31);
            case "february":
                if (isLeapYear(year))
                    return (day >= 1 && day <= 29);
                return (day >= 1 && day <= 28);
            default: return false;
            }
        }
        
        private static boolean dateOK(int day, int monthNumber, int year)
        {
            String monthString = monthString(monthNumber);
            return dateOK(day, monthString, year);
        }
    }

    2). б)

    public class DateDemo
    {
        public static void main(String[] args)
        {
            Date myBirthDate = new Date(7, "August", 1992);
            Date yourBirthDate = new Date(29, "February", 1984);
            Date yourBirthDateCopy = new Date(yourBirthDate);
            yourBirthDate.setYear(2000);
            
            System.out.println("My birth date is " + myBirthDate);
            System.out.println("Your birth date is " + yourBirthDate);
            System.out.println("Your birth date copy: " + yourBirthDateCopy);
            
            if (myBirthDate.precedes(yourBirthDate))
                System.out.println(myBirthDate + " precedes " + yourBirthDate);
            else
                System.out.println(yourBirthDate + " precedes " + myBirthDate);
            
            yourBirthDate.setYear(1984);
            if (yourBirthDate.equals(yourBirthDateCopy))
                System.out.println(yourBirthDate + " equals " + yourBirthDateCopy);
            else
                System.out.println(yourBirthDate + " does not equal " +
                        yourBirthDateCopy);
        }
    }

    2а и 2б это двухфайловая программа

    3).

    // https://habr.com/en/post/320830 lany January 31, 2017 at 11:11 AM
    // Вы имели в виду как-то так?

     import java.util.*;
     import java.util.function.DoubleBinaryOperator;
     import java.util.stream.*;

     public class OneLineCalc {
           private static final String OP_NAMES = "+-*/";
             private static final List<DoubleBinaryOperator> OPS =
                           Arrays.asList((a, b) -> a+b, (a, b) -> a-b, (a, b) -> a*b, (a, b) -> a/b);

               private static String normalize(String s) {
                       return s.replaceAll("\\s", "");
                     }

                 private static void calc(String s) {
                     System.out.println(doCalc(normalize(s)));
                       }

               private static double doCalc(String s) {
                       try {
                                 int opPos = IntStream.range(1, s.length())
                                                            .filter(idx -> OP_NAMES.indexOf(s.charAt(idx)) != -1)
                                                                       .findFirst().getAsInt();
                                   return OPS.get(OP_NAMES.indexOf(s.charAt(opPos))).applyAsDouble(
                                                       Double.parseDouble(s.substring(0, opPos)),
                                                               Double.parseDouble(s.substring(opPos+1)));
                                   }
                           catch (NoSuchElementException | NumberFormatException e) {
                                 return Double.NaN;
                                 }
                         }

                 public static void main(String[] args) {
                         calc("+5 + -12");
                         calc("+5 * -12");
                             calc("+5 - -12");
                             calc("+5 / -12");
                               }
     }

    Всё. Три программы, из них одна из двух файлов.

    ////////////////////////////////////////////////////////////////////////////////////////////

    Вт май 21 19:53:20 MSK 2019

    DG - EX    отвечать не обязательно просто пишу.

    С принтером что-то получилось. Но ушло много времени.

    С Явой это я придумал, повторять 3 примера. Так бы все стали программистами.

    Там по другому, я то знаю. Дальше больше, в разные стороны и снова назад.

    Потому 6 процентов доходят до юниора.

    /////////////////////////////////////////////////////////////////////////////////////////////

    Ср май 22 12:34:54 MSK 2019

    public class HelloWorld {
    	public static void main(String[] args) {
    		System.out.println("Hello World!");
    	}
    }
    

    и другая, разница есть.

    import java.io.*;
    // This is a simple program called HelloWorld.java
    class HelloWorld
       {
    public static void main(String args
          {
    System.out.println(" Welcome to the world of Java ");
           }
       }

    и третья, разница есть.

     

    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World!");
        }
    }
    
    И четвёртая ( для учеников в IntelIdea )
    
    package com.example.helloworld;
    
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
    
    В четвёртой не выводится Hello, World. Это для IntelIdea первая строка. Но если её закомментировть то будет нормально
    примечание : Євгенія: Август 31, 2014 в 11:35 дп 
    Чому ви використовуєте багнуте ECLIPSE замість адекватного Intellij IDEA?
    видповидь : Мария (admin): Август 31, 2014 в 1:12 пп
    каждому свое, нравится идея — пользуйтесь идеей
    Ниже программа для Eclipse, где Мария каждому свое говорит
    А код я перепечатал с https://www.youtube.com/watch?v=J9lkAK0L16I
    public class Main {
    
        public static void main(String[] args){
        System.out.println("Hello world!");
         }
    
      }
    //Выше программа для Eclipse То есть где Мария каждому свое говорит.
    Ка́ждому своё (лат. suum cuique [суум куиквэ]) — всякому своё, 
    каждому по его заслугам) — классический принцип справедливости. 
    В Новейшей истории фраза получила известность как надпись, 
    сделанная немецкими нацистами над входом в концентрационный лагерь Бухенвальд, — Jedem das Seine. 
    В современном использовании, особенно в Германии и оккупированных ею во время Второй мировой войны странах, 
    фраза воспринимается с негативныm оттенком...
    
    И пятый вариант 
    
    https://gitjournal.tech/pishem-hello-world-na-java/ Это полезный вариант
    Он ведёт к компилятору https://ideone.com/07hqbe
    
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    /* Name of the class has to be "Main" only if the class is public. */
    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            // your code goes here
        }
    }
     
    Успешно #stdin #stdout 0.04s 2184192KB
    stdin: Standard input is empty
    stdout: Standard output is empty
     
    И 6-й вариант Перед этим смотрим это: http://pr0java.blogspot.com/2015/03/java-hello-world.html
    

    Строка

    public class HelloWorld

    Содержит модификатор доступа public и объявление class. Оба этих слова являются ключевыми словами языка, которые мы рассматривали до этого.

    Модификатор public означает что класс доступен другим классам и программам извне. О модификаторах доступа будем говорить позже.

    Начало класса отмечается служебным словом class, за которым следует имя класса, выбираемое произвольно, в данном случае это имя HelloWorld. Все, что содержится в классе, записывается в фигурных скобках и составляет тело класса (class body).

    В следующей строке идет объявление метода класса Это ладно, public ...

    //   Ср


    JAVA_17

    Среда, 15 Мая 2019 г. 11:16 + в цитатник

    JAVA_17

    New Netjava7 как продолжение Netjava6 как продолжение Netjava5
    Пн 13 май 2019 14:14:58
     JAVA_15

        
    Понедельник, 13 Мая 2019 г. 15:53 редактировать + в цитатник
    JAVA_15
    13.05.2019
    Начало Чт 09 май 2019 14:36:59
    Продолжения в Netjava5 Чт 09 май 2019 14:35:24
    Выше это в лайвинтернет.
      Вон столько, но надо читать. На завтра
    К этому всё ведь
    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    NeuralNetworksPrj02
      src
         com.za.tutorial.neuralnetworks
         Driver.java
         Percptron.java
      JRE System Library
    Это с вчера :  Вс 12 май 2019 22:07:35

    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    1:40/16:18
    смотрю на Driver.java и вначале загружен Perceptron.java
    Как с базой ? Какая ? Вот смотрю, думаю
    4:21/16:18 Souce folder:NewokksuralNetPrj03/src
    редактор Driver.java
        package com.za.tutorial.neuralnetworks;
            public class Driver{
              public static void main(String[] args){
                  // TODO Auto-geterated method stub


               }

             }
    // Мой комментарий, да есть такой : https://github.com/ivan-vasilev/neuralnetworks/blo...on/BackPropagationTrainer.java
       Файл большой: 268 строк.
    Но ссылки на архитектуры здесь : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Их очень много. Значит на завтра.
    Ещё взглянул на https://github.com/ivan-vasilev/neuralnetworks/blob/master/README.md
    93 lines Ivan Vasilev
     Смотрю сегодня 13 мая 2019
     My Eclipse :
     new создаю проект с 3-го урока  
     NeuralNetworksPrj02
     появляются src и bin
     В src создаю папку com.za.tutorial.neuralnetworks
     а зачем мне уже сразу JRE sys...?
     и только после неё src, зато в ней com.za.tutorial.neuralnetworks
     И что выбрать из этой ссылки : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Но я вспоминаю, я всё вспоминаю, https://www.youtube.com/watch?v=ZJNklhq1zvg
     RU 3
    0:03 / 13:05
    Neural Networks w/ JAVA - Tutorial 01
    cant find where to download the source code? On your site is just the youtube video жалуется Patrick Hentschel 2 years ago Ему этого не хватает. Счастливчик.
    Vasil Dimitrov обнадёживает Патрика : Download Source Code' on top left or directly http://sites.fastspring.com/zaneacademy/product/all
    $ unrar e file.rar
     $ unrar e Neural Network Programming with Java.rar
       sudo dpkg -i имя_пакета.deb
        sudo dpkg -i unrar_5.3.2-1+deb9u1_amd64.deb
         alex@alex:~/Desktop$ unrar e NeuralNetworkJava.rar
          Desktop : Neural Network Programming with java.pdf OK !
           В google translate читается
     Всё прекрасно. Надеюсь, что это начало начал. А как же это я не скачивал ?
     Будет чудесно, если Downloading the example code
    You can download the example code files from your account at http://www.
    packtpub.com for all the Packt Publishing books you have purchased. If you
    purchased this book elsewhere, you can visit http://www.packtpub.com/support
    and register to have the files e-mailed directly to you.
     Зачем я верю в чудеса ? Packtpub раскручен хорошо.
     Pactpub support java в Yandex много ссылок. Например эта :
     https://sharewood.pro/threads/packtpub-%D0%9F%D1%8...rk-programming-with-java.1379/
     ссылка ведёт на мою книгу. Конечно пишут так :
     Формат: html (т.к. парсилось с сайта, очевидно)
         [Михаил Русаков] Программирование на Java с нуля до гуру (2019)
     Перешёл на яву.

      ещё по одной ссылке https://infosliv.club/threads/7161/
      скачал это NNP Java.rar
      unrar e NeuralNetworkJava.rar
      https://infosliv.club/threads/7161/
    Enter new name: NNPJAVA

    Extracting  NNPJAVA                                                   OK
    All OK
    alex@alex:~/Desktop$ Здесь действительно какие-то исходники на яве.
    Зазипованные что ли. Но в emacs открываются. Это на завтра.
    Вот так : ниже

    package edu.packt.neuralnet;
    import java.util.ArrayList;
    import java.util.Arrays;

    public class HiddenLayer extends Layer {

        public ArrayList<HiddenLayer> initLayer(HiddenLayer hiddenLayer, ArrayList<HiddenLayer> listOfHiddenLayer, InputLayer inputLayer, OutputLayer outputLayer) {

            ArrayList<Double> listOfWeightIn = new ArrayList<Double>();
            ArrayList<Double> listOfWeightOut = new ArrayList<Double>();
            ArrayList<Neuron> listOfNeurons = new ArrayList<Neuron>();

            int numberOfHiddenLayers = listOfHiddenLayer.size();

            for (int i = 0; i < numberOfHiddenLayers; i++) {
                for (int j = 0; j < hiddenLayer.getNumberOfNeuronsInLayer(); j++) {
                    Neuron neuron = new Neuron();

                    int limitIn;
                    int limitOut;

                    if (i == 0) { // first
                        limitIn = inputLayer.getNumberOfNeuronsInLayer();
                        if (numberOfHiddenLayers > 1) {
                            limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                        } else {
                            limitOut = listOfHiddenLayer.get(i).getNumberOfNeuronsInLayer();
                        }
                    } else if (i == numberOfHiddenLayers - 1) { // last
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = outputLayer.getNumberOfNeuronsInLayer();
                    } else { // middle
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                    }

                    for (int k = 0; k < limitIn; k++) {
                        listOfWeightIn.add(neuron.initNeuron());
                    }
                    for (int k = 0; k < limitOut; k++) {
                        listOfWeightOut.add(neuron.initNeuron());
                    }

                    neuron.setListOfWeightIn(listOfWeightIn);
                    neuron.setListOfWeightOut(listOfWeightOut);
                    listOfNeurons.add(neuron);

                    listOfWeightIn = new ArrayList<Double>();
                    listOfWeightOut = new ArrayList<Double>();

                }

                listOfHiddenLayer.get(i).setListOfNeurons(listOfNeurons);

                listOfNeurons = new ArrayList<Neuron>();

            }

            return listOfHiddenLayer;

        }

        public void printLayer(ArrayList<HiddenLayer> listOfHiddenLayer) {
            System.out.println("### HIDDEN LAYER ###");
            int h = 1;
            for (HiddenLayer hiddenLayer : listOfHiddenLayer) {
                System.out.println("Hidden Layer #" + h);
                int n = 1;
                for (Neuron neuron : hiddenLayer.getListOfNeurons()) {
                    System.out.println("Neuron #" + n);
                    System.out.println("Input Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightIn().toArray() ));
                    System.out.println("Output Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightOut().toArray() ));
                    n++;
                }
                h++;
            }
        }
    }

    И открыл это в Эклипсе, разумеется ошибки. Сохранил в папку эклипса. Завтра
    буду ещё думать. Fábio M. Soares
    Пн 13 май 2019 20:12:48
    Потому что нейронная сеть начинается когда есть нелинейность элементов (нейронов).
    Пока нет нелинейности — это просто набор матриц. habr
    https://habr.com/en/post/321152/
    Enum-Всемогущий
    // в JavaLanguage.java файле
        public static void main(String[] args) {
            // it's true
            if (JAVA.getClass() == SCALA.getClass().getSuperclass()) {
                System.out.println("Наследник то есть!");
            }
            // it's true
            if (JAVA.getClass() == KOTLIN.getClass().getSuperclass()) {
                System.out.println("Да не один!");
            }
        }

    Три ошибки, понятно. Это фрагмент. alex@alex:~/Consolejava/Enum$
    Далее :
    http://easy-code.ru/lesson/enum-types-java
    Перечисляемые типы (enum) в Java
    Синтаксис

    Для объявления используется ключевое слово enum. Например, нам необходимо перечислить дни недели:
    1
    2
    3
    4
        
    public enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY
    }

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

    public class EnumTest {
        Day day;
     
        public EnumTest(Day day) {
            this.day = day;
        }
     
        public void tellItLikeItIs() {
            switch (day) {
                case MONDAY:
                    System.out.println("Mondays are bad.");
                    break;
     
                case FRIDAY:
                    System.out.println("Fridays are better.");
                    break;
     
                case SATURDAY: case SUNDAY:
                    System.out.println("Weekends are best.");
                    break;
     
                default:
                    System.out.println("Midweek days are so-so.");
                    break;
            }
        }
     
        public static void main(String[] args) {
            EnumTest firstDay = new EnumTest(Day.MONDAY);
            firstDay.tellItLikeItIs();
            EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
            thirdDay.tellItLikeItIs();
            EnumTest fifthDay = new EnumTest(Day.FRIDAY);
            fifthDay.tellItLikeItIs();
            EnumTest sixthDay = new EnumTest(Day.SATURDAY);
            sixthDay.tellItLikeItIs();
            EnumTest seventhDay = new EnumTest(Day.SUNDAY);
            seventhDay.tellItLikeItIs();
        }
    }

    Данная программа выведет:

    Mondays are bad.
    Midweek days are so-so.
    Fridays are better.
    Weekends are best.
    Weekends are best.

    Перечисляемые типы в языке Java — более эффективный инструмент, чем аналоги в других языках. Объявление типа enum определяет класс (enum type), который может содержать методы и другие поля. Компилятор автоматически добавляет некоторые методы, когда создает тип enum. Например, он имеет статический метод values, который возвращает массив, содержащий значения объекта в порядке их объявления. Этот метод обычно используется в комбинации с конструкцией for-each для обхода всех значений типа enum. Например, следующий код обходит все планеты:

     for (Planet p : Planet.values()) {
     System.out.printf("Your weight on %s is %f%n",
     p, p.surfaceWeight(mass));
     }

    // Скопировал и с этого сайта на завтра, вторник.
    Ещё завтра проглянуть это :
    https://www.youtube.com/watch?time_continue=4&v=23zhVwjrdU8
    Лекция 1. Введение в нейронные сети.

    https://www.youtube.com/watch?time_continue=2&v=tZemCRnZb6Y
    ОСНОВЫ ПРОГРАММИРОВАНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

    https://www.youtube.com/watch?v=uaBp0uiLvKQ
    Практическое введение в нейронные сети и глубокое обучение. Часть 1
    Neural Network Programming with Java.pdf
    Только все непойму, ведь база нужна, а какая, какой коннектор ?
    Но на русском чисто вода всё. Пока не нашёл. Ведь java нужна. На питоне есть.

    Disease diagnosis with neural networks
    For disease diagnosis, we are going to use the free dataset proben1, which is available
    on the web ( http://www.filewatcher.com/m/proben1.tar.gz.1782734-0.html ).
    Proben1 is a benchmark set of several datasets from different domains. We are going
    to use the cancer and the diabetes dataset. We added two new classes to run the
    experiments of each case: CancerDisease and DiabetesDisease .
    Using ANN to diagnose breast cancer
    Ten variables compose the breast cancer dataset, where nine are inputs and one is a
    binary output. The dataset has 699 records, but we excluded 16 from them, which were
    found to be incomplete; thus, we used 683 records to train and test a neural network.
    страница 126
    Нет повести печальнее на свете, чем повесть о Российском Суперджете.
    А жизнь хорошая такая.
    http://www.deeplearningbook.org/
    To cite this book, please use this bibtex entry:

    @book{Goodfellow-et-al-2016,
        title={Deep Learning},
        author={Ian Goodfellow and Yoshua Bengio and Aaron Courville},
        publisher={MIT Press},
        note={\url{http://www.deeplearningbook.org}},
        year={2016}
    }
     ПИШУТ НА https://www.linux.org.ru/forum/talks/13436381
    Что это лучшее для владетелей английского

    https://neurohive.io/ru/osnovy-data-science/7-arhitektur-nejronnyh-setej-nlp/
    7 архитектур нейронных сетей для решения задач NLP 14 октября 2018
      neural network nlp architectures неплохо, современная книга

    https://neurohive.io/ru/novosti/nlp-architect-ot-i...e-biblioteka-modelej-obrabotk/
    Вы заметили, что всё больше компаний ставят на свой сайт виджет с ботом? Чат-боты сегодня повсюду. И это только один из многих примеров применения технологий обработки естественного языка (Natural Language Processing, NLP) и понимания естественного языка (Natural Language Understanding, NLU). Потенциал NLP и NLU кажется безграничным. Сейчас ко всем приходит понимание, что мы только в начале длинного пути.
    superyateam
    January 23, 2019 at 10:31 PM
    Их не будет, потому что НЛП — это шарлатанство :)
    И это на хабре ! В этом году.

    Вт 14 май 2019 08:40:57
    принтер мастэвность глядя в потолок трава здесь не растёт и птицы не живут любимая песня Кинешминского Маяка нлп картинку с форумом
     В МИДе заявили о подготовке США к применению ядерного оружия в Европе
     чат боты рулят.
    https://habr.com/en/top/
    Citymobil — a manual for improving availability amid business growth for startups. Part 5  Денис Аникин danikin
     https://habr.com/en/company/microsoft/blog/451334/
    Изучите статью и узнайте, как использовать Java для подключения к базе данных SQL Azure и использовать операторы T-… https://t.co/YJG355UAyI
    https://docs.microsoft.com/ru-ru/azure/sql-databas...42437_VK_oo_spl100000616000659
    Краткое руководство. Использование Java для создания запросов к базе данных SQL Azure

        25.03.2019
        Время чтения: 2 мин
        Соавторы
            Andrea Lam

    В этой статье показано, как подключаться к базе данных SQL Azure с помощью Java. Затем можно запросить данные с использованием инструкций T-SQL.
    Предварительные требования

    Для выполнения этого примера понадобится следующее:

        База данных SQL Azure. Для создания и настройки базы данных в службе "База данных SQL Azure" можно использовать одно из этих кратких руководств.
            Отдельная база данных     Управляемый экземпляр
        Создание     Портал     Портал
            ИНТЕРФЕЙС КОМАНДНОЙ СТРОКИ     ИНТЕРФЕЙС КОМАНДНОЙ СТРОКИ
            PowerShell     PowerShell
        Настройка     Правило брандмауэра IP-адресов на уровне сервера     Подключение из виртуальной машины
                Подключение "точка — сеть"
        Загрузка данных     База данных Adventure Works, загруженная для краткого руководства     Восстановление базы данных Wide World Importers
                Восстановление или импорт Adventure Works из файла BACPAC, размещенного на GitHub
                

        Важно!

        Скрипты в этой статье предназначены для использования базы данных Adventure Works. Используя управляемый экземпляр, необходимо импортировать базу данных Adventure Works в базу данных экземпляра или изменить скрипты в этой статье для использования базы данных Wide World Importers.

        Установленное связанное с Java программное обеспечение для используемой операционной системы:
    Ubuntu. Установите Java, пакет JDK и Maven. Ознакомьтесь с шагами 1.2, 1.3 и 1.4 в этом руководстве.
    https://www.microsoft.com/en-us/sql-server/developer-get-started/java/ubuntu/
    $ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -$$
    $ curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list $ sudo tee /etc/apt/sources.list.d/mssql-server-2017.list
    $ sudo apt-get install mssql-server
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed:
      mssql-server
    ...
    Unpacking mssql-server ...
    Setting up mssql-server ...
    $ sudo /opt/mssql/bin/mssql-conf setup
    Microsoft(R) SQL Server(R) Setup

    To abort setup at anytime, press Ctrl-C.

    The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746388 and
    found in /usr/share/doc/mssql-server/LICENSE.TXT.

    Do you accept the license terms? If so, please type YES:
    Please enter a password for the system administrator (SA) account:
    Please confirm the password for the system administrator (SA) account:

    You now have SQL Server running locally on your Ubuntu machine! Check out the next section to continue installing prerequisites.
    Step 1.4 Install Maven
    $ sudo apt-get install maven
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed:
      maven
    ........
    ........
    Unpacking maven (3.3.9-3) ...
    Setting up maven (3.3.9-3) ...
    update-alternatives: using /usr/share/maven/bin/mvn to provide /usr/bin/mvn (mvn) in auto mode

    Check that you have Maven properly installed by running the following command.
    $ mvn -v
    Apache Maven 3.3.9
    Maven home: /usr/share/maven
    Java version: 1.8.0_111, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "4.4.0-45-generic", arch: "amd64", family: "unix"

    You have successfully installed Java and Maven on your Ubuntu machine. You now have everything you need to start writing your Java apps with SQL Server!

    Go to step 2
    Здесь много Ксати mvn у меня установлен ранее.
    ...
    Вт май 14 10:57:22 MSK 2019
    Вт 14 май 2019 10:58:13

    https://www.bumblebot.ru/
    BumbleBot
    Напишем чат-бота любой сложности для вашего бизнеса

    Венгрия Резиновые прокладки Унитаз с косым сливом Они разные бывают
    пусть мастер покупает

    // https://www.microsoft.com/en-us/sql-server/develop...tarted/java/ubuntu/step/2.html
    https://github.com/dotnet/machinelearning
    reboot

    Перебиты поломаны крылья и проблемы возникли с шасси

    контекстный поиск значимой для решения клинической проблемы информации и оценка её достоверности с помощью нейронной сети.
     качество медицинской помощи и безопасность медицинской деятельности
     с помощью нейронных сетей.
    Клинические руководства или клинические рекомендации 10:36/21:52
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | sudo tee /etc/apt/sources.list.d/mssql-server-2017.list
    OK
    alex@alex:~$ sudo apt-get install mssql-server
     mssql-server : Зависит: libssl1.0.0 но он не может быть установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    alex@alex:~$
    sudo apt-get purge libreoffice-common
    это хорошо Вычищаются файлы настройки пакета libreoffice-l10n-hu (1:5.2.7-1+deb9u5) …
    alex@alex:~$ Но что-то помню плохое с битыми пакетами снова это
    alex@alex:~$ sudo apt-get install mssql-server
    Конечно, правильно помню.
    Пакеты, имеющие неудовлетворённые зависимости:
     mssql-server : Зависит: libssl1.0.0 но он не может быть установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    alex@alex:~$ а вдруг ?
    alex@alex:~$ sudo apt-get install libssl1.0.0
    вдруга нет, правильно помню
    Пакет libssl1.0.0 недоступен, но упомянут в списке зависимостей другого пакета.
    Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

    E: Для пакета «libssl1.0.0» не найден кандидат на установку
    alex@alex:~$
    Он сам зависимости подтягивает. Я так и viber и skype ставил и проблем не было.
    Проверю.
    apt-get -f install
    Удаляется uno-libs3 (5.2.7-1+deb9u5) …
    dpkg: предупреждение: при удалении uno-libs3 каталог «/usr/lib/libreoffice» не пуст, поэтому не удалён
    И этот вдруг помню
    https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось" а дальше не помню, что я делал. Может и у меня поломалось
    https://debianforum.ru/index.php?topic=12580.0
    выше отправил в лайвинтернет JAVA_16
    Ниже пробую это
    alex@alex:~$ sudo apt-get install mssql-server
    То же самое.
    https://gee12.space/ustanovka-ms-sql-server-2017-n...-9-i-vosstanovlenie-iz-bekapa/
    Наконец-то дошли руки самостоятельно испытать слияние двух чудо миров Microsoft и Linux в виде установки СУБД SQL Server 2017 на Debian 9.
    Дык, я и это помню. Будут проблемы какие-то.
    Установка СУБД на Debian 9

    Написаны рекомендации по производительности и конфигурации для SQL Server в Linux.

    Импорт ключей GPG общедоступного репозитория:

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    1
        
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

    Добавление репозитория Microsoft SQL Server 2017 Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    1
        
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    alex@alex:~$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    OK
    alex@alex:~$
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    alex@alex:~$ молча появилась строка
    sudo apt-get update
    alex@alex:~$
    W: Цель Translations (main/i18n/Translation-en) настроена несколько раз в /etc/apt/sources.list.d/google-chrome.list:3 и /etc/apt/sources.list.d/google.list:2
    Почему-то помню это, но не помню, что дальше. Выполняю, то что написано.
    sudo apt-get install -y mssql-server
    Та же ошибка. mssql-server : Зависит: libssl1.0.0 но он не может быть установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты
    Если вы хотите попробовать SQL Server 2019, вместо этого необходимо добавить этот репозиторий:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"
    1
        
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"
    А вдруг не поломает.
    Молча. Командная строка.
    Настраивается пакет mssql-server (15.0.1500.28-1) …

    +--------------------------------------------------------------+
    Выполните команду "sudo /opt/mssql/bin/mssql-conf setup",
    чтобы завершить установку Microsoft SQL Server
    +--------------------------------------------------------------+

    Обрабатываются триггеры для libc-bin (2.24-11+deb9u3) …
    Обрабатываются триггеры для menu (2.1.47+b1) …
    /usr/share/menu/docker: 1: /usr/share/menu/docker: Syntax error: word unexpected (expecting ")")
    В файле "/usr/share/menu/gpg", в строке (или в определении, которое кончается на) 1:
    -----BEGIN PGP PUBLIC KEY BLOCK-----
                                       ^
    Неожиданный конец строки.
    Пропуск файла из-за ошибок...Раз просят выполню. Здесь уже туманно помню/не помн.
    alex@alex:~$ sudo /opt/mssql/bin/mssql-conf setup
    Выберите выпуск SQL Server:
      1) Evaluation (бесплатный, без прав на использование в рабочем окружении, 180-дневное ограничение)
      2) Developer (бесплатный, без прав на использование в рабочем окружении)
      3) Express (бесплатная)
      4) Web (платный)
      5) Standard (платный)
      6) Enterprise (платный) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
      7) Enterprise Core (платный) - CPU Core utilization up to Operating System Maximum
      8) У меня есть лицензия, купленная через канал розничных продаж, и ключ продукта для ввода.

    Сведения о выпусках:
    https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x419

    Использование платных выпусков этого программного обеспечения требует отдельного лицензирования через
    программу корпоративного лицензирования Майкрософт.
    При выборе платного выпуска вы подтверждаете наличие подходящего
    числа имеющихся лицензий для установки и запуска этого программного обеспечения.

    Укажите свой выпуск(1-8):
    Укажите свой выпуск(1-8): 3
    Условия лицензии для этого продукта можно найти в
    /usr/share/doc/mssql-server или скачать:
    https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x419

    Заявление о конфиденциальности можно просмотреть здесь:
    https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x419

    Вы принимаете условия лицензии? [Yes]
    rus
    gsd511MVE522
    Укажите свой выпуск(1-8): 3
    Условия лицензии для этого продукта можно


    Если вы хотите попробовать SQL Server 2019, вместо этого необходимо добавить этот репозиторий:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"
    File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 361, in <module>
        main()
      File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 357, in main
        processCommands()
      File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 262, in processCommands
        COMMAND_TABLE[args.which]()
      File "/opt/mssql/bin/../lib/mssql-conf/mssql-conf.py", line 75, in handleSetup
        mssqlconfhelper.setupSqlServer(eulaAccepted, noprompt=args.noprompt)
      File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 1009, in setupSqlServer
        ret = configureSqlservrWithArguments("--setup --reset-sa-password", MSSQL_SA_PASSWORD=encodedPassword, MSSQL_PID=pid)
      File "/opt/mssql/lib/mssql-conf/mssqlconfhelper.py", line 913, in configureSqlservrWithArguments
        return subprocess.call(args, env=env)
      File "/usr/lib/python2.7/subprocess.py", line 168, in call
        return Popen(*popenargs, **kwargs).wait()
      File "/usr/lib/python2.7/subprocess.py", line 1073, in wait
        pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
      File "/usr/lib/python2.7/subprocess.py", line 121, in _eintr_retry_call
        return func(*args)
    KeyboardInterrupt
    alex@alex:~$
    Установилась, что ли ?
    Проверка запущена ли служба:

    systemctl status mssql-server
        
    Или так:

    netstat -tlnp | grep 1433

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"

    Установка:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    1
    2
        
    sudo apt-get update
    sudo apt-get install -y mssql-server

    Выбор выпуска, языка и установка пароля системного Администратора:

    sudo systemctl stop mssql-server
    sudo /opt/mssql/bin/mssql-conf setup
    1
    2
        
    sudo systemctl stop mssql-server
    sudo /opt/mssql/bin/mssql-conf setup

    Об использовании утилиты mssql-conf  для конфигурации SQL Server в Linux написано тут.

    Доступные выпуски SQL Server:
    1) Evaluation (бесплатный, без прав на использование в рабочем окружении, 180-дневное ограничение)
    2) Developer (бесплатный, без прав на использование в рабочем окружении)
    3) Express (бесплатная)
    4) Web (платный)
    5) Standard (платный)
    6) Enterprise (платный)
    7) Enterprise Core (платный)
    8) У меня есть лицензия, купленная через канал розничных продаж, и ключ продукта для ввода.
    Что-то меня остановило, не помню что именно.

    Изменение номера прослушиваемого TCP-порта со стандартного 1433 и перезапуск службы (если она, конечно, была запущена):

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    sudo systemctl restart mssql-server
    1
    2
        
    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    sudo systemctl restart mssql-server

    Проверка запущена ли служба:

    systemctl status mssql-server
    1
        
    systemctl status mssql-server

    Или так:

    netstat -tlnp | grep 1433
    1
        
    netstat -tlnp | grep 1433

    По поводу разрешений на файлы SQL Server:
    Все файлы в /var/opt/mssql  должен принадлежать пользователю mssql из одноименной группы mssql, которые, в свою очередь, должны иметь разрешения на чтение и запись всех файлов и каталогов. Обратите внимание, следующих особых сценариев, включающих разрешений файлов и каталогов:
    * Для подключенных сетевых ресурсов, которые используются для хранения файлов SQL Server, требуются разрешения владельца mssql.
    * Если файлы базы данных или резервных копий находятся в каталоге не по-умолчанию, необходимо также задать разрешения для этого каталога.
    * Если значение umask было изменено со значения по-умолчанию 0022, то произойдет сбой при настройке SQL Server после установки. Необходимо вручную применить нужные разрешения для стартовой учетной записи SQL Server.
    alex@alex:~$
    Установилась, что ли ?
    Проверка запущена ли служба:

    systemctl status mssql-server
        
    Или так:

    netstat -tlnp | grep 1433

    alex@alex:~$ systemctl status mssql-server
    ● mssql-server.service - Microsoft SQL Server Database Engine
       Loaded: loaded (/lib/systemd/system/mssql-server.service; disabled; vendor pr
       Active: inactive (dead)
         Docs: https://docs.microsoft.com/en-us/sql/linux
    lines 1-4/4 (END) иду сюда
    зависла консоль.
    https://docs.microsoft.com/ru-ru/sql/linux/sql-ser...-overview?view=sql-server-2017
    Sign in to GitHub
    to continue to docs.microsoft.com
    alexvera5152
    gsd511MVE522
    https://github.com/git/git
    Перезашёл верно : 16:57 16.03.2017
    16:08 12.06.2018 fatal: repository 'https://github.com/RusZ/TextClassifier.git/' not found
                            alex@alex:~/Consolejava$ Вс 12 май 2019 17:24:41

    13:41 29.08.2018
    Gitlab - Codeby
    luk.51@qip.ru
    gsd511MVE522 Значит luk и пароль этот
    Please verify your email address

    Before you can contribute on GitHub, we need you to verify your email address.
    An email containing verification instructions was sent to luk.51@qip.ru.
    Didn’t get the email?
    or change your email settings.
    На почте яндекс нет ничего. qip не существует. Смотрю на mail.ru
    qip почта
    Luk.51@qip.ru
    8rdTNKqx
    https://mail.qip.ru/~Inbox;
    17:46 20.08.2017 valid
    Переезд Почты QIP на Яндекс

    Мы прекратили поддержку своего почтового сервиса и перевели все ящики на серверы Яндекс.Почты. Вы сможете продолжить работу со своим почтовым ящиком в интерфейсе Яндекс.Почты, сохранив при этом привычный адрес и архив.

    Краткая информация о переезде и ответы на вопросы, которые могли у вас появиться, доступны по ссылке. А в случае если у вас возникнут другие вопросы, смело пишите в службу поддержки Яндекс.Почты через форму обратной связи https://yandex.ru/support/mail/.
    Но здесь нет ответа от git
    Переезд Почты QIP на Яндекс

    Мы прекратили поддержку своего почтового сервиса и перевели все ящики на серверы Яндекс.Почты. Вы сможете продолжить работу со своим почтовым ящиком в интерфейсе Яндекс.Почты, сохранив при этом привычный адрес и архив.
    sergeygsd@yandex.ru Primary Not visible in emails Receives notifications Verification email sent resend
    https://github.com/
    Start a project
    Repository Name : alexvera5152
    or HTTPS SSH
    https://github.com/MarkusBaruch/alexvera5152.git
    …or push an existing repository from the command line

    git remote add origin https://github.com/MarkusBaruch/alexvera5152.git
    git push -u origin master
    echo "# alexvera5152" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin https://github.com/MarkusBaruch/alexvera5152.git
    git push -u origin master
    alex@alex:~$ git init
    Инициализирован пустой репозиторий Git в /home/alex/.git/
    alex@alex:~$
    git add README.md
    fatal: спецификация пути «README.md» не соответствует ни одному файлу
    alex@alex:~$
    git commit -m "first commit"
    ничего не добавлено в коммит, но есть неотслеживаемые файлы
    alex@alex:~$
    git remote add origin https://github.com/MarkusBaruch/alexvera5152.git
    Молча.
    git push -u origin master
    error: src refspec master does not match any.
    error: не удалось отправить некоторые ссылки в «https://github.com/MarkusBaruch/alexvera5152.git»
    alex@alex:~$
    https://www.microsoft.com/en-us/sql-server/develop...tarted/java/ubuntu/step/2.html

    package com.sqlsamples;

    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.DriverManager;

    public class App {

        public static void main(String[] args) {

            System.out.println("Connect to SQL Server and demo Create, Read, Update and Delete operations.");

            //Update the username and password below
            String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=master;user=sa;password=your_password";

            try {
                // Load SQL Server JDBC driver and establish connection.
                System.out.print("Connecting to SQL Server ... ");
                try (Connection connection = DriverManager.getConnection(connectionUrl)) {
                    System.out.println("Done.");

                    // Create a sample database
                    System.out.print("Dropping and creating database 'SampleDB' ... ");
                    String sql = "DROP DATABASE IF EXISTS [SampleDB]; CREATE DATABASE [SampleDB]";
                    try (Statement statement = connection.createStatement()) {
                        statement.executeUpdate(sql);
                        System.out.println("Done.");
                    }

                    // Create a Table and insert some sample data
                    System.out.print("Creating sample table with data, press ENTER to continue...");
                    System.in.read();
                    sql = new StringBuilder().append("USE SampleDB; ").append("CREATE TABLE Employees ( ")
                            .append(" Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, ").append(" Name NVARCHAR(50), ")
                            .append(" Location NVARCHAR(50) ").append("); ")
                            .append("INSERT INTO Employees (Name, Location) VALUES ").append("(N'Jared', N'Australia'), ")
                            .append("(N'Nikita', N'India'), ").append("(N'Tom', N'Germany'); ").toString();
                    try (Statement statement = connection.createStatement()) {
                        statement.executeUpdate(sql);
                        System.out.println("Done.");
                    }

                    // INSERT demo
                    System.out.print("Inserting a new row into table, press ENTER to continue...");
                    System.in.read();
                    sql = new StringBuilder().append("INSERT Employees (Name, Location) ").append("VALUES (?, ?);")
                            .toString();
                    try (PreparedStatement statement = connection.prepareStatement(sql)) {
                        statement.setString(1, "Jake");
                        statement.setString(2, "United States");
                        int rowsAffected = statement.executeUpdate();
                        System.out.println(rowsAffected + " row(s) inserted");
                    }

                    // UPDATE demo
                    String userToUpdate = "Nikita";
                    System.out.print("Updating 'Location' for user '" + userToUpdate + "', press ENTER to continue...");
                    System.in.read();
                    sql = "UPDATE Employees SET Location = N'United States' WHERE Name = ?";
                    try (PreparedStatement statement = connection.prepareStatement(sql)) {
                        statement.setString(1, userToUpdate);
                        int rowsAffected = statement.executeUpdate();
                        System.out.println(rowsAffected + " row(s) updated");
                    }

                    // DELETE demo
                    String userToDelete = "Jared";
                    System.out.print("Deleting user '" + userToDelete + "', press ENTER to continue...");
                    System.in.read();
                    sql = "DELETE FROM Employees WHERE Name = ?;";
                    try (PreparedStatement statement = connection.prepareStatement(sql)) {
                        statement.setString(1, userToDelete);
                        int rowsAffected = statement.executeUpdate();
                        System.out.println(rowsAffected + " row(s) deleted");
                    }

                    // READ demo
                    System.out.print("Reading data from table, press ENTER to continue...");
                    System.in.read();
                    sql = "SELECT Id, Name, Location FROM Employees;";
                    try (Statement statement = connection.createStatement();
                            ResultSet resultSet = statement.executeQuery(sql)) {
                        while (resultSet.next()) {
                            System.out.println(
                                    resultSet.getInt(1) + " " + resultSet.getString(2) + " " + resultSet.getString(3));
                        }
                    }
                    connection.close();
                    System.out.println("All done.");
                }
            } catch (Exception e) {
                System.out.println();
                e.printStackTrace();
            }
        }
    }

    ou created your first Java + SQL Server app with Maven! Check out the next section to create a Java App using an ORM! Ничего.
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 43.743 s
    [INFO] Finished at: 2019-05-14T22:38:32+03:00
    [INFO] Final Memory: 18M/175M
    [INFO] ------------------------------------------------------------------------
    alex@alex:~$
    cd SqlServerHibernateSample
    alex@alex:~$ cd SqlServerHibernateSample
    alex@alex:~/SqlServerHibernateSample$
    For this sample, let’s create two tables. The first will hold data about “users”. Create a User.java file in your Maven project located at: SqlServerHibernateSample/src/main/java/com/sqlsamples/User.java

    Copy and paste the code below into your newly created User.java file. Save and close the file.
    Так и сделал User.java
    Let’s create a second table to assign tasks to users. Create a Task.java file in your Maven project located at: SqlServerHibernateSample/src/main/java/com/sqlsamples/Task.java.

    Copy and paste the code below into your newly created Task.java file. Save and close the file.
    sudo vim Task.java
    alex@alex:~/SqlServerHibernateSample$ Так и сделал.
    Replace the code in the App.java file in your Maven project located at: SqlServerHibernateSample/src/main/java/com/sqlsamples/App.java.

    Open this file in your favorite text edditor and replace the contents with the code below. Don’t forget to update the username and password with your own. Save and close the file.
    Java
    Он там уже есть, этот App.java
    From the project folder, build the project and create a jar package using the following command: mvn package
    Теперь сюда ? cd SqlServerHibernateSample
    Change directories into your newly created project.
    mvn -q exec:java "-Dexec.mainClass=com.sqlsamples.App"
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 19.809 s
    [INFO] Finished at: 2019-05-14T22:53:41+03:00
    [INFO] Final Memory: 23M/170M
    [INFO] ------------------------------------------------------------------------
    alex@alex:~/SqlServerHibernateSample$ mvn -q exec:java "-Dexec.mainClass=com.sqlsamples.App"
    Hello World!
    alex@alex:~/SqlServerHibernateSample$
    mvn -q exec:java "-Dexec.mainClass=com.sqlsamples.App"
    Нет, у меня упорно Hello World!
    Congratulations! You created your first two Java apps with SQL Server! Check out the next section to learn about how you can make your Java apps faster with SQL Server’s Columnstore feature.
    С чем-то поздравляют. Все равно.
    Но дальше Go to step 3
    https://www.microsoft.com/en-us/sql-server/develop...tarted/java/ubuntu/step/3.html
    Create Java apps using SQL Server on Ubuntu
    Step 3.1 Create a Java app to demonstrate Columnstore indexes
    А что, если это To showcase the capabilities of Columnstore indexes, let’s create a Java application that creates a sample database and a sample table with 5 million rows and then runs a simple query before and after adding a Columnstore index.

    Change to your home directory. Create your Maven starter package. This will create the project directory with a basic Maven project and pom.xml file.
     

    Отложить на завтра ?
    Завтра наступило сегодня: Пт май 17 19:59:26 MSK 2019

    Продолжение Netjava_6
    Netjava_6 полностью в JAVA_17     Ср 15 май 2019 11:21:31
    //
    Максим Ильяхов Главред Maxim Ilyahov
    Нивроку – это украинское слово, вошедшее в одесский лексикон со слегка измененным смыслом. В украинском языке оно широко применяется и замечено даже в стихах Т.Шевченко, например, «Я не нездужаю, нівроку. А щось такеє бачить око, І серце жде чогось...»
    alex alex alex alex alex alex
    Stanford NLP, RASP, OpenNLP https://habr.com/en/post/414175/
    Извлечение сущностей из текста с помощью Stanford NLP с нуля sencho_panso
    June 15, 2018 at 10:53 AM
    https://internetradiouk.com/
    Internet radio station from the UK
    BBC RADIO 1
    толмач талдычит https://tolma.ch/
    Ср 15 май 2019 15:33:17
    Новость на Рамблере
    Сенсация из Киева: Порошенко так пукнул, что Зеленский дико захохотал
    Почитываю сейчас Николаев И.С., Митренина О.В. Прикладная и компьютерная
    лингвистика.pdf 17:11:19 Извлечение сущностей из текста с помощью Stanford NLP с нуля сайт Stanford NLP https://nlp.stanford.edu/ The Stanford Natural Language Processing Group
    Local linksNLP lunch · NLP Reading Group NLP Seminar · Calendar
    JavaNLP (javadocs) · machines AI Speakers · Q&A https://nlp.stanford.edu запрашивает имя пользователя и пароль. Сайт сообщает: «ByPassword»
    Но не все, https://github.com/stanfordnlp/CoreNLP
    Дэжавю теперь нонстоп. Или от зуба, или от головы, а вдруг включается
    второй контур. Тогда это поможет быстрее освоить яву.
    ABC-гипотеза https://lenta.ru/articles/2012/09/13/abc/
    В августе 2012 года японский математик Синити Мотидзуки опубликовал серию из четырех работ, в которых заложил основы арифметической теории пространств Тейхмюллера. Главное, впрочем, не сама теория, а сфера ее применения - с ее помощью можно доказать (что Мотидзуки и делает в четвертой работе) знаменитую ABC-гипотезу, одно из самых важных утверждений в теории чисел последних лет. Первые отзывы о работе появились только сейчас, в середине сентября 2012-го года, и в них сквозит осторожный оптимизм: явных дырок в доказательстве не найдено, специалисты приступили к более детальному разбору работы. Насколько затянется такая проверка, пока сказать трудно (в общей сложности теория Мотидзуки изложена на более чем 500 страницах текста) - речь может идти о нескольких годах. Однако дело того стоит.
    Як ся маете, тату ? Нивроку.
    Як ся маєш, маєте?..; Як ся мається? Як ся спало, що ся снило?
      https://www.youtube.com/watch?time_continue=16&v=tmGgPhFnZYY
    AIBA Women's World Boxing Championships New Delhi 2018 - Session 1B
      36:36/2:07:52

    Чт май 16 20:17:37 MSK 2019
    Алмазова был сегодня
    Дежавю сегодня замучило Я Нивроку
    ввромед звонил сегодня, как всегда некстати

    Пт 17 май 2019 14:19:34
    говно везде
    устами младенца глаголит истина
    от удельной до сенной девушка рядом сидела. Отдельные части не блещут, но воеди
    но потрясающа. Лёгкая в общении, что-то такое. Она сидела в вк, рядом парень до балтийской и дальше.
    инфоцентр комнатуха на замке, постерная сессия. Говном на 20


    JAVA_16

    Вторник, 14 Мая 2019 г. 21:30 + в цитатник

    JAVA_16

    New Netjava6 как продолжение Netjava5
    Пн 13 май 2019 14:14:58
     JAVA_15
        
    Понедельник, 13 Мая 2019 г. 15:53 редактировать + в цитатник
    JAVA_15
    13.05.2019
    Начало Чт 09 май 2019 14:36:59
    Продолжения в Netjava5 Чт 09 май 2019 14:35:24
    Выше это в лайвинтернет.
      Вон столько, но надо читать. На завтра
    К этому всё ведь
    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    NeuralNetworksPrj02
      src
         com.za.tutorial.neuralnetworks
         Driver.java
         Percptron.java
      JRE System Library
    Это с вчера :  Вс 12 май 2019 22:07:35

    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    1:40/16:18
    смотрю на Driver.java и вначале загружен Perceptron.java
    Как с базой ? Какая ? Вот смотрю, думаю
    4:21/16:18 Souce folder:NewokksuralNetPrj03/src
    редактор Driver.java
        package com.za.tutorial.neuralnetworks;
            public class Driver{
              public static void main(String[] args){
                  // TODO Auto-geterated method stub


               }

             }
    // Мой комментарий, да есть такой : https://github.com/ivan-vasilev/neuralnetworks/blo...on/BackPropagationTrainer.java
       Файл большой: 268 строк.
    Но ссылки на архитектуры здесь : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Их очень много. Значит на завтра.
    Ещё взглянул на https://github.com/ivan-vasilev/neuralnetworks/blob/master/README.md
    93 lines Ivan Vasilev
     Смотрю сегодня 13 мая 2019
     My Eclipse :
     new создаю проект с 3-го урока  
     NeuralNetworksPrj02
     появляются src и bin
     В src создаю папку com.za.tutorial.neuralnetworks
     а зачем мне уже сразу JRE sys...?
     и только после неё src, зато в ней com.za.tutorial.neuralnetworks
     И что выбрать из этой ссылки : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Но я вспоминаю, я всё вспоминаю, https://www.youtube.com/watch?v=ZJNklhq1zvg
     RU 3
    0:03 / 13:05
    Neural Networks w/ JAVA - Tutorial 01
    cant find where to download the source code? On your site is just the youtube video жалуется Patrick Hentschel 2 years ago Ему этого не хватает. Счастливчик.
    Vasil Dimitrov обнадёживает Патрика : Download Source Code' on top left or directly http://sites.fastspring.com/zaneacademy/product/all
    $ unrar e file.rar
     $ unrar e Neural Network Programming with Java.rar
       sudo dpkg -i имя_пакета.deb
        sudo dpkg -i unrar_5.3.2-1+deb9u1_amd64.deb
         alex@alex:~/Desktop$ unrar e NeuralNetworkJava.rar
          Desktop : Neural Network Programming with java.pdf OK !
           В google translate читается
     Всё прекрасно. Надеюсь, что это начало начал. А как же это я не скачивал ?
     Будет чудесно, если Downloading the example code
    You can download the example code files from your account at http://www.
    packtpub.com for all the Packt Publishing books you have purchased. If you
    purchased this book elsewhere, you can visit http://www.packtpub.com/support
    and register to have the files e-mailed directly to you.
     Зачем я верю в чудеса ? Packtpub раскручен хорошо.
     Pactpub support java в Yandex много ссылок. Например эта :
     https://sharewood.pro/threads/packtpub-%D0%9F%D1%8...rk-programming-with-java.1379/
     ссылка ведёт на мою книгу. Конечно пишут так :
     Формат: html (т.к. парсилось с сайта, очевидно)
         [Михаил Русаков] Программирование на Java с нуля до гуру (2019)
     Перешёл на яву.

      ещё по одной ссылке https://infosliv.club/threads/7161/
      скачал это NNP Java.rar
      unrar e NeuralNetworkJava.rar
      https://infosliv.club/threads/7161/
    Enter new name: NNPJAVA

    Extracting  NNPJAVA                                                   OK
    All OK
    alex@alex:~/Desktop$ Здесь действительно какие-то исходники на яве.
    Зазипованные что ли. Но в emacs открываются. Это на завтра.
    Вот так : ниже

    package edu.packt.neuralnet;
    import java.util.ArrayList;
    import java.util.Arrays;

    public class HiddenLayer extends Layer {

        public ArrayList<HiddenLayer> initLayer(HiddenLayer hiddenLayer, ArrayList<HiddenLayer> listOfHiddenLayer, InputLayer inputLayer, OutputLayer outputLayer) {

            ArrayList<Double> listOfWeightIn = new ArrayList<Double>();
            ArrayList<Double> listOfWeightOut = new ArrayList<Double>();
            ArrayList<Neuron> listOfNeurons = new ArrayList<Neuron>();

            int numberOfHiddenLayers = listOfHiddenLayer.size();

            for (int i = 0; i < numberOfHiddenLayers; i++) {
                for (int j = 0; j < hiddenLayer.getNumberOfNeuronsInLayer(); j++) {
                    Neuron neuron = new Neuron();

                    int limitIn;
                    int limitOut;

                    if (i == 0) { // first
                        limitIn = inputLayer.getNumberOfNeuronsInLayer();
                        if (numberOfHiddenLayers > 1) {
                            limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                        } else {
                            limitOut = listOfHiddenLayer.get(i).getNumberOfNeuronsInLayer();
                        }
                    } else if (i == numberOfHiddenLayers - 1) { // last
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = outputLayer.getNumberOfNeuronsInLayer();
                    } else { // middle
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                    }

                    for (int k = 0; k < limitIn; k++) {
                        listOfWeightIn.add(neuron.initNeuron());
                    }
                    for (int k = 0; k < limitOut; k++) {
                        listOfWeightOut.add(neuron.initNeuron());
                    }

                    neuron.setListOfWeightIn(listOfWeightIn);
                    neuron.setListOfWeightOut(listOfWeightOut);
                    listOfNeurons.add(neuron);

                    listOfWeightIn = new ArrayList<Double>();
                    listOfWeightOut = new ArrayList<Double>();

                }

                listOfHiddenLayer.get(i).setListOfNeurons(listOfNeurons);

                listOfNeurons = new ArrayList<Neuron>();

            }

            return listOfHiddenLayer;

        }

        public void printLayer(ArrayList<HiddenLayer> listOfHiddenLayer) {
            System.out.println("### HIDDEN LAYER ###");
            int h = 1;
            for (HiddenLayer hiddenLayer : listOfHiddenLayer) {
                System.out.println("Hidden Layer #" + h);
                int n = 1;
                for (Neuron neuron : hiddenLayer.getListOfNeurons()) {
                    System.out.println("Neuron #" + n);
                    System.out.println("Input Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightIn().toArray() ));
                    System.out.println("Output Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightOut().toArray() ));
                    n++;
                }
                h++;
            }
        }
    }

    И открыл это в Эклипсе, разумеется ошибки. Сохранил в папку эклипса. Завтра
    буду ещё думать. Fábio M. Soares
    Пн 13 май 2019 20:12:48
    Потому что нейронная сеть начинается когда есть нелинейность элементов (нейронов).
    Пока нет нелинейности — это просто набор матриц. habr
    https://habr.com/en/post/321152/
    Enum-Всемогущий
    // в JavaLanguage.java файле
        public static void main(String[] args) {
            // it's true
            if (JAVA.getClass() == SCALA.getClass().getSuperclass()) {
                System.out.println("Наследник то есть!");
            }
            // it's true
            if (JAVA.getClass() == KOTLIN.getClass().getSuperclass()) {
                System.out.println("Да не один!");
            }
        }

    Три ошибки, понятно. Это фрагмент. alex@alex:~/Consolejava/Enum$
    Далее :
    http://easy-code.ru/lesson/enum-types-java
    Перечисляемые типы (enum) в Java
    Синтаксис

    Для объявления используется ключевое слово enum. Например, нам необходимо перечислить дни недели:
    1
    2
    3
    4
        
    public enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY
    }

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

    public class EnumTest {
        Day day;
     
        public EnumTest(Day day) {
            this.day = day;
        }
     
        public void tellItLikeItIs() {
            switch (day) {
                case MONDAY:
                    System.out.println("Mondays are bad.");
                    break;
     
                case FRIDAY:
                    System.out.println("Fridays are better.");
                    break;
     
                case SATURDAY: case SUNDAY:
                    System.out.println("Weekends are best.");
                    break;
     
                default:
                    System.out.println("Midweek days are so-so.");
                    break;
            }
        }
     
        public static void main(String[] args) {
            EnumTest firstDay = new EnumTest(Day.MONDAY);
            firstDay.tellItLikeItIs();
            EnumTest thirdDay = new EnumTest(Day.WEDNESDAY);
            thirdDay.tellItLikeItIs();
            EnumTest fifthDay = new EnumTest(Day.FRIDAY);
            fifthDay.tellItLikeItIs();
            EnumTest sixthDay = new EnumTest(Day.SATURDAY);
            sixthDay.tellItLikeItIs();
            EnumTest seventhDay = new EnumTest(Day.SUNDAY);
            seventhDay.tellItLikeItIs();
        }
    }

    Данная программа выведет:

    Mondays are bad.
    Midweek days are so-so.
    Fridays are better.
    Weekends are best.
    Weekends are best.

    Перечисляемые типы в языке Java — более эффективный инструмент, чем аналоги в других языках. Объявление типа enum определяет класс (enum type), который может содержать методы и другие поля. Компилятор автоматически добавляет некоторые методы, когда создает тип enum. Например, он имеет статический метод values, который возвращает массив, содержащий значения объекта в порядке их объявления. Этот метод обычно используется в комбинации с конструкцией for-each для обхода всех значений типа enum. Например, следующий код обходит все планеты:

     for (Planet p : Planet.values()) {
     System.out.printf("Your weight on %s is %f%n",
     p, p.surfaceWeight(mass));
     }

    // Скопировал и с этого сайта на завтра, вторник.
    Ещё завтра проглянуть это :
    https://www.youtube.com/watch?time_continue=4&v=23zhVwjrdU8
    Лекция 1. Введение в нейронные сети.

    https://www.youtube.com/watch?time_continue=2&v=tZemCRnZb6Y
    ОСНОВЫ ПРОГРАММИРОВАНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ

    https://www.youtube.com/watch?v=uaBp0uiLvKQ
    Практическое введение в нейронные сети и глубокое обучение. Часть 1
    Neural Network Programming with Java.pdf
    Только все непойму, ведь база нужна, а какая, какой коннектор ?
    Но на русском чисто вода всё. Пока не нашёл. Ведь java нужна. На питоне есть.

    Disease diagnosis with neural networks
    For disease diagnosis, we are going to use the free dataset proben1, which is available
    on the web ( http://www.filewatcher.com/m/proben1.tar.gz.1782734-0.html ).
    Proben1 is a benchmark set of several datasets from different domains. We are going
    to use the cancer and the diabetes dataset. We added two new classes to run the
    experiments of each case: CancerDisease and DiabetesDisease .
    Using ANN to diagnose breast cancer
    Ten variables compose the breast cancer dataset, where nine are inputs and one is a
    binary output. The dataset has 699 records, but we excluded 16 from them, which were
    found to be incomplete; thus, we used 683 records to train and test a neural network.
    страница 126
    Нет повести печальнее на свете, чем повесть о Российском Суперджете.
    А жизнь хорошая такая.
    http://www.deeplearningbook.org/
    To cite this book, please use this bibtex entry:

    @book{Goodfellow-et-al-2016,
        title={Deep Learning},
        author={Ian Goodfellow and Yoshua Bengio and Aaron Courville},
        publisher={MIT Press},
        note={\url{http://www.deeplearningbook.org}},
        year={2016}
    }
     ПИШУТ НА https://www.linux.org.ru/forum/talks/13436381
    Что это лучшее для владетелей английского

    https://neurohive.io/ru/osnovy-data-science/7-arhitektur-nejronnyh-setej-nlp/
    7 архитектур нейронных сетей для решения задач NLP 14 октября 2018
      neural network nlp architectures неплохо, современная книга

    https://neurohive.io/ru/novosti/nlp-architect-ot-i...e-biblioteka-modelej-obrabotk/
    Вы заметили, что всё больше компаний ставят на свой сайт виджет с ботом? Чат-боты сегодня повсюду. И это только один из многих примеров применения технологий обработки естественного языка (Natural Language Processing, NLP) и понимания естественного языка (Natural Language Understanding, NLU). Потенциал NLP и NLU кажется безграничным. Сейчас ко всем приходит понимание, что мы только в начале длинного пути.
    superyateam
    January 23, 2019 at 10:31 PM
    Их не будет, потому что НЛП — это шарлатанство :)
    И это на хабре ! В этом году.

    Вт 14 май 2019 08:40:57
    принтер мастэвность глядя в потолок трава здесь не растёт и птицы не живут любимая песня Кинешминского Маяка нлп картинку с форумом
     В МИДе заявили о подготовке США к применению ядерного оружия в Европе
     чат боты рулят.
    https://habr.com/en/top/
    Citymobil — a manual for improving availability amid business growth for startups. Part 5  Денис Аникин danikin
     https://habr.com/en/company/microsoft/blog/451334/
    Изучите статью и узнайте, как использовать Java для подключения к базе данных SQL Azure и использовать операторы T-… https://t.co/YJG355UAyI
    https://docs.microsoft.com/ru-ru/azure/sql-databas...42437_VK_oo_spl100000616000659
    Краткое руководство. Использование Java для создания запросов к базе данных SQL Azure

        25.03.2019
        Время чтения: 2 мин
        Соавторы
            Andrea Lam

    В этой статье показано, как подключаться к базе данных SQL Azure с помощью Java. Затем можно запросить данные с использованием инструкций T-SQL.
    Предварительные требования

    Для выполнения этого примера понадобится следующее:

        База данных SQL Azure. Для создания и настройки базы данных в службе "База данных SQL Azure" можно использовать одно из этих кратких руководств.
            Отдельная база данных     Управляемый экземпляр
        Создание     Портал     Портал
            ИНТЕРФЕЙС КОМАНДНОЙ СТРОКИ     ИНТЕРФЕЙС КОМАНДНОЙ СТРОКИ
            PowerShell     PowerShell
        Настройка     Правило брандмауэра IP-адресов на уровне сервера     Подключение из виртуальной машины
                Подключение "точка — сеть"
        Загрузка данных     База данных Adventure Works, загруженная для краткого руководства     Восстановление базы данных Wide World Importers
                Восстановление или импорт Adventure Works из файла BACPAC, размещенного на GitHub
                

        Важно!

        Скрипты в этой статье предназначены для использования базы данных Adventure Works. Используя управляемый экземпляр, необходимо импортировать базу данных Adventure Works в базу данных экземпляра или изменить скрипты в этой статье для использования базы данных Wide World Importers.

        Установленное связанное с Java программное обеспечение для используемой операционной системы:
    Ubuntu. Установите Java, пакет JDK и Maven. Ознакомьтесь с шагами 1.2, 1.3 и 1.4 в этом руководстве.
    https://www.microsoft.com/en-us/sql-server/developer-get-started/java/ubuntu/
    $ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -$$
    $ curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list $ sudo tee /etc/apt/sources.list.d/mssql-server-2017.list
    $ sudo apt-get install mssql-server
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed:
      mssql-server
    ...
    Unpacking mssql-server ...
    Setting up mssql-server ...
    $ sudo /opt/mssql/bin/mssql-conf setup
    Microsoft(R) SQL Server(R) Setup

    To abort setup at anytime, press Ctrl-C.

    The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746388 and
    found in /usr/share/doc/mssql-server/LICENSE.TXT.

    Do you accept the license terms? If so, please type YES:
    Please enter a password for the system administrator (SA) account:
    Please confirm the password for the system administrator (SA) account:

    You now have SQL Server running locally on your Ubuntu machine! Check out the next section to continue installing prerequisites.
    Step 1.4 Install Maven
    $ sudo apt-get install maven
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed:
      maven
    ........
    ........
    Unpacking maven (3.3.9-3) ...
    Setting up maven (3.3.9-3) ...
    update-alternatives: using /usr/share/maven/bin/mvn to provide /usr/bin/mvn (mvn) in auto mode

    Check that you have Maven properly installed by running the following command.
    $ mvn -v
    Apache Maven 3.3.9
    Maven home: /usr/share/maven
    Java version: 1.8.0_111, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
    Default locale: en_US, platform encoding: UTF-8
    OS name: "linux", version: "4.4.0-45-generic", arch: "amd64", family: "unix"

    You have successfully installed Java and Maven on your Ubuntu machine. You now have everything you need to start writing your Java apps with SQL Server!

    Go to step 2
    Здесь много Ксати mvn у меня установлен ранее.
    ...
    Вт май 14 10:57:22 MSK 2019
    Вт 14 май 2019 10:58:13

    https://www.bumblebot.ru/
    BumbleBot
    Напишем чат-бота любой сложности для вашего бизнеса

    Венгрия Резиновые прокладки Унитаз с косым сливом Они разные бывают
    пусть мастер покупает

    // https://www.microsoft.com/en-us/sql-server/develop...tarted/java/ubuntu/step/2.html
    https://github.com/dotnet/machinelearning
    reboot

    Перебиты поломаны крылья и проблемы возникли с шасси

    контекстный поиск значимой для решения клинической проблемы информации и оценка её достоверности с помощью нейронной сети.
     качество медицинской помощи и безопасность медицинской деятельности
     с помощью нейронных сетей.
    Клинические руководства или клинические рекомендации 10:36/21:52
    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | sudo tee /etc/apt/sources.list.d/mssql-server-2017.list
    OK
    alex@alex:~$ sudo apt-get install mssql-server
     mssql-server : Зависит: libssl1.0.0 но он не может быть установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    alex@alex:~$
    sudo apt-get purge libreoffice-common
    это хорошо Вычищаются файлы настройки пакета libreoffice-l10n-hu (1:5.2.7-1+deb9u5) …
    alex@alex:~$ Но что-то помню плохое с битыми пакетами снова это
    alex@alex:~$ sudo apt-get install mssql-server
    Конечно, правильно помню.
    Пакеты, имеющие неудовлетворённые зависимости:
     mssql-server : Зависит: libssl1.0.0 но он не может быть установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    alex@alex:~$ а вдруг ?
    alex@alex:~$ sudo apt-get install libssl1.0.0
    вдруга нет, правильно помню
    Пакет libssl1.0.0 недоступен, но упомянут в списке зависимостей другого пакета.
    Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

    E: Для пакета «libssl1.0.0» не найден кандидат на установку
    alex@alex:~$
    Он сам зависимости подтягивает. Я так и viber и skype ставил и проблем не было.
    Проверю.
    apt-get -f install
    Удаляется uno-libs3 (5.2.7-1+deb9u5) …
    dpkg: предупреждение: при удалении uno-libs3 каталог «/usr/lib/libreoffice» не пуст, поэтому не удалён
    И этот вдруг помню
    https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось" а дальше не помню, что я делал. Может и у меня поломалось
    https://debianforum.ru/index.php?topic=12580.0


    new

    New Netjava6 как продолжение Netjava5
    Пн 13 май 2019 14:14:58
     JAVA_15
        
    Понедельник, 13 Мая 2019 г. 15:53 редактировать + в цитатник
    JAVA_15
    13.05.2019
    Начало Чт 09 май 2019 14:36:59
    Продолжения в Netjava5 Чт 09 май 2019 14:35:24
    Выше это в лайвинтернет.
      Вон столько, но надо читать. На завтра
    К этому всё ведь
    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    NeuralNetworksPrj02
      src
         com.za.tutorial.neuralnetworks
         Driver.java
         Percptron.java
      JRE System Library
    Это с вчера :  Вс 12 май 2019 22:07:35

    https://www.youtube.com/watch?v=-8Fd68XRxCY
    Neural Networks w/ JAVA - Tutorial 03
    1:40/16:18
    смотрю на Driver.java и вначале загружен Perceptron.java
    Как с базой ? Какая ? Вот смотрю, думаю
    4:21/16:18 Souce folder:NewokksuralNetPrj03/src
    редактор Driver.java
        package com.za.tutorial.neuralnetworks;
            public class Driver{
              public static void main(String[] args){
                  // TODO Auto-geterated method stub


               }

             }
    // Мой комментарий, да есть такой : https://github.com/ivan-vasilev/neuralnetworks/blob/master/nn-core/src/main/java/com/github/neuralnetworks/training/backpropagation/BackPropagationTrainer.java
       Файл большой: 268 строк.
    Но ссылки на архитектуры здесь : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Их очень много. Значит на завтра.
    Ещё взглянул на https://github.com/ivan-vasilev/neuralnetworks/blob/master/README.md
    93 lines Ivan Vasilev
     Смотрю сегодня 13 мая 2019
     My Eclipse :
     new создаю проект с 3-го урока  
     NeuralNetworksPrj02
     появляются src и bin
     В src создаю папку com.za.tutorial.neuralnetworks
     а зачем мне уже сразу JRE sys...?
     и только после неё src, зато в ней com.za.tutorial.neuralnetworks
     И что выбрать из этой ссылки : https://github.com/ivan-vasilev/neuralnetworks/find/master
    Но я вспоминаю, я всё вспоминаю, https://www.youtube.com/watch?v=ZJNklhq1zvg
     RU 3
    0:03 / 13:05
    Neural Networks w/ JAVA - Tutorial 01
    cant find where to download the source code? On your site is just the youtube video жалуется Patrick Hentschel 2 years ago Ему этого не хватает. Счастливчик.
    Vasil Dimitrov обнадёживает Патрика : Download Source Code' on top left or directly http://sites.fastspring.com/zaneacademy/product/all
    $ unrar e file.rar
     $ unrar e Neural Network Programming with Java.rar
       sudo dpkg -i имя_пакета.deb
        sudo dpkg -i unrar_5.3.2-1+deb9u1_amd64.deb
         alex@alex:~/Desktop$ unrar e NeuralNetworkJava.rar
          Desktop : Neural Network Programming with java.pdf OK !
           В google translate читается
     Всё прекрасно. Надеюсь, что это начало начал. А как же это я не скачивал ?
     Будет чудесно, если Downloading the example code
    You can download the example code files from your account at http://www.
    packtpub.com for all the Packt Publishing books you have purchased. If you
    purchased this book elsewhere, you can visit http://www.packtpub.com/support
    and register to have the files e-mailed directly to you.
     Зачем я верю в чудеса ? Packtpub раскручен хорошо.
     Pactpub support java в Yandex много ссылок. Например эта :
     https://sharewood.pro/threads/packtpub-%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D1%81%D0%B5%D1%82%D0%B5%D0%B9-%D0%BD%D0%B0-java-neural-network-programming-with-java.1379/
     ссылка ведёт на мою книгу. Конечно пишут так :
     Формат: html (т.к. парсилось с сайта, очевидно)
         [Михаил Русаков] Программирование на Java с нуля до гуру (2019)
     Перешёл на яву.

      ещё по одной ссылке https://infosliv.club/threads/7161/
      скачал это NNP Java.rar
      unrar e NeuralNetworkJava.rar
      https://infosliv.club/threads/7161/
    Enter new name: NNPJAVA

    Extracting  NNPJAVA                                                   OK
    All OK
    alex@alex:~/Desktop$ Здесь действительно какие-то исходники на яве.
    Зазипованные что ли. Но в emacs открываются. Это на завтра.
    Вот так : ниже

    package edu.packt.neuralnet;
    import java.util.ArrayList;
    import java.util.Arrays;

    public class HiddenLayer extends Layer {

        public ArrayList<HiddenLayer> initLayer(HiddenLayer hiddenLayer, ArrayList<HiddenLayer> listOfHiddenLayer, InputLayer inputLayer, OutputLayer outputLayer) {

            ArrayList<Double> listOfWeightIn = new ArrayList<Double>();
            ArrayList<Double> listOfWeightOut = new ArrayList<Double>();
            ArrayList<Neuron> listOfNeurons = new ArrayList<Neuron>();

            int numberOfHiddenLayers = listOfHiddenLayer.size();

            for (int i = 0; i < numberOfHiddenLayers; i++) {
                for (int j = 0; j < hiddenLayer.getNumberOfNeuronsInLayer(); j++) {
                    Neuron neuron = new Neuron();

                    int limitIn;
                    int limitOut;

                    if (i == 0) { // first
                        limitIn = inputLayer.getNumberOfNeuronsInLayer();
                        if (numberOfHiddenLayers > 1) {
                            limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                        } else {
                            limitOut = listOfHiddenLayer.get(i).getNumberOfNeuronsInLayer();
                        }
                    } else if (i == numberOfHiddenLayers - 1) { // last
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = outputLayer.getNumberOfNeuronsInLayer();
                    } else { // middle
                        limitIn = listOfHiddenLayer.get(i - 1).getNumberOfNeuronsInLayer();
                        limitOut = listOfHiddenLayer.get(i + 1).getNumberOfNeuronsInLayer();
                    }

                    for (int k = 0; k < limitIn; k++) {
                        listOfWeightIn.add(neuron.initNeuron());
                    }
                    for (int k = 0; k < limitOut; k++) {
                        listOfWeightOut.add(neuron.initNeuron());
                    }

                    neuron.setListOfWeightIn(listOfWeightIn);
                    neuron.setListOfWeightOut(listOfWeightOut);
                    listOfNeurons.add(neuron);

                    listOfWeightIn = new ArrayList<Double>();
                    listOfWeightOut = new ArrayList<Double>();

                }

                listOfHiddenLayer.get(i).setListOfNeurons(listOfNeurons);

                listOfNeurons = new ArrayList<Neuron>();

            }

            return listOfHiddenLayer;

        }

        public void printLayer(ArrayList<HiddenLayer> listOfHiddenLayer) {
            System.out.println("### HIDDEN LAYER ###");
            int h = 1;
            for (HiddenLayer hiddenLayer : listOfHiddenLayer) {
                System.out.println("Hidden Layer #" + h);
                int n = 1;
                for (Neuron neuron : hiddenLayer.getListOfNeurons()) {
                    System.out.println("Neuron #" + n);
                    System.out.println("Input Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightIn().toArray() ));
                    System.out.println("Output Weights:");
                    System.out.println(Arrays.deepToString( neuron.getListOfWeightOut().toArray() ));
                    n++;
                }
                h++;
            }
        }
    }

    И открыл это в Эклипсе, разумеется ошибки. Сохранил в папку эклипса. Завтра
    буду ещё думать. Fábio M. Soares
    Пн 13 май 2019 20:12:48
    Потому что нейронная сеть начинается когда есть нелинейность элементов (нейронов).
    Пока нет нелинейности — это просто набор матриц. habr
    https://habr.com/en/post/321152/
    Enum-Всемогущий
    // в JavaLanguage.java файле
        public static void main(String[] args) {
            // it's true
            if (JAVA.getClass() == SCALA.getClass().getSuperclass()) {
                System.out.println("Наследник то есть!");
            }
            // it's true
            if (JAVA.getClass() == KOTLIN.getClass().getSuperclass()) {
                System.out.println("Да не один!");
            }
        }

    Три ошибки, понятно. Это фрагмент. alex@alex:~/Consolejava/Enum$
    Далее :
    http://easy-code.ru/lesson/enum-types-java
    Перечисляемые типы (enum) в Java
    Синтаксис

    Для объявления используется ключевое слово enum. Например, нам необходимо перечислить дни недели:
    1
    2
    3
    4
        
    public enum Day {
        SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY
    }

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

    public class EnumTest {
        Day day;
     
        public EnumTest(Day day) {
            this.day = day;
        }
     
        public void tellItLikeItIs() {
            switch (day) {
                case MONDAY:
                    System.out.println("Mondays are bad.");
                    break;
     
                case FRIDAY:
                    System.out.println("Fridays are better.");
                    break;
     
                case SATURDAY: case SUNDAY:



    Поиск сообщений в _ghbhjif
    Страницы: [3] 2 1 Календарь