1.10.1 Javakommandos des JDK
- Mit welchem Befehl übersetzt man ein Javaquellprogramm in eine Javabinärdatei? javac
- Welche Datei ensteht beim Übersetzen einer Datei mit dem Namen Fahrzeug.java die eine Klasse Fahrzeug enhält? Fahrzeug.class
- Mit welchem Befehl kann man Javabinärdateien ausführen? java
- Eine Datei Test.java enthält eine Klasse Test. Mit welcher Befehlsequenz übersetzen Sie die Javaquelldatei Test.java und führen die Klasse Test dann aus?
- javac Test.java
- java Test
- javac Test.java
- Nennen Sie mindestens drei Javabefehle die nur das JDK enthält nicht aber das JRE
- javac
- javadoc
- javap
- javah
- javac
- Welcher Typ von Dateien wird vom Befehl javadoc erzeugt?
- javadoc erzeugt Dokumentationsdateien im html Format. Die Dateiendung ist daher .html
1.10.2 Zuweisungen
- Welche vier Syntaxkomponenten enhält eine Anweisung?
- Variable
- Zuweisungsoperator =
- Term
- Semikolon
- Variable
- In welcher Reihenfolge stehen die vier Syntaxkomponenten?
- siehe vorherige Antwort
- Welche der folgenden Anweisungen sind erlaubt?
a = 4; // korrekt a = a; // korrekt a = b // falsch. Das Semikolon fehlt 18 = c; // falsch. 18 ist kein gültiger Bezeichner. c = 18; wäre erlaubt (und sinnvoll) c = 18 + a; // korrekt d = 18 - c; // korrekt a,b = 18; // falsch. Man kann nur einer Variablen gleichzeitig einen Wert zuweisen
1.10.3 Zuweisungsbeispiel
Welche Belegung haben die Variablen x,y und z wenn alle Zuweisungen ausgeführt?
Hinweis: Es wurden nur geänderte Werte eingetragen. Ist ein Feld leer, so gilt der früherer Wert weiter oben
| Prozessorschritte | x | y | z |
|---|---|---|---|
|
x = 2; y = 3; z = 4; |
2 |
3 |
4 |
|
x = 5; |
5 |
||
|
x = 2 * x; |
10 | ||
|
y= z * x; |
|
40 |
|
|
z= 18 |
|
18 |
|
| Endergebnis | 10 | 40 | 18 |
1.10.4 Welche C-Funktion muss implementiert werden?
Laden Sie die Binärdatei auf Ihren Rechner.
Der folgende Befehl dissambliert die Klasse und erzeugt eine Klassenbeschreibung mit allen öffentlichen Komponenten der Klasse.
Rufen Sie javap in dem Verzeichniss aus in dem die Datei Raetsel.class steht:
pegasus:classes sschneid$ javap Raetsel
Compiled from "Raetsel.java"
public class Raetsel extends java.lang.Object{
public int variable1;
public float variable2;
public java.lang.String variable3;
public Raetsel();
public void testMethode();
public native void methodeInC();
}
Der notwendige C-Prototyp Raetsel.h wird mit dem Kommando javah erzeugt. Man muss das Kommando im Verzeichnis aufrufen in dem die Datei Raetsel.class steht:
javah Raetsel
Hierdurch wird eine Datei Raetsel.h erzeugt:
* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Raetsel */#ifndef _Included_Raetsel
#define _Included_Raetsel
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Raetsel
* Method: methodeInC
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_Raetsel_methodeInC
(JNIEnv *, jobject);#ifdef __cplusplus
}
#endif
#endif
Der Name der zu implementierenden Funktion ist fettgedruckt. Alle anderen Zeilen bestehen au Direktiven für die Programmiersprachen C, C++ und aus Kommentaren.

Comments
Lösung der Zuweisung
.
.
.
c = 18 + a; // korrekt
d = 18 -c: // korrekt <------?Muss da nicht ein Semikolon stehen?Wäre es sonstn icht falsch?----
a,b = 18; // falsch.
.
.
.
Danke, korrekte Beobachtung.
Danke für den Hinweis. Das ist richtig. Ich habe die Seite verbessert.
Auf der "Fragen-Seite" steht
Auf der "Fragen-Seite" steht es noch immer falsch drin.
Fixed...
Danke! Habe es verbessert.