基本语句、文件方面

  1. Java中的字符是单引号,字符串是双引号;Python则是单双都可以
  2. Java语句结束有分号;,Python没有(写分号也正确)
  3. Java中程序执行需要有main函数,Python可以不写出来(程序执行时仍是执行main函数)
  4. Java语句都是在类中进行的(Java是完全面向对象)
  5. 源文件后缀分别是.java和.py
  6. Java的缩进不是必须的,只是为了格式好看;Python中的缩进则是必须且重要的
  7. Java文件名必须保存为与main方法所在类的类名相同,Python则不用
  8. Java用大括号区分处于同一个块的语句,而Python用缩进区分
  9. 条件、循环语句,Java没有冒号:,Python有冒号:
  10. 条件、循环语句,对于条件表达式,Java需要用括号括起来;Python不需要
  11. 条件、循环语句,条件表达式,Java必须是boolean类型;Python还可以是null和整型
  12. for循环
//Java
for ( n : arr ){
    //循环体
}

//python
for n in arr:
    //循环体
  1. 同理 if条件判断:
//Java
if (条件1){
    //执行语句1
} else if (条件2){
    //执行语句2
} else {
    //执行语句3
}

//Python
if 条件1:
    //执行语句1
elif 条件2:
    //执行语句2
else 
    //执行语句3
  1. 异常抛出的句式:Java用try...catch...finally ;Python用try...except..else...finally;
//Java
try {
    //可能出错的语句
}
catch(Exception1 e){
    //捕获到1类错误时的后续处理
}
catch(Exception2 e){
    //捕获到2类错误时的后续处理
}
....
finally{
    //不管是否捕获,都会执行的语句
}

//Python
try:
        //可能出错的语句
except xxxError:
       //捕获异常时的后续处理
  1. 异常抛出的写法:
//Java
throw new 异常类("报错语句");

//Python
raise 异常类("报错语句");
  1. 正则表达式:Java转义字符双斜杠"\\";Python的转义字符都是单斜杠'\'
  2. 或与非:Java——&&、||、!;Python——and、or、not;
  3. 如果要判断变量A是否为null,Java中不能用 !A,Python中可以用 not A
//Java
if(A == null){
    ...
}

//Python
if not A:
    ...

数据类型方面

  1. 定义变量时,不写初始值,Java中,普通类型默认为0,引用类型默认为null;Python会出错
  2. 定义变量时,Java必须指定变量类型,Python不需要
  3. 布尔类型,Java是true、false;Python是True、False
  4. Java空值null;Python空值Null
  5. 强制类型转换时,Java需要将转换函数用括号括起来,像这样 (int)42.7,如果需要对某个表达式的结果进行类型转换,需要同时把类型和表达式括起来,比如(int)(12.0/1.4);Python则是将需要转换的数据括起来,像这样int(42.7);
  6. 初始化,Java中所有数据在定义时即使没有初始化数值,仍会被自动赋予一初始值;Python则不会;所以Java中的数据,基本不会出现由于没赋值而产生的错误;
  7. 类型检查:
//Java:instanceof
//用法:变量 instanceof 类型
//返回true或false;

boolean isDouble = n instanceof Double;

//Python:isinstance
//用法:isinstance(变量,类型)
//返回True或False
isDouble = isinstance(n,double)

数组

  1. Java数组定义方式与C++动态数组定义方式类似;Python直接用中括号[]赋值就可以
  2. Java数组大小固定,不可更改;Python可通过append方法向其中加数据
  3. 表示时,Java数组边界为大括号{};Python是中括号;
Java_arr={1,2,3};

Py_arr=[1,2,3]

  1. 类方法中表示当前实例的变量: Java——this.xxx
    C++——this->xxx
    Python——self.xxx
  2. 继承
//Java
class A extends B{}

//python
class A(B){}