基本语句、文件方面
- Java中的字符是单引号,字符串是双引号;Python则是单双都可以
- Java语句结束有分号;,Python没有(写分号也正确)
- Java中程序执行需要有main函数,Python可以不写出来(程序执行时仍是执行main函数)
- Java语句都是在类中进行的(Java是完全面向对象)
- 源文件后缀分别是.java和.py
- Java的缩进不是必须的,只是为了格式好看;Python中的缩进则是必须且重要的
- Java文件名必须保存为与main方法所在类的类名相同,Python则不用
- Java用大括号区分处于同一个块的语句,而Python用缩进区分
- 条件、循环语句,Java没有冒号:,Python有冒号:
- 条件、循环语句,对于条件表达式,Java需要用括号括起来;Python不需要
- 条件、循环语句,条件表达式,Java必须是boolean类型;Python还可以是null和整型
- for循环
//Java
for ( n : arr ){
//循环体
}
//python
for n in arr:
//循环体
- 同理 if条件判断:
//Java
if (条件1){
//执行语句1
} else if (条件2){
//执行语句2
} else {
//执行语句3
}
//Python
if 条件1:
//执行语句1
elif 条件2:
//执行语句2
else
//执行语句3
- 异常抛出的句式:Java用try...catch...finally ;Python用try...except..else...finally;
//Java
try {
//可能出错的语句
}
catch(Exception1 e){
//捕获到1类错误时的后续处理
}
catch(Exception2 e){
//捕获到2类错误时的后续处理
}
....
finally{
//不管是否捕获,都会执行的语句
}
//Python
try:
//可能出错的语句
except xxxError:
//捕获异常时的后续处理
- 异常抛出的写法:
//Java
throw new 异常类("报错语句");
//Python
raise 异常类("报错语句");
- 正则表达式:Java转义字符双斜杠"\\";Python的转义字符都是单斜杠'\';
- 或与非:Java——&&、||、!;Python——and、or、not;
- 如果要判断变量A是否为null,Java中不能用 !A,Python中可以用 not A
//Java
if(A == null){
...
}
//Python
if not A:
...
数据类型方面
- 定义变量时,不写初始值,Java中,普通类型默认为0,引用类型默认为null;Python会出错
- 定义变量时,Java必须指定变量类型,Python不需要
- 布尔类型,Java是true、false;Python是True、False
- Java空值null;Python空值Null
- 强制类型转换时,Java需要将转换函数用括号括起来,像这样 (int)42.7,如果需要对某个表达式的结果进行类型转换,需要同时把类型和表达式括起来,比如(int)(12.0/1.4);Python则是将需要转换的数据括起来,像这样int(42.7);
- 初始化,Java中所有数据在定义时即使没有初始化数值,仍会被自动赋予一初始值;Python则不会;所以Java中的数据,基本不会出现由于没赋值而产生的错误;
- 类型检查:
//Java:instanceof
//用法:变量 instanceof 类型
//返回true或false;
boolean isDouble = n instanceof Double;
//Python:isinstance
//用法:isinstance(变量,类型)
//返回True或False
isDouble = isinstance(n,double)
数组
- Java数组定义方式与C++动态数组定义方式类似;Python直接用中括号[]赋值就可以
- Java数组大小固定,不可更改;Python可通过append方法向其中加数据
- 表示时,Java数组边界为大括号{};Python是中括号;
Java_arr={1,2,3};
Py_arr=[1,2,3]
类
- 类方法中表示当前实例的变量:
Java——this.xxx
C++——this->xxx
Python——self.xxx - 继承
//Java
class A extends B{}
//python
class A(B){}