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

PascalVBC#Java四种语法对照表

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

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

类别

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")

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 */

读取数据集合数组

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")

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 & " !!!"
 

String s1;
String s2 = "hello";
s2 += " world";
s1 = s2 + " !!!";

String s1;
String s2 = "hello";
s2 += " world";
s1 = s2 + " !!!";

 


 

类别

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 (Request.QueryString != null)

{
...
}
 

 

if (Request.QueryString != null)

{
...
}
 

Case 结构

Case FirstName of

‘John’:

...

‘Paul’:

‘Ringo’:

End

Select (FirstName)
case "John" :

...

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

{

int x;

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

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

public int GetNum() { return x; }

}


}
// 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; } //
构造函数

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

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

}

事件处理

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值