Pascal、VB、C#、Java四种语法对照表

因为工作原因,自学会了vb后陆续接触了其它语言,在工作中经常需要与各家使用不同语言公司的开发人员做程序对接,初期特别需要一个各种语法的对照比,翻看了网络上已有高人做了整理,自己在他基础上也整理了一下,摘抄如下(最后附上原作,网上也可以找到):

类别

Vb6 & Vb.Net

Delphi

C#

语法

不区分大小写

不区分大小写

区分大小写

数据类型

数据 关键字 占用字节 类型符

整型 integer

长整型 long

单精度型 single

双精度型 double

货币型 currency

字节型 byte

字节型 string

布尔型 boolean

日期型 date

8对象型 object

变体型 variant

定义变量/初始化变量

Dim intA as Integer

Dim strA as String

Dim lngA as Long

Dim strA As String = "Hello World"

Dim intS As Integer = 1

Dim douA() As Double = { 3.00, 4.00, 5.00 }

Var

intA:Integer;

strA:String;

lngA:Long;

var

strA: String;

intA: Integer;

douA: array of double = {3.00, 4.00, 5.00}

Int intA

String strA

Long lngA

String strA = "Hello World";

int intA = 1

double[] douA = { 3.00, 4.00, 5.00 };

运算符

+ &

Chr13 chr10

数组应用

Dim a(3) As String

a(0) = "1"

a(1) = "2"

a(2) = "3"

Dim a(3,3) As String

a(0,0) = "1"

a(1,0) = "2"

a(2,0) = "3"

Dim a(2) As Integer

a(0) = 0

a(1) = 1

For i = 0 To 2 Step 1

Print a(i)

Next i

var

a[0..2]: string

a[0..2,0..2]: String

begin

a[0] := ‘1’;

a[1] := ‘2’;

a[2] := ‘3’;

a[0,0] := ‘1’;

a[1,0] := ‘2’;

a[2,0] := ‘3’;

End;

String[] a = new String[3];

a[0] = "1";

a[1] = "2";

a[2] = "3”;

String[][] a = new String[3][3];

a[0][0] = "1";

a[1][0] = "2";

a[2][0] = "3"; 

定义数据集

Public Property Name As String

Get

...

Return ...;

End Get

Set

... = Value;

End Set

End Property

Public Record Name: String;

Function GetName: String; Begin

...;

Result := …;

End;

Procedure SetName(Value: String); Begin

… := Value;

End;

End

public String name

{

get{

...

return ...;

}

set{

... = value;

}

} 

对象的操作

Dim bj As MyObject = Session("Some Value")

Dim iObj As IMyObject = CType(obj, IMyObject)

var

bj: MyObject;

iObj: IMyObject;

begin

obj := Session(‘Some Value’);

iObj = Obj as IMyObject;

end;

MyObject obj = (MyObject)Session["Some Value"];

IMyObject iObj = obj;

字符串操作

Dim s1, s2 As String

s2 = "hello"

s2 &= " world"

s1 = s2 & " !!!" 

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

var

s1, s2: String;

begin

s2 := ‘hello’;

s2 := s2 + ‘world’;

s1 := s2 + ‘!!!’;

End;

String s1;

String s2 = "hello";

s2 += " world";

s1 = s2 + " !!!";

类型转换&

Format

Dim i As Integer = 3

Dim s As String = i.ToString()

Dim d As Double = Double.Parse(s):

var

i: Integer;

s: String;

d: Double;

begin

i := 3;

s = i.ToString();

d := Double.Parse(s);

end;

int i = 3;

String s = i.ToString();

double d = Double.Parse(s);

代码注释

' 2013-06-07 商超 添加申请单函数

'================================

'取报告内容,得到电子申请单

'================================

折叠代码

#Region “读取数据列表”

#End Region

// 2013-06-07 商超 添加申请单函数    

/* 取得内容

得到电子申请单*/

// 2013-06-07 商超 添加申请单函数     

