Pascal for Java users
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
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 | |
| || | 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 |