Java、Python语法区别(不断更新)

基本语句、文件方面

  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:
        //循环体
  13. 同理 if条件判断:
    复制代码
    //Java
    if (条件1){
        //执行语句1
    } else if (条件2){
        //执行语句2
    } else {
        //执行语句3
    }
    
    //Python
    if 条件1:
        //执行语句1
    elif 条件2:
        //执行语句2
    else 
        //执行语句3
    复制代码
  14. 异常抛出的句式:Java用try...catch...finally ;Python用try...except..else...finally
    复制代码
    //Java
    try {
        //可能出错的语句
    }
    catch(Exception1 e){
        //捕获到1类错误时的后续处理
    }
    catch(Exception2 e){
        //捕获到2类错误时的后续处理
    }
    ....
    finally{
        //不管是否捕获,都会执行的语句
    }
    
    //Python
    try:
            //可能出错的语句
    except xxxError:
           //捕获异常时的后续处理
    复制代码

     

  15. 异常抛出的写法:
    //Java
    throw new 异常类("报错语句");
    
    //Python
    raise 异常类("报错语句");
  16. 正则表达式:Java转义字符双斜杠"\\";Python的转义字符都是单斜杠'\'
  17. 或与非:Java——&&、||、!;Python——and、or、not;
  18. 如果要判断变量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){}

     

 

posted @   ShineLe  阅读(1384)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示