/* 取得内容

得到电子申请单*/

输入输出或提示内容

Dim n as long

N= Val(InputBox("请输入一个数:"))

Dim n

n = MsgBox("是:添加项目 否:删除项目", 52, "提示信息")

If n = vbYes Then

Dim Add As String

Add = InputBox("请输入添加项目并点击确定后继续", "添加项目")

If Add = "" Then

Exit Sub

End If

Msgbox (“您好!”)

Debug.print (“您好!”)

Console.writeline(“您好!”)

showMessage(“您好!”);

MessageBox(Handle, PChar('不能备份到该目录 ' + path), PChar(MDialogMsg), MB_ICONINFORMATION or MB_OK)

If语句

‘判断是否为空或者指定值

‘判断按键

Dim strUser as string

If strUser=”管理员” then

Msgbox “您是”+strUser

End if

If Not (Request.QueryString = Null)

...

End If 

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

if a > 3 then

msgbox "a"

end if

if a = "" then

msgbox "a"

else

msgbox "b"

end if

if a ="" then

msgbox "a"

elseif

msgbox "b"

else

msgbox "c"

end if

strUser:string;

If (strUser=’管理员’) then

Showmessage(‘您是’+strUser);

If Not (Request.QueryString = Null) then

begin

...

End;

//测试If Then语句//

procedure TForm1.Button6Click(Sender: TObject);

var

strSql: string;

begin

strSql := 'Select';

if strSql = 'Select' then

showmessage(PChar(strSql))

else

showmessage('Sql语句不对!')

end;

//输入值后按回车//

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

if (Key = VK_RETURN) then

begin

Button7Click(Sender); //直接调用Button1的事件处理程序完成相同的功能

end;

end;

begin

if key = #8 then

exit;

if not ((key >= '0') and (key <= '9')) then

key := #0;

end;

if (Request.QueryString != null)

{

...

} 

If Else语句

Case语句

Select (FirstName)

case "John" :

...

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

case "Paul" :

...

case "Ringo" :

...

End Select

select case index

case 0

msgbox "a"

case 1

msgbox "b"

end select

Case FirstName of

‘John’:

...

‘Paul’:

‘Ringo’:

End

//测试Case语句//

procedure TForm1.Button5Click(Sender: TObject);

var

i: ShortInt;

begin

i := random(3);

case i of

//0:showmessage('测试零');; 符号错误

0: showmessage('测试一');

1: showmessage('测试二');

2: showmessage('测试三');

else

showmessage('测试完成');

end

end;

switch (FirstName){

case "John" :

...

break;

case "Paul" :

...

break;

case "Ringo" :

...

break;

}

For循环

Dim I As Integer

For I = 0 To 2

 a(I) = "test"

Next

for i = 0 to list.count - 1 step 0

msgbox list(i)

Next

Var

I: Integer;

Begin

For I := 0 to 2 do

A[i] := ‘test’;

End;

//测试For循环//

procedure TForm1.Button2Click(Sender: TObject);

var

I: Integer;

Tot: Integer;

begin

I := 0;

Tot := 0;

for i := 0 to 10 do

begin

Tot := Tot + i

end;

showMessage(IntToStr(Tot));

end;

procedure TForm1.btn1Click(Sender: TObject);

var

i:Integer;

begin

for i:=0 to lst1.Count-1 do

begin

ShowMessage(lst1.Items[i]);

end;

lst1.Items.Clear;

end;

for (int i=0; i<3; i++)

a(i) = "test";

While循环

Dim I As Integer

I = 0

Do While I < 3

Console.WriteLine(i.ToString());

I = I + 1

Loop

Var

I: Integer;

Begin

I := 0;

While i< 3 do

Begin

Console.WriteLen(i.ToString());

I := I + 1;

End;

End;

//测试While语句//

procedure TForm1.Button3Click(Sender: TObject);

var

i: ShortInt;

begin

i := 0;

while i < 10 do

begin

i := i + 1;

showmessage(IntToStr(i));

