Sign in Join
Wiki copytemporary

Revision 2 of 2, by WikiArchive on 11-4-2026. The page as it is now.

Pascal for Java users/de

Zurück zu den Zusätzlichen Informationen.\

=Übersetzen von gemeinsamen Programm-Teilen= Die verlinkte englischsprachige 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

Arithmetische Operatoren

Java Pascal Kommentare
  +   +   Addition
  -   -   Subtraktion
  *   *   Multiplikation
  /   /   Gleitkommadivision
  %   Mod   Modulo (Division ohne Rest)
  ++   Inc   inkrementieren (Hochzählen)
  --   Dec   dekrementieren (Herunterzählen)

Relationale Operatoren

Java Pascal Kommentare
  ==   =   gleich
  !=   <>   ungleich
  <   <   kleiner
  <=   <=   kleiner gleich
  >   >   grösser
  >=   >=   grösser gleich

Logische Operatoren

<thead>

</thead> <tbody>

  In Free Pascal ist dies die Standard-Compilereinstellung</td>

  In Free Pascal ist dies die Compilerdirektive {$B ON}</td>

</tbody>

Bit Operatoren

Java Pascal Kommentare
  ~   Not   Einerkomplement
  &   And   bitweises UND
  |   Or   bitweises inclusives ODER
  ^   Xor   bitweises exclusives ODER
  >>   Shr   bitweises Rechtsschieben mit Vorzeichen
  >>>   ist in Free Pascal nicht vorhanden   bitweises Rechtsschieben ohne Vorzeichen
  <<   Shl   bitweises Linksschieben

Zuweisungs Operatoren

Hinweis: C-artige Operatoren werden in Free Pascal über die Kommandozeilenoption -Sc ermöglicht. C-artige Operatoren werden in Lazarus über die Projekteinstellungen ermöglicht.
{| class="wikitable" ! Java !! Pascal !! Kommentare |- |   = |   := |   Einfache Zuweisung |- |   += |   += |   Additionszuweisung |- |   -= |   -= |   Subtraktionszuweisung |- |   *= |   *= |   Multiplikationszuweisung |- |   /= |   /= |   Divisionszuweisung |- |   %= |   ist in Free Pascal nicht vorhanden |   Modulo Zuweisung |- |   &= |   ist in Free Pascal nicht vorhanden |   UND Zuweisung |- |   |= |   ist in Free Pascal nicht vorhanden |   ODER Zuweisung |- |   ^= |   ist in Free Pascal nicht vorhanden |   Exclusive ODER Zuweisung |- |   >>= |   ist in Free Pascal nicht vorhanden |   Rechtsschiebe Zuweisung |- |   >>>= |   ist in Free Pascal nicht vorhanden |   Rechtsschiebe Zuweisung mit Nullexpansion |- |   <<= |   ist in Free Pascal nicht vorhanden |   Linksschiebe Zuweisung |}

Sonstige Operatoren

Java Pascal
  &   @   Adresse von ...
  *   ^   Zeiger / Pointer

Ternärer Operator

{| class="wikitable" ! Java !! Pascal !! Kommentare |- |   ? |   ist in Free Pascal nicht vorhanden |   Erlaubt die verkürzte Schreibweise von If-Else Verzweigungen und gibt einen Wert zurück
  Verwendung:
  Ergebnisfeld = Bedingung ? Wahrfall : Falschfall
 
  Beispiel:
  Für ein Maximum in Java:
  max = ( a > b ) ? a : b;
 
  Dies entspricht in Pascal folgendem if-else-Konstrukt:
  if a > b Then
      max := a
  else
      max := b;
|}

Ü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 (Datentyp ...: Array) // For Each Schleife   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-Schreibweise 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 Datentyp Pascal Datentyp Speichergrösse in 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 Bytes codieren ein sichtbares Zeichen
  String   WideString   0-Bit bis ∞   Zeichenkette

Übersetzen von Java Aufzählungen (Enumerationen)

<thead>

</thead> <tbody>

  Die Konstante MAXVALUE enthält den Wert 1</td>

</tbody>

Übersetzen von Java Arrays

Java Pascal Kommentare
  Datentyp[] arrayName = new Datentyp[...];   Datentyp: Array[...] Of Datentyp;  
  Datentyp arrayVar[...] = new Datentyp[...];   Datentyp: Array[...] Of Datentyp;  

Übersetzen der Java Objektorientierung

<thead>

</thead> <tbody>

  In Free Pascal ist der Name des Konstruktors Create</td>

</tbody>

Freigabe eines Objektes

<thead>

</thead> <tbody>

  In Pascal führt der Aufruf FreeAndNil(...) zum selben Ergebnis.</td>

</tbody>

Klassenbestimmung

Java Pascal Kommentare
  instanceof   Is   Bestimmt die Klassenzugehörigkeit eines Objektes

Werfen von Exceptions

Java Pascal Kommentare
  throw   Raise   Wirft eine Exception
  throws   ist in Free Pascal nicht vorhanden   Gibt im Methodenkopf einer Klasse oder Methode an,   welche Ausnahme(n) von der Klasse bzw. Methode ausgelöst werden kann.

Fangen von Exceptions

Java Pascal Kommentare
  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

Threadprogrammierung

<thead>

</thead> <tbody>

  In Free Pascal sind alle global definierten Variablen volatile.</td>

</tbody>

Aufruf von Fremdfunktionen (z. B. aus Dll's)

Java Pascal Kommentare
  native   StdCall   Pascal / FPC Standardaufrufkonvention
  native   CDecl   C Standardaufrufkonvention

--Olaf 14:28, 24 March 2013 (UTC)


From the Free Pascal wiki, page "Pascal for Java users/de", as it stood on 2014-01-12 after a change by Olaf, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.