返回博客列表
技术分享

Java-Python对照速查表(Cheat Sheet)

2026年02月03日
3 分钟阅读

Java-Python对照速查表(Cheat Sheet)

引言

这是一份给有Java基础的开发者快速查阅的Python速查表。涵盖了从基础语法到高级特性的完整对照。

建议: 打印或收藏,随时查阅。


📋 某础语法对照

变量声明

Java Python 说明
int x = 10; x = 10 无需类型声明
final int X = 10; X = 10(大写约定常量) Python无const
String s = null; s = None 空值

布尔运算

Java Python 说明
true, false True, False 首字母大写!
!condition not condition 逻辑非
a && b a and b 逻辑与
a || b a or b 逻辑或

字符串操作

Java Python 说明
s.length() len(s) 长度
s.charAt(i) s[i] 访问字符
s.substring(i, j) s[i:j] 切片
s.equals(t) s == t 比较
s + t s + tf"{s}{t}" 拼接

数值运算

Java Python 说明
x++ x += 1 自增(Python无++)
x-- x -= 1 自减
(int)x int(x) 类型转换
Math.max(a, b) max(a, b) 最大值
Math.random() import random; random.random() 随机数

📋 控制流对照

条件判断

Java Python 说明
if (cond) { } else { } if cond: ... else: ... 无需括号
else if elif Python写法
cond ? a : b a if cond else b 三元表达式
10 <= x && x < 20 10 <= x < 20 链式比较(Python独有)

循环

Java Python 说明
for (int i=0; i<10; i++) { } for i in range(10): ... range()生成序列
for (T item : list) { } for item in list: ... 遍历
while (cond) { } while cond: ... while循环
continue; continue 继续
break; break 跳出

📋 数据结构对照

数组/列表

Java Python 说明
int[] arr = {1,2,3}; arr = [1,2,3] 列表
ArrayList<Integer> list list = [] 动态列表
list.add(e) list.append(e) 添加
list.size() len(list) 长度
list.get(i) list[i] 访问
list.remove(i) del list[i]list.pop(i) 删除
list.contains(e) e in list 包含判断
Collections.sort(list) list.sort() 排序

元组(Python独有)

Java Python 说明
不存在 t = (1,2,3) 不可变列表
x, y = t 解包

字典/Map

Java Python 说明
Map<K,V> map = new HashMap<>(); d = {} 字典
map.put(k, v) d[k] = v 添加
map.get(k) d.get(k) 获取
map.get(k, default) d.get(k, default) 带默认值
map.containsKey(k) k in d 包含判断
for (K k : map.keySet()) for k in d: ... 遍历键
for k, v in d.items(): ... 同时遍历键和值(Python独有)

集合/Set

Java Python 说明
Set<Integer> set = new HashSet<>(); s = set() 集合
set.add(e) s.add(e) 添加
set.contains(e) e in s 包含判断
a | b 并集
a & b 交集
a - b 差集

📋 函数与类对照

函数定义

Java Python 说明
public int add(int a, int b) { return a+b; } def add(a, b): return a+b 无需类型声明
public void func() { } def func(): pass 空函数用pass
int... args *args 可变参数

类定义

Java Python 说明
class User { } class User: 类定义
public User() { } def __init__(self): 构造器
this.name = name; self.name = name 实例属性
private String name; self._name(约定) 私有(约定)
public void method() { } def method(self): ... 方法
extends Parent class Child(Parent): 继承
@Override 直接重写 方法重写
super.method() super().method() 调用父类

其他

Java Python 说明
Runnable r = () -> { ... } lambda: ... Lambda表达式
interface I { } ABC(抽象基类) 接口/抽象类
@Deprecated @deprecate 装饰器

📋 异常与IO对照

异常处理

Java Python 说明
try { } catch (E e) { } try: ... except E as e: ... 异常捕获
finally { } finally: ... finally块
不存在 try: ... except: ... else: ... else块(Python独有)
throw new E(); raise E() 抛出异常

文件操作

Java Python 说明
Files.readString(path) with open(path, 'r') as f: content = f.read() 读文件
Files.writeString(path, s) with open(path, 'w') as f: f.write(s) 写文件
不存在 with open(...) as f: ... 自动关闭(with语句)

🎯 Python独有特性速查

这些是Java没有,但Python经常用的特性。

基础特性

特性 语法 说明
列表推导式 [x*2 for x in range(10)] 一行生成列表
元组和解包 x, y = point 函数返回多个值
切片 s[start:end:step] 字符串/列表切片
with语句 with open(...) as f: ... 自动管理资源
f-string f"{name} is {age}" 格式化字符串
链式比较 0 < x < 10 连续比较

高级特性

特性 语法 说明
装饰器 @decorator def func(): ... 函数增强
生成器 def gen(): yield x 懒求值迭代
enumerate for i, v in enumerate(list): ... 同时获取索引和值
zip for a,b in zip(list1, list2): ... 同时遍历多个列表
字典推导式 {k:v for k,v in d.items() if v>0} 一行生成字典
set推导式 {x for x in list if x%2==0} 一行生成集合
any/all any(x>0 for x in list) 是否存在/全部满足
列表解包 a, *rest = list 解包列表
字典合并 {**d1, **d2} 合并字典

💡 使用建议

快速查找技巧

  1. 按需查阅: 不要试图一次记住所有内容,按需查看相关对照
  2. 重点突破: 先掌握最常用的5个特性,再逐步扩展
  3. 实战练习: 对照着代码练习,比单纯记忆有效

Java开发者常见误区

误区 正确理解
Python变量不需要类型 → 可以随便改类型 错! 虽然动态,但建议保持类型一致性
Python没有私有 → 所有都能访问 错!_name__name的约定
Python没有常量 → 无法定义常量 错! 用全大写变量名约定常量
Python没有重载 → 不能同名函数 错! 用默认参数或类型检查模拟

🚀 进阶推荐

掌握基础后,建议学习:

  • 装饰器深入: 类装饰器、带参数装饰器
  • 生成器深入: yield from、send/throw方法
  • 上下文管理器: @contextmanager装饰器
  • 元类: 控制类的创建过程
  • 异步编程: async/await语法

Happy Coding! 🎉


文档版本:v1.0 最后更新:2026-02-03 作者:Jiavis