Pascal for Java users
Deutsch · English
Translating common program snippets
The following site shows how common problems are solved in various programming languages, including Javan and FreePascal/Object Pascal: Rosetta Code
Translating Java keywords/concepts
| Java | Pascal | Additional comments |
|---|---|---|
| { | Begin | |
| } | End | |
| = | := | Becomes |
| == | = | Equal |
| / | / | Division (or sometimes div) |
| % | Mod | Modulo operation |
| ! | Not | |
| != | <> | Not equal |
| && | And | |
| <nowiki> | Or | |
| ^ | Xor | |
| >> | Shr | bit shift right |
| << | Shl | bit shift left |
| ++ | Inc | |
| -- | Dec | |
| /* | { | Comment start |
| /* | (* | Comment start |
| */ | } | Comment end |
| */ | *) | Comment end |
| // | // | End of line comment (only one line comment) |
| public static void main(String[] args) { } | Program ProgramName; Begin End. | Note the period after End |
| someType arrayVar[]; | arrayVar: Array Of someType; | |
| someType arrayVar[#]; | arrayVar: Array[MINRANGE..MAXRANGE] Of someType; | |
| null | Nil | |
| abstract | Abstract | |
| break | Break | |
| class TheClass { } | TheClass = Class End; | Delphi OOP |
| class TheClass { } | TheClass = Object End; | Turbo Pascal OOP |
| class TheClass<T> { } | Generic TheClass = Class<T> End; | Generics are classes only as of 2.2.2, likely to support more in the future |
| TheClass() | Constructor CtorName | Constructor name is by convention either Init or Create |
| continue | Continue | |
| do while | Repeat Until Not | |
| do while ! | Repeat Until | |
| enum TheEnum | TheEnum = ( MINVALUE .. MAXVALUE ); | |
| enum TheEnum = {MINVALUE, MAXVALUE} | TheEnum = ( MINVALUE, MAXVALUE ); | |
| TheEnum enumVar; | enumVar := Set Of TheEnum; | |
| extends | SubClass = Class(BaseClass) | class SubClass extends BaseClass --> SubClass(BaseClass) |
| final | Const | for constants, not uninheritables |
| for ++ | For To Do | |
| for -- | For Downto Do | |
| if() | If Then | |
| if() else | If Then Else | |
| implements | SomeClass = Class(SomeInterface) | |
| import | Uses | |
| instanceof | Is | |
| interface | TheInterface = Interface | |
| native | StdCall | For Windows |
| native | CDecl | For Unix |
| new primitive_type[#]; | SetLength(ArrayVar, #); | |
| new Class(); | InstanceVar := TheClass.Create; | |
| package pkgName; | Unit unitName; Interface Implementation End. | Note the period after End |
| private | Private | |
| protected | Protected | |
| public | Public | |
| return | FunctionName := | |
| return | Result := | ObjFPC or Delphi modes |
| return | Exit() | ObjFPC modes |
| static | Static | |
| static | Class Function | |
| static | Class Procedure | |
| super | Inherited | Parent constructor call |
| switch case break | Case Of End | |
| switch case break default | Case Of Else End | |
| synchronized | TCriticalSection | |
| this | Self | |
| throw | Raise | |
| throws | ||
| transient | ||
| try { } catch | Try Except | |
| try { } catch finally | Try Finally | |
| void | Procedure | |
| volatile | ||
| while | While Do |
Translating Java data types
| 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 | |
| int | Integer | 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 | False True | ||
| char | WideChar | 16-bit | ||
| String | String | |||
See also
From the Free Pascal wiki, page "Pascal for Java users", as it stood on 2019-03-04 after a change by Djzepi, 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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
