1. 变量
赋值
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 必须先声明 |
是 |
否 |
否 |
否 |
| 声明 |
int x; |
无 |
无 |
dim x% |
| 赋值 |
x=1; |
x=1 |
x=1 |
x=1 |
| 声明并赋值 |
int x=1; |
x=1 |
x=1 |
无 |
| 空 |
null |
None |
null undefined
|
Null |
数据类型
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 整数 |
int x=1; |
x=1 |
x=1 |
x=1 |
| 字符 |
char a='A'; |
无 |
无 |
无 |
| 字符串 |
String a="A"; |
a="A"
a='A'
|
a="A"
a='A'
|
a="A" |
| 小数 |
float f=3.14f;
double d=1.7d
|
f=3.14 |
f=3.14 |
f=3.14 |
| 布尔 |
boolean b=true; |
b=True |
b=true |
b=True |
| 常量 |
final double PI=3.14; |
PI=3.14 |
const PI=3.14 |
Const PI=3.14 |
| 对象 |
StringBuilder sb = new StringBuilder();
var sb = new StringBuilder();
|
sb = ShaBi() |
sb = new Shabi() |
x = CreateObject("Scripting.Dictionary") |
| 类型转换 |
只允许向上转换 |
允许 |
允许 |
允许 |
2. 符号
计算运算符
| 运算符 |
Java |
Python |
JavaScript |
VBA |
| 加 |
+ |
+ |
+ |
+ |
| 减 |
- |
- |
- |
- |
| 乘 |
* |
* |
* |
* |
| 除 |
/ |
/ |
/ |
/ |
| 求余 |
% |
% |
% |
mod |
| 次幂 |
无 |
3**2 |
3**2 |
无 |
| 自增 |
++ |
++ |
无 |
无 |
| 自减 |
-- |
-- |
无 |
无 |
| 叠加 |
+= |
+= |
+= |
无 |
| 叠减 |
-= |
-= |
-= |
无 |
| 叠乘 |
*= |
*= |
*= |
无 |
| 叠除 |
/= |
/= |
/= |
无 |
| 括号 |
() |
() |
() |
() |
| 字符串连接 |
+ |
+ |
+ |
+ |
比较运算符
| 运算符 |
Java |
Python |
JavaScript |
VBA |
| 大于 |
> |
> |
> |
> |
| 大于等于 |
>= |
>= |
>= |
>= |
| 小于 |
< |
< |
< |
< |
| 小于等于 |
<= |
<= |
<= |
<= |
| 等于 |
== |
== |
== |
== |
| 不等于 |
!= |
!= |
!= |
!= |
| and |
&& |
and |
&& |
and |
| or |
|| |
or |
|| |
or |
| not |
! |
not |
! |
not |
代码符
| 符号 |
Java |
Python |
JavaScript |
VBA |
| 转义符 |
\ |
\ |
\ |
“” |
| 换行符 |
; |
: |
; |
: |
| 换行符是否可省略 |
不可省略 |
大部分可省略 |
大部分可省略 |
可 |
注释
| 符号 |
Java |
Python |
JavaScript |
VBA |
| 单行注释 |
// |
# |
// |
’ |
| 多行注释 |
/*…*/ |
“”"…""" ’’’…’’’ |
/*…*/ |
无 |
文本符
| 符号 |
Java |
Python |
JavaScript |
VBA |
| 单行字符 |
’ |
" ’ |
" ’ |
" |
| 单行字符串 |
" |
" ’ |
" ’ |
" |
| 多行字符串 |
“”"…""" |
“”"…""" ’’’…’’’ |
无 |
无 |
3. if
一行if
// Javax = a > b ? c : d;
# Python
x = c if a > b else d
// JavaScript
x = a > b ? c : d
' VBA
if a > b Then x = c Else x = d
一次判断
// Java
if (a > b) {
x = c;
} else {
x = d;
}
# Python
if a > b:
x = c
else:
x = d
// JavaScript
if (a > b) {
x = c
} else {
x = d
}
' VBA
If a > b Then
x = c
Else
x = d
End If
多次判断
// Java
if (a > b) {
x = c;
} else if (a > bb) {
x = cc;
} else {
x = d;
}
# Python
if a > b:
x = c
elif a > bb:
x = cc
else:
x = d
// JavaScript
if (a > b) {
x = c
} else if (a > bb) {
x = cc
} else {
x = d
}
' VBA
If a > b Then
x = c
ElseIf a > bb Then
x = cc
Else
x = d
End If
4. for
下标循环
// Java
for (int i=0;i<100;i++) {
System.out.println(i);
}
# Python
for i in range(100):
print(i)
// JavaScript
for (var i=0;i<100;i++) {
console.log(i)
}
' VBA
For i = 1 to 100 step 1
Debug.Print i
next
数组遍历循环
// Java
for (int a:arr) {
System.out.print(a);
}
# Python
for a in arr:
print(a)
// JavaScript
for (a in arr) {
console.log(a)
}
' VBA
For Each a in arr
Debug.Print a
Next
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 中断循环 |
break |
break |
break |
Exit For |
| 跳过循环 |
continue |
continue |
continue |
goto |
5. while
// Java
int i;
while (i < 100) {
System.out.println(i);
i++;
}
// java的另一个while
int i;
do {
System.out.println(i);
i++;
} while (i < 99);
# Python
i = 0
while True:
if i < 100:
print(i)
else:
break
// JavaScript
i = 0
while (i < 100) {
console.log(i)
i++
}
' VBA
' 1
i = 0;
While i < 100
Debug.Print(i)
Wend
' VBA
' 2
i = 0;
Do While i < 100
Debug.Print(i)
Loop
' VBA
' 3
i = 0;
Do
Debug.Print(i)
Loop While i < 99
' VBA
' 4
i = 0;
Do Until i >= 100
Debug.Print(i)
Loop
' VBA
' 5
i = 0;
Do
Debug.Print(i)
Loop Until i >= 99
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 中断循环 |
break |
break |
break |
Exit For |
| 跳过循环 |
continue |
continue |
continue |
goto |
6. 数组
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 定义 |
int[] x = {1,2,3,4,5}; |
x = [1,2,3,4,5] |
x = [1,2,3,4,5] |
dim Arr() |
| 符号 |
{} |
[] {} () |
[] |
Array() |
| 索引 |
x[0]; |
x[0] |
x[0] |
Arr(0) |
| 类型混用 |
不允许 |
x=[1,'a'] |
x=[1,'a'] |
Arr=Array(1,"a") |
| 增 |
不允许 |
x.append('b')
x.insert(0,'c')
|
x.push('b') |
Redim Preserve Arr(4)
Arr(4) = 3
|
| 删 |
不允许 |
x.pop(1)
del x[1]
|
x.pop(1) |
Redim Arr(1) |
| 改 |
x[0] = 6; |
x[0] = 6 |
x[0] = 6 |
Arr(0)=6 |
7. 程序结构
Java
/**
* 文档注释
*/
public class Hello {
public static void main(String[] args) {
// 主程序说明
userFunction usf = new userFunction();
usf.setArg("Hello");
System.out.println(usf.getArg());
/* 多行注释
分行 */
}
}
class userFunction {
private String arg;
public void setArg(String arg) {
// 设置
this.arg = arg;
}
public String getArg() {
// 返回
return this.arg;
}
}
Python
'''
文档说明
'''
class userFunction:
def __init__(self):
pass
def setArg(self,arg):
self.arg = arg
def getArg(self):
return self.arg
if __name__ == '__main__':
usf = userFunction()
usf.setArg("Hello")
print(usf.getArg())
JavaScript
function userFunction(args) {
x = process(args)
return x
}
VBA
Sub userSub()
x = userFunction(args)
Debug.Print x
End Sub
Function userFunction(args) as String
userFunction = process(args)
End Function
8. 输入输出
输出
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 输出 |
System.out.println
System.out.print
|
print |
console.log |
Debug.Print |
| 格式化输出 |
System.out.printf
System.out.format
|
format |
无 |
无 |
| 快速格式化 |
无 |
f'{d} is a number' |
`${d} is a number` |
无 |
输入
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 输入 |
import java.util.Scanner …
Scanner scanner = new Scanner(System.int);
String ipt = scanner.nextLine();
|
ipt = input('请输入:') |
var ipt = prompt('请输入','预设值') |
ipt = InputBox("请输入",,"预设值") |
9. 异常捕获
| 项目 |
Java |
Python |
JavaScript |
VBA |
| 异常捕获 |
try {..}
catch {...}
finally {...}
|
try:
except:
finally:
|
try {..}
catch {...}
finally {...}
|
On error goto tag |
总结