end;

end;

int i = 0;

while (i<3)

{

Console.WriteLine(i.ToString());

i += 1;

}

With语句

With list

.list(0)=”是我的”

.Add

End with

rs.Open "man", cn, adOpenKeyset, adLockOptimistic

With rs

.AddNew

.Fields("标题") = Trim(Text1.Text)

.Fields("类别") = Trim(Combo1(2).Text)

.Fields("类型") = Trim(Combo1(0).Text)

If Check2.Value = 1 Then

.Fields("内容") = Trim(RichTextBox1.Text)

.Fields("内容2") = Trim(RichTextBox1.TextRTF)

Else

.Fields("内容") = Trim(RichTextBox1.Text)

.Fields("内容2") = Null

End If

.Fields("日期") = Format(DTPicker1.Value, "short date") 'CStr(Format(DTPicker1.Value, "YYYY-MM-DD "))

.Update

End With

with TOpenPictureDialog.Create(nil) do

begin

Filter:='*.bmp|*.bmp';

if Execute then

image1.Picture.LoadFromFile(filename);

Free;

end;

防错语句

on error goto Err:

Try

Castch

End try

try

edtIP.text:=iniinfo.readstring('Size','dbIP','');

Finally

freeAndNil(IniInfo);

end;

//测试Repeat语句//

procedure TForm1.Button4Click(Sender: TObject);

var

i: ShortInt;

begin

i := 0;

repeat

i := i + 1;

showmessage(IntToStr(i))

until i = 10;

end;

退出和关闭

Exit sub

Eixt Function

Close

End

exit;

Self.Close;

过程及函数调用

'调用面积计算过程

Private Sub Add_Click()

Call subcompute(txtLength, txtWidth)

End Sub

'定义一个计算面积的函数,有两个参数,返回计算结果

Private Function subcomputearea(Length As Long, Width As Long) 'length,width都是形式参数

subcomputearea = Length * Width

End Function

'调用计算面积函数

Private Sub Add_Click()

txtResult.Text = F(Val( txtResults.Text))

End Sub

'面积计算函数

Function F(n As Integer) As Single

If n > 1 And n <= 30 Then

F = n * F(n - 1)

Else

F = 1

End If

End Function

递归过程

Private Sub Command8_Click()

Text2.Text = F(Val(Text1.Text))

End Sub

Function F(n As Integer) As Single

If n > 1 And n <= 30 Then

F = n * F(n - 1)

Else

F = 1

End If

End Function

interface //单元的接口部分可在接口部分声明变量、常量、数据类型、过程、函数,结束于implementation的开始部分//

{

//一个简单的函数//

function GetAverage(num:integer;total:Double):Double;

begin

GetAverage := total / num; //Result := total / num;

end;

//一个简单的过程//

procedure GetResult() //procedure SetDate(Year: Integer; Month: Integer; Day: Integer); or procedure SetDate(Year, Month, Day: Integer);

begin

GetResult:=3*3;

end;

常用内部函数(字符串函数)

-字符串函数

Mid

Right

Left

Trim

Rtrim

Ltrim

len

Instr

Squit

-转换函数

Char

Val

asc

char

-日期时间函数

Date

Now

Timer

Year/month/day

Hour/minute/second

-判断函数

Isnull

isnumberic

-随机函数

Rnd

-格式化函数

Copy:  

S := ’’I Love China!’’;

  //下面将获取I Love China中的“Love”字符串。

  MyStr := Copy(S, 3, 4);

Concat:

S1 := Concat(’’A’’, ’’B’’); // 连接两个字符串,S1变量等于AB。

  S := ’’I Like Reading CPCW.’’;

  // 下面的代码将删除S变量中的“C”字符。

Delete:

  Delete(S, 16, 1);

  end;

  此时S变量则是I Like Reading PCW.(“C”已经不存在了)。

LeftStr

Length

MidStr

Pos:

  nPos: Integer; // 用于保存查找的字符所在位置

