Einführung in Wertwirkmethoden in Java in Java im Rahmen der Lehre des Programmierens mit der Programmiersprache Java. [] (Wertwirkmethoden in Java), Lektion, Seite 720334
https://www.purl.org/stefan_ram/pub/java_mischmethoden_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Abhängigkeiten des Verhaltens in Java 

In dieser Lektion zeigen wir, wovon das Verhalten einer Auswertung in Java  abhängen kann. Wir hatte ein ähnliches Thema schon einmal in einer früheren Lektion behandelt, aber damals die Abhängigkeit des Wertes betrachtet, während wir in dieser Lektion hier nun statt dessen den umfassenderen Begriff des Verhaltens verwenden. Daher ist diese Lektion teilweise eine Wiederholung.

Beispiel Abhängigkeit nur  von Argumentwerten

Das folgende Beispiel zeigt, daß das Verhalten der Auswertung eines Aufrufs von »java.lang.Math.abs« nur vom Wert des Argumentausdrucks abhängt (aber nicht von der Umgebung).

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( java.lang.Math.abs( 3 ));
java.lang.System.out.println( java.lang.Math.abs( 4 ));
java.lang.System.out.println( java.lang.Math.abs( 3 )); }}
java.lang.System.out
3
4

3

Um sicher zu sein, daß das Verhalten der Methode »java.lang.Math.abs« nur vom Argumentwert abhängt, muß man die Dokumentation der Methode lesen. (Es ist nicht möglich, dies durch Ausprobieren festzustellen.)

Dokumentation von »java.lang.Math.abs« (vereinfacht)
java.lang
Klasse Math
static double abs( double x )
Ergibt den Betrag von x.

Beispiel Abhängigkeit nur  von Laufzeitumgebung

Das folgende Beispiel zeigt, daß das Verhalten der Auswertung eines Aufrufs von »java.lang.Thread.dumpStack« nur von der Umgebung abhängt.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.Thread.dumpStack();
java.lang.Thread.dumpStack(); }}
java.lang.System.out

java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1342)
at Main.main(Main.java:3)

java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1342)
at Main.main(Main.java:4)

In dem obigen Programm werden die Werte einer Operation ausgegeben: »java.lang.Thread.dumpStack()«. Da diese Operation jedoch in zwei verschiedenen Laufzeitumgebungen aktiviert wird, ergeben sich aus zwei verschiedene Ausgaben.

Auch die Methode »java.lang.Math.random()« muß eine Form von Messung der Laufzeitumgebung vornehmen, denn sonst wäre es nicht zu erklären, wie bei der Auswertung desselben  Ausdrucks »java.lang.Math.random()« verschiedene  Werte herauskommen können.

Beispiel Abhängigkeit von Argumentwerten und  Laufzeitumgebung

Das folgende Beispiel soll die doppelte Abhängigkeit des Verhaltens (hier: des Werts) von den Argumentwerten und  der Laufzeitumgebung verdeutlichen:

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{

/* A */
java.lang.System.setProperty( "x", "0" );
java.lang.System.setProperty( "y", "1" );
java.lang.System.out.println( java.lang.System.getProperty( "x" ));
java.lang.System.out.println( java.lang.System.getProperty( "y" ));

/* B */
java.lang.System.setProperty( "x", "2" );
java.lang.System.setProperty( "y", "3" );
java.lang.System.out.println( java.lang.System.getProperty( "x" ));
java.lang.System.out.println( java.lang.System.getProperty( "y" )); }}

java.lang.System.out
0
1
2
3
Aussprachehinweis
property ˈprɑp ɚ ti

In dem obigen Programm werden die Werte zweier Operationen ausgegeben: »java.lang.System.getProperty( "x" )« und »java.lang.System.getProperty( "y" )«.

Da dies in zwei verschiedene Laufzeitumgebung geschieht, ergeben sich insgesamt vier Möglichkeiten.

Zuerst wird durch das Argument (»"x"« oder »"y"«) eine Operation  (Inkarnation) festgelegt, dann durch diese Operation der Wert  dieser Operation. Bei der Findung dieses Wertes, kann die Operation dann ihre Umgebung berücksichtigen.

Abhängigkeiten des Wertes der Methode »java.lang.System.getProperty(java.lang.String)«


A B <- Laufzeitumgebung

"x" 0 2

"y" 1 3

^
|
Argumentwert

⚠ In dieser Lektion wurden die Methode »java.lang.System.setProperty« und »java.lang.System.getProperty« zur Erklärung des wichtigen Abhängigkeitsbegriffs als Beispiele  herangezogen. In der Praxis spielen diese Methoden jedoch nur eine untergeordnete Rolle. Daher ist die Verwendung dieser Methoden in dieser Lektion nicht  als Empfehlung zu verstehen, diese Methoden zur Speicherung von Informationen zu verwenden. Dafür gibt es in Java  meist bessere Möglichkeiten, die später vorgestellt werden werden.

Übungsfragen

?   Ausdrücke

Geben Sie zu den folgenden Ausdrücken jeweils an, ob das Verhalten ihrer Auswertung von den Argumenten oder von der Umgebung abhängt (oder von beidem).

Die Dokumentation von »java.lang.Math.cos« (vereinfacht)
java.lang
Class Math
static double cos( double x )
Ergibt den Kosinus von x.
Dokumentation von »java.lang.System.currentTimeMillis« (vereinfacht)
Paket java.lang
Klasse System
static int currentTimeMillis()
Ergibt die Millisekunden seit dem 1. Januar 1970.
Dokumentation von »java.lang.Math.random()« (gekürzt)
java.lang
Class Math
Method Summary
static double random()
Ergibt einen double-Wert groesser oder gleich 0.0 und kleiner als 1.0,
der bei jedem Aufruf anders sein kann.

?   Zeilen

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.Thread.dumpStack();
java.lang.Thread.dumpStack(); }}
Konsole

java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Unknown Source)
at Main.main(Main.java:3)

java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Unknown Source)
at Main.main(Main.java:4)

Das obenstehende Programm gibt sechs Zeilen aus. Wie viele Zeilen gibt das folgende Programm aus?

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.Thread.dumpStack(); /* Zeile 3 *
java.lang.Thread.dumpStack(); * Zeile 4 */ }}

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram720334 stefan_ram:720334 Wertwirkmethoden in Java source, source code,sourcecode, Programmier sprache java, Java Programm Java Programmiersprache Java Sprache Java Programmierung Programmieren in Java, Die Programmiersprache Java Javapgrammierung, Java-Programmierung, Java2, Java1.2, Java1.3, Java1.4, Java1.5, Java 2, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, Java 1.7, Java 1.8, Java 8, Java 1.9, Java 9, Tiger, Dolphin, objektorientierte Programmierung, Java sun, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd720334, slrprddef720334, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/java_mischmethoden_de