返回博客列表
技术分享
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 + t 或 f"{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} |
合并字典 |
💡 使用建议
快速查找技巧
- 按需查阅: 不要试图一次记住所有内容,按需查看相关对照
- 重点突破: 先掌握最常用的5个特性,再逐步扩展
- 实战练习: 对照着代码练习,比单纯记忆有效
Java开发者常见误区
| 误区 | 正确理解 |
|---|---|
| Python变量不需要类型 → 可以随便改类型 | 错! 虽然动态,但建议保持类型一致性 |
| Python没有私有 → 所有都能访问 | 错! 有_name和__name的约定 |
| Python没有常量 → 无法定义常量 | 错! 用全大写变量名约定常量 |
| Python没有重载 → 不能同名函数 | 错! 用默认参数或类型检查模拟 |
🚀 进阶推荐
掌握基础后,建议学习:
- 装饰器深入: 类装饰器、带参数装饰器
- 生成器深入: yield from、send/throw方法
- 上下文管理器: @contextmanager装饰器
- 元类: 控制类的创建过程
- 异步编程: async/await语法
Happy Coding! 🎉
文档版本:v1.0 最后更新:2026-02-03 作者:Jiavis