  begin

  nPos := Pos(’’Like’’, ’’I Like Reading!’’);

RightStr:

A := RightStr(S, 3); // 从最右边开始,获取右边的三个字符。因此A变量则等于ger。

Trim

TrimLeft

TrimRight

UpperCase

LowerCase

Low

High

Insert

类的定义和继承

Imports System

Namespace MySpace

Public Class Foo : Inherits Bar

Dim x As Integer

Public Sub New() ‘构造函数

MyBase.New()

x = 4

End Sub

Public Sub Add(x As Integer)

Me.x = Me.x + x

End Sub

Public Function GetNum() As Integer

Return x

End Function

End Class

End Namespace

' vbc /out:libraryvb.dll /t:library library.vb 

unit MySpace

interface

uses System;

type

Foo = Class(Bar)

private

x: integer;

public

procedure Create; override; //构造函数

procedure Add(x: Integer);

function GetNum: Integer;

end;

implementation

procedure Foo.Create;

begin

inherited; x := 4;

end;

procedure Foo.Add(x: Integer); begin

Self.x := Self.x + x;

end;

function Foo.GetNum: Integer; begin

Result := x;

end;

end;

using System;

namespace MySpace

{

public class Foo : Bar

{

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

int x;

public Foo() {x = 4; } //构造函数

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public void Add(int x) { this.x += x; }

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public int GetNum() { return x; }

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

}

}

// csc /out:librarycs.dll /t:library library.cs

事件处理

Sub Button1_Click(Sender As Object, E As EventArgs)

...

End Sub

‘ByVal 在VB中对象是是缺省参数传递方式

procedure Button1OnClick(Sender: Object;E: EventArgs);

begin

...

end;

‘ByRef 在Pascal中对象是缺省参数传递方式

btnSearchClick(Sender); //直接调用Button1的事件处理程序完成相同的功能

void Button1_Click(Object sender, EventArgs E)

{

...

} 

‘ByRef 在C#中对象是是缺省参数传递方式

操作数据库的增删改查应用

(Access Sql Mysql Oracle )

try

conADOConn.Connectionstring :=

'Provider=SQLOLEDB.1;Password=itpschina;Persist Security Info=True;User ;

conADOConn.Open;

//Showmessage('连接数据库成功!');

qryAdoQ.SQL.Clear;

qryAdoQ.SQL.Add('select * from Man');

qryAdoQ.Open;

except

Showmessage('无法连接数据库!');

exit;

end;

日志记录函数

//写入日志文件//

procedure WriteLog(ErrStr:String);

var

LogFilename: String;

LogFile: TextFile;

begin

LogFilename:=ExtractFilePath(ParamStr(0)) + 'LOG_' + FormatDateTime('yyyymmdd',Now) + '.LOG';

AssignFile(LogFile, LogFilename);

if FileExists(LogFilename) then Append(LogFile)

else Rewrite(LogFile);

Writeln(Logfile,DateTimeToStr(now)+': '+ErrStr);

CloseFile(LogFile);

end;

Ini的读写

Txt的读写

var

iniinfo:TIniFile;

getdir(0,dir); //获取程序所在路径地址

iniInfo:=TInIFile.Create(dir+'\Size.INI');

edtIP.text:=iniinfo.readstring('Size','dbIP','');

iniInfo.WriteString('Size','dbIp',edtIp.Text);

加密解密字符串

//字符串加密与解密函数//

//解密字符串//

function E_code(S:string):String;

var

n,i:integer;

str:string;

begin

n:=length(s);

str:='';

for i:=1 to n do

begin

str:=str+char(Ord(s[i])+2);

end;

E_code:=str;

end;

//加密字符串//

function D_code(s:string):String;

var

n,i:integer;

str:string;

begin

n:=length(s);

str:='';

for i:=1 to n do

begin

str:=str+char(ord(S[i])-2);

end;

D_code:=str;

end;

Xml文件的读写

本地文件读写、打开文件选择框

'///导出文件///

Private Sub Command8_Click()

Dim A As String

A = Text1.Text

Dim n

n = MsgBox("是否导出?", 52, "提示信息")

If n = vbYes Then

Open "D:\\" & A & ".rtf" For Output As #1 '新建文件

Print #1, RichTextBox1.Text

Close #1

MsgBox "文件已经存储在D:\,文件名为" & A & "", 64, "提示信息"

ElseIf n = vbNo Then

MsgBox "操作取消", 64, "提示信息"

Exit Sub

End If

End Sub

'///导入文件///

Private Sub Command9_Click()

Open "D:\给疯狂下资料的朋友们提个醒!.txt" For Input As #1

Dim A

Do While EOF(1) = False

Line Input #1, A

RichTextBox1 = RichTextBox1 & A & vbCrLf '这样就好了,要把数据连接起来,否则text只等于最后一行

Loop

Close

End Sub

'///导入文件///

Private Sub mnuOpen_Click()

CommonDialog1.FileName = ""

CommonDialog1.Filter = "*.txt|*.txt|*.rtf|*.rtf|*.*|*.*"

CommonDialog1.DialogTitle = "打开文件"

CommonDialog1.CancelError = True '捕获 取消 错误时得先设置为true 然后再showsave

On Error GoTo ErrorHandler

CommonDialog1.ShowOpen

Text1.Text = Left(CommonDialog1.FileTitle, Len(CommonDialog1.FileTitle) - 4)

RichTextBox1.LoadFile CommonDialog1.FileName, 1

ErrorHandler:

Exit Sub

End Sub

'///选择数据库///

Private Sub SelData_Click()

CommonDialog1.FileName = ""

CommonDialog1.InitDir = App.Path '设置缺省路径

CommonDialog1.Filter = "*.mdb|*.mdb|"

CommonDialog1.DialogTitle = "选择数据库"

CommonDialog1.CancelError = True '捕获 取消 错误时得先设置为true 然后再showsave

On Error GoTo ErrorHandler

CommonDialog1.ShowOpen

entry$ = Trim(CommonDialog1.FileName)

dataname = Trim(CommonDialog1.FileName)

R = WritePrivateProfileString("数据库", "库名", entry, iniPath)

If R <> 1 Then MsgBox "写入出错!"

If selectdate = True Then

Combo1(0).Clear

Call Form_Load

Else

Call Main

End If

ErrorHandler:

Exit Sub

End Sub

with TOpenPictureDialog.Create(nil) do

begin

Filter:='*.bmp|*.bmp';

if Execute then

image1.Picture.LoadFromFile(filename);

Free;

end;

文件路径操作

Dir

App.path

无边框窗体移动

颜色值函数

屏幕位置分辨率

PascalVBC#Java四种语法对照表

ASP.NET支持的几种语言:c#.net,vb.net,delphi.net(非内置支持),由于在.net框架下,所有的语言均使用同一个类库,因此功能上是基本上一模一样,只语法上各不相同。

.net与java为两大阵营,为了比较,在此列出一个简单的语法对照表,看看你到底喜欢那个?

类别

delphi.net语法

vb.net语法(语法不区分大小写)

c#.net语法

java

语法

不区分大小写

不区分大小写

区分大小写

区分大小写

定义变量

Var

x: Integer;

s: string;

s1, s2: string;

o: TObject;

obj: TObject; obj := TObject.Create;

Public property name: String;

Dim x As Integer

Dim s As String

Dim s1, s2 As String

Dim o 'Implicitly Object

Dim obj As New Object()

Public name As String 

int x;

String s;

String s1, s2;      

Object o;

Object obj = new Object();

public String name;

int x;

String s;

String s1, s2;      

Object o;

Object obj = new Object();

public String name;

输出内容

Response.write(‘foo’);

Response.Write("foo")

Debug.print ("foo")

Response.Write("foo");

Response.Write("foo");

注释

// This is a comment     

/* This is a

multi-line

comment */

' This is a comment

' This is a

' multi-line

' comment

// This is a comment

/* This is a

multi-line

comment */

// This is a comment

/* This is a

multi-line

comment */

读取数据集合数组

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

var

s, value: String

begin

s := Request.QueryString[‘Name’];

Value := Request.Cookies(‘Key’).Value;

end;

Dim s as String = Request.QueryString("Name")

Dim value As String = Request.Cookies("Key")

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

String s=Request.QueryString["Name"];

String value=Request.Cookies["key"]; 

String s = request. getParameter("Name");

String value;

Cookie ck = null;

Cookie args[] = Request.getCookies();

for(int i = 0; i<args.length; i++){

ck = args[i];

if(ck.getName().equals("key "))

value = ck.getValue();

}

字符串操作

var

s1, s2: String;

begin

s2 := ‘hello’;

s2 := s2 + ‘world’;

s1 := s2 + ‘!!!’;

End;

Dim s1, s2 As String

s2 = "hello"

s2 &= " world"

s1 = s2 & " !!!" 

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

String s1;

String s2 = "hello";

s2 += " world";

s1 = s2 + " !!!";

String s1;

String s2 = "hello";

s2 += " world";

s1 = s2 + " !!!";

     原作如下:Pascal、VB、C#、Java四种语法对照表


类别

delphi.net语法

vb.net语法(语法不区分大小写)

c#.net语法

java

初始化变量

var

s: String;

I: Integer;

A: array of double = {3.00, 4.00, 5.00}

Dim s As String = "Hello World"

Dim i As Integer = 1

Dim a() As Double = { 3.00, 4.00, 5.00 } 

String s = "Hello World";

int i = 1

double[] a = { 3.00, 4.00, 5.00 };

String s = "Hello World";

int i = 1

double[] a = new double[]{ 3.00, 4.00, 5.00 };

定义简单数据集

Public Record Name: String;

Function GetName: String; Begin

...;

Result := …;

End;

Procedure SetName(Value: String); Begin

… := Value;

End;

End

Public Property Name As String

Get

...

Return ...;

End Get

Set

... = Value;

End Set

End Property 

public String name

{

get{

...

return ...;

}

set{

... = value;

}

} 

private String name;

public String getName(){

return name;

}

public void setName(String name){

this.name = name;

}

数组

var

a[0..2]: string

a[0..2,0..2]: String

begin

a[0] := ‘1’;

a[1] := ‘2’;

a[2] := ‘3’;

a[0,0] := ‘1’;

a[1,0] := ‘2’;

a[2,0] := ‘3’;

End;

Dim a(3) As String

a(0) = "1"

a(1) = "2"

a(2) = "3"

Dim a(3,3) As String

a(0,0) = "1"

a(1,0) = "2"

a(2,0) = "3"

String[] a = new String[3];

a[0] = "1";

a[1] = "2";

a[2] = "3”;

String[][] a = new String[3][3];

a[0][0] = "1";

a[1][0] = "2";

a[2][0] = "3"; 

String[] a = new String[3];

a[0] = "1";

a[1] = "2";

a[2] = "3";

String[][] a = new String[3][3];

a[0][0] = "1";

a[1][0] = "2";

a[2][0] = "3";

对象操作

var

bj: MyObject;

iObj: IMyObject;

begin

obj := Session(‘Some Value’);

iObj = Obj as IMyObject;

end;

Dim bj As MyObject = Session("Some Value")

Dim iObj As IMyObject = CType(obj, IMyObject)

MyObject obj = (MyObject)Session["Some Value"];

IMyObject iObj = obj;

MyObject obj = (MyObject)Session.getItem ("Some Value");

IMyObject iObj = obj;

类型转换

var

i: Integer;

s: String;

d: Double;

begin

i := 3;

s = i.ToString();

d := Double.Parse(s);

end;

Dim i As Integer = 3

Dim s As String = i.ToString()

Dim d As Double = Double.Parse(s):

int i = 3;

String s = i.ToString();

double d = Double.Parse(s);

int i = 3;

String s = Integer.valueof(i).toString();

double d = Double.valueof(s);

类别

delphi.net语法

vb.net语法(语法不区分大小写)

c#.net语法

java

If 结构

If Not (Request.QueryString = Null) then

begin

...

End;

If Not (Request.QueryString = Null)

...

End If 

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

if (Request.QueryString != null)

{

...

} 

if (Request.QueryString != null)

{

...

} 

Case 结构

Case FirstName of

‘John’:

...

‘Paul’:

‘Ringo’:

End

Select (FirstName)

case "John" :

...

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

case "Paul" :

...

case "Ringo" :

...

End Select

switch (FirstName){

case "John" :

...

break;

case "Paul" :

...

break;

case "Ringo" :

...

break;

}

int flag = 1;

switch (flag){

case 1:

...

break;

case 2:

...

break;

}

For 循环

Var

I: Integer;

Begin

For I := 0 to 2 do

A[i] := ‘test’;

End;

Dim I As Integer

For I = 0 To 2

 a(I) = "test"

Next

for (int i=0; i<3; i++)

a(i) = "test";

for (int i=0; i<3; i++)

a[i] = "test";

While 循环

Var

I: Integer;

Begin

I := 0;

While i< 3 do

Begin

Console.WriteLen(i.ToString());

I := I + 1;

End;

End;

Dim I As Integer

I = 0

Do While I < 3

Console.WriteLine(i.ToString());

I = I + 1

Loop

int i = 0;

while (i<3)

{

Console.WriteLine(i.ToString());

i += 1;

}

int i = 0;

while (i<3)

{

System.out.println(i);

i += 1;

}

类别

delphi.net语法

vb.net语法(语法不区分大小写)

c#.net语法

java

类定义和继承

unit MySpace

interface

uses System;

type

Foo = Class(Bar)

private

x: integer;

public

procedure Create; override; //构造函数

procedure Add(x: Integer);

function GetNum: Integer;

end;

implementation

procedure Foo.Create;

begin

inherited; x := 4;

end;

procedure Foo.Add(x: Integer); begin

Self.x := Self.x + x;

end;

function Foo.GetNum: Integer; begin

Result := x;

end;

end;

Imports System

Namespace MySpace

Public Class Foo : Inherits Bar

Dim x As Integer

Public Sub New() ‘构造函数

MyBase.New()

x = 4

End Sub

Public Sub Add(x As Integer)

Me.x = Me.x + x

End Sub

Public Function GetNum() As Integer

Return x

End Function

End Class

End Namespace

' vbc /out:libraryvb.dll /t:library library.vb 

using System;

namespace MySpace

{

public class Foo : Bar

{

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

int x;

public Foo() {x = 4; } //构造函数

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public void Add(int x) { this.x += x; }

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public int GetNum() { return x; }

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

}

}

// csc /out:librarycs.dll /t:library library.cs

import java.lang.*;

package MySpace;

public class Foo extends Bar{

private int x; //私有变量

public Foo() {x = 4; } //构造函数

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public void Add(int x) { this.x += x; } //过程

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

public int getNum() { return x; } //函数

<!--[if !supportlinebreaknewline]-->

<!--[endif]-->

}

事件处理

procedure Button1OnClick(Sender: Object;E: EventArgs);

begin

...

end;

‘ByRef 在Pascal中对象是缺省参数传递方式

Sub Button1_Click(Sender As Object, E As EventArgs)

...

End Sub

‘ByVal 在VB中对象是是缺省参数传递方式

void Button1_Click(Object sender, EventArgs E)

{

...

} 

‘ByRef 在C#中对象是是缺省参数传递方式

jButton1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event

.MouseEvent evt) {

Button1_Click(evt);

}

});

private void Button1_Click(java.awt. event

.MouseEvent evt) {

}

转载自网络,作者:张弓 2007/4/21于台中, 2008/4/18补充加入java