Difference between revisions of "Pascal for Java users/de"
From Free Pascal wiki
Jump to navigationJump to searchm |
|||
Line 204: | Line 204: | ||
| Hauptprogramm | | Hauptprogramm | ||
|} | |} | ||
− | ==Übersetzen von Java | + | == Übersetzen von Java Datentypen == |
+ | {| class="wikitable" | ||
+ | ! Java type !! Pascal [[Data_type/de|type]] !! Size (bits) !! Range | ||
+ | |- | ||
+ | | byte | ||
+ | | Shortint | ||
+ | | 8-bit | ||
+ | | -128 .. 127 | ||
+ | |- | ||
+ | | short | ||
+ | | SmallInt | ||
+ | | 16-bit | ||
+ | | -32768 .. 32767 | ||
+ | |- | ||
+ | | int | ||
+ | | LongInt | ||
+ | | 32-bit | ||
+ | | -2147483648..2147483647 | ||
+ | |- | ||
+ | | long | ||
+ | | Int64 | ||
+ | | 64-bit | ||
+ | | -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 | ||
+ | |- | ||
+ | | float | ||
+ | | Single | ||
+ | | 32-bit | ||
+ | | 1.5E-45 .. 3.4E+38 | ||
+ | |- | ||
+ | | double | ||
+ | | Double | ||
+ | | 64-bit | ||
+ | | 5.0E-324 .. 1.7E+308 | ||
+ | |- | ||
+ | | boolean | ||
+ | | Boolean | ||
+ | | 8-bit | ||
+ | | False bzw. True | ||
+ | |- | ||
+ | | char | ||
+ | | WideChar | ||
+ | | 16-bit | ||
+ | | 2 Zeichen codieren ein sichtbares Zeichen | ||
+ | |- | ||
+ | | String | ||
+ | | WideString | ||
+ | | 0-bit bis ∞ | ||
+ | | Zeichenkette | ||
+ | |} | ||
+ | == Übersetzen von Java Aufzählungen (Enumerationen) == | ||
+ | {| class="wikitable" | ||
+ | ! Java !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | enum TheEnum = {MINVALUE, MAXVALUE} | ||
+ | | TheEnum = (MINVALUE, MAXVALUE) | ||
+ | | Die Konstante MINVALUE enthält den Wert 0<br> | ||
+ | Die Konstante MAXVALUE enthält den Wert 1 | ||
+ | |} | ||
+ | == Übersetzen von Java Arrays == | ||
+ | {| class="wikitable" | ||
+ | ! Java !! Pascal !! Kommentare | ||
+ | |- | ||
+ | | Datentyp[] arrayName = new Datentyp[...]; | ||
+ | | Datentyp: Array[...] Of Datentyp; | ||
+ | | | ||
+ | |- | ||
+ | | Datentyp arrayVar[...] = new Datentyp[...]; | ||
+ | | Datentyp: Array[...] Of Datentyp; | ||
+ | | | ||
+ | |} | ||
+ | ==Übersetzen von Java Objektorientierung== | ||
{| class="wikitable" | {| class="wikitable" | ||
! Java !! Pascal !! Kommentare | ! Java !! Pascal !! Kommentare | ||
Line 327: | Line 397: | ||
| | | | ||
| Speichert den Wert nicht in Registern | | Speichert den Wert nicht in Registern | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
<br> | <br> |
Revision as of 19:10, 11 May 2013
│
Deutsch (de) │
English (en) │
Übersetzen von gemeinsamen Programm-Teilen
Die verlinkte englisch sprachige Seite zeigt, wie gemeinsame Probleme in verschiedenen Programmiersprachen, einschließlich Java und FreePascal / Object Pascal gelöst werden können.
Rosetta Code
Übersetzen von Java Operatoren
Java | Pascal | Kommentare |
---|---|---|
= | := | Zuweisung |
+ | + | Addition |
- | - | Subtraktion |
* | * | Multiplikation |
/ | / | Division |
% | Mod | Modulo (Division ohne Rest) |
! | Not | Nichten (Den Wahrheitswert in sein Gegenteil ändern) |
== | = | Vergleich |
!= | <> | ungleich |
&& | And | logisches UND |
|| | Or | logisches ODER |
^ | Xor | exclusives ODER |
>> | Shr | bitweises shift right |
<< | Shl | bitweises shift left |
++ | Inc | inkrementieren (Hochzählen) |
-- | Dec | dekrementieren (Herunterzählen) |
Übersetzen von Java Kommentarzeichen
Java | Pascal | Kommentare |
---|---|---|
/* | { | Anfang eines Kommentars |
/* | (* | Anfang eines Kommentars |
*/ | } | Ende eines Kommentars |
*/ | *) | Ende eines Kommentars |
// | // | Kommentarzeile |
Übersetzen von Java Anweisungsblöcken
Java | Pascal | Kommentare |
---|---|---|
{ | Begin | Anfang eines Anweisungsblocks |
} | End | Ende / Abschluss eines Anweisungsblocks |
Übersetzen von Java Schleifentypen
Java | Pascal | Kommentare |
---|---|---|
for( ..., ..., ...++) | For ... To ... Do | Kopfgesteuerte Schleife, die Hochgezählt wird |
for(..., ..., ...--) | For ... Downto ... Do | Kopfgesteuerte Schleife, die Heruntergezählt wird |
for (type var : arr) // For Each Schlleife | For ... in | Kopfgesteuerte Schleife, für das Durchsuchen von Mengen |
while (...) | While ... Do | Kopfgesteuerte Schleife |
do ... while(...) | Repeat ... Until | Fussgesteuerte Schleife |
do ... while!(...) | Repeat ... Until ... Not | Fussgesteuerte Schleife mit Nichtung des Ergebnisses des Ausdrucks |
Übersetzen von Java Verzweigungen / Bedingungen
Java | Pascal | Kommentare |
---|---|---|
if(...) | If ... Then | If-Bedingung |
if(...) ... else | If ... Then ... Else | If-Bedingung mit Sonstzweig |
switch(...) case ...: ...break | Case ... Of ...: ... End | Case-Bedingung |
switch(...) case ...: ... break default | Case ... Of ...: ... Else ... End | Case-Bedingung mit Sonst-Zweig |
Übersetzen von Java Verzweigungen- / Schleifenabbrüchen
Java | Pascal | Kommentare |
---|---|---|
break | Break | Die break-Anweisung ermöglicht es, vorzeitig eine Schleife (oder ein switch-case-Konstrukt) zu verlassen |
continue | Continue | Die continue-Anweisung ermöglicht es, den aktuellen Schleifendurchlauf zu beenden |
Übersetzen von Java Prozeduren und Funktionen
Java | Pascal | Kommentare |
---|---|---|
void Prozedurname(...) | Procedure Prozedurname(...) | Unterprogramm (Prozedur) ohne Rückgabewert |
datentyp Funktionsname(...) | Function Funktionsname(...): Datentyp | Unterprogramm (Funktion) mit Rückgabewert |
return | FunctionName := ... | Diese Pascal Schreibwese ist überholt (deprecated) |
return | Result := ... | Einer Funktion Ihren Rückgabewert zuweisen |
Übersetzen von Java Dateiheadern
Java | Pascal | Kommentare |
---|---|---|
package ...; | Unit ...; | Einbinden der Pascal Unit bzw. des Java Packages |
import ...; | Uses ...; | Bindet Bibliotheken und Klassen ein |
public static void main(String[...] args) {...} | Program ProgramName; Begin ... End. | Hauptprogramm |
Übersetzen von Java Datentypen
Java type | Pascal type | Size (bits) | Range |
---|---|---|---|
byte | Shortint | 8-bit | -128 .. 127 |
short | SmallInt | 16-bit | -32768 .. 32767 |
int | LongInt | 32-bit | -2147483648..2147483647 |
long | Int64 | 64-bit | -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807 |
float | Single | 32-bit | 1.5E-45 .. 3.4E+38 |
double | Double | 64-bit | 5.0E-324 .. 1.7E+308 |
boolean | Boolean | 8-bit | False bzw. True |
char | WideChar | 16-bit | 2 Zeichen codieren ein sichtbares Zeichen |
String | WideString | 0-bit bis ∞ | Zeichenkette |
Übersetzen von Java Aufzählungen (Enumerationen)
Java | Pascal | Kommentare |
---|---|---|
enum TheEnum = {MINVALUE, MAXVALUE} | TheEnum = (MINVALUE, MAXVALUE) | Die Konstante MINVALUE enthält den Wert 0 Die Konstante MAXVALUE enthält den Wert 1 |
Übersetzen von Java Arrays
Java | Pascal | Kommentare |
---|---|---|
Datentyp[] arrayName = new Datentyp[...]; | Datentyp: Array[...] Of Datentyp; | |
Datentyp arrayVar[...] = new Datentyp[...]; | Datentyp: Array[...] Of Datentyp; |
Übersetzen von Java Objektorientierung
Java | Pascal | Kommentare |
---|---|---|
null | Nil | |
class TheClass { } | TheClass = Class End | FPC / Delphi |
class TheClass { } | TheClass = Object End | FPC / Turbo Pascal |
class TheClass<T> { } | Generic TheClass = Class<T> End | Generische Klassen werden erst ab FPC 2.2.2 unterstützt |
TheClass() | Constructor CtorName | Der Name des Konstructors ist entweder Init oder Create |
native | StdCall | Pascal / FPC Standardaufrufkonvention |
native | CDecl | C Standardaufrufkonvention |
abstract | Abstract | Kennzeichnet eine Abstrakte Klasse |
implements | SomeClass = Class(SomeInterface) | Implementiert ein Interface |
extends | SubClass = Class(BaseClass) | Bezeichnet die Klasse von der geerbt wird |
final | Final | Verhindert das nachträgliche Ändern oder Überschreiben von Virtuellen Methoden |
instanceof | Is | Bestimmt die Klassenzugehörigkeit eines Objektes |
interface | TheInterface = Interface | Deklariert die Schnittstelle einer Klasse |
new primitive_type[#] | SetLength(ArrayVar, #) | |
new Class() | InstanceVar := TheClass.Create | |
private | Private | |
protected | Protected | |
public | Public | |
static | Static | |
static | Class Function | |
static | Class Procedure | |
super | Inherited | Ruft den Elternkonstruktor auf |
synchronized | ||
this | Self | |
throw | Raise | Wirft eine Exception |
throws | Deklariert die zuwerfende Exception im Kopf des Unterprogramms | |
transient | Das Feld soll nicht serialisiert werden | |
try { ... } catch { ... } | Try Begin ... End Except Begin ... End | Fehlerbehandlung mit einem Try-Block |
try { ... } catch { ... } finally { ... } | begin ... try try ... except ... end; finally ... end; ... end; | Fehlerbehandlung mit einem Block für Abschlussarbeiten |
volatile | Speichert den Wert nicht in Registern |
--Olaf 14:28, 24 March 2013 (UTC)