四种编程语言常用函数对比表

四种编程语言常用函数对比表

基础输入输出函数

功能 Java Python C# C++
控制台输出 System.out.println() print() Console.WriteLine() cout <<
控制台输入 Scanner.nextLine() input() Console.ReadLine() cin >>
格式化输出 String.format() f-string String.Format() printf()

代码示例:

java 复制代码
// Java
System.out.println("Hello");
String input = scanner.nextLine();
String formatted = String.format("Value: %d", 10);
python 复制代码
# Python
print("Hello")
input_str = input("Enter: ")
formatted = f"Value: {10}"
csharp 复制代码
// C#
Console.WriteLine("Hello");
string input = Console.ReadLine();
string formatted = String.Format("Value: {0}", 10);
cpp 复制代码
// C++
cout << "Hello" << endl;
string input;
cin >> input;
printf("Value: %d\n", 10);

字符串操作函数

功能 Java Python C# C++
字符串长度 str.length() len(str) str.Length str.length()
拼接 str1 + str2 str1 + str2 String.Concat() str1 + str2
子字符串 str.substring() str[start:end] str.Substring() str.substr()
查找 str.indexOf() str.find() str.IndexOf() str.find()
分割 str.split() str.split() str.Split() 需要手动处理
大小写转换 str.toUpperCase() str.upper() str.ToUpper() 需要手动处理

代码示例:

java 复制代码
// Java
String str = "Hello";
int len = str.length();
String sub = str.substring(1, 3);
int pos = str.indexOf("e");
python 复制代码
# Python
str = "Hello"
len_str = len(str)
sub = str[1:3]
pos = str.find("e")
csharp 复制代码
// C#
string str = "Hello";
int len = str.Length;
string sub = str.Substring(1, 2);
int pos = str.IndexOf("e");
cpp 复制代码
// C++
string str = "Hello";
size_t len = str.length();
string sub = str.substr(1, 2);
size_t pos = str.find("e");

数组/集合操作

功能 Java Python C# C++
创建数组 new int[5] [1,2,3] new int[5] int arr[5]
列表长度 list.size() len(list) list.Count vector.size()
添加元素 list.add() list.append() list.Add() vector.push_back()
排序 Collections.sort() list.sort() List.Sort() sort()
查找 list.contains() element in list list.Contains() find()

代码示例:

java 复制代码
// Java
List<Integer> list = new ArrayList<>();
list.add(1);
int size = list.size();
Collections.sort(list);
python 复制代码
# Python
list = [1, 2, 3]
list.append(4)
size = len(list)
list.sort()
csharp 复制代码
// C#
List<int> list = new List<int>();
list.Add(1);
int size = list.Count;
list.Sort();
cpp 复制代码
// C++
vector<int> vec;
vec.push_back(1);
size_t size = vec.size();
sort(vec.begin(), vec.end());

数学函数

功能 Java Python C# C++
绝对值 Math.abs() abs() Math.Abs() abs()
平方根 Math.sqrt() math.sqrt() Math.Sqrt() sqrt()
幂运算 Math.pow() pow() Math.Pow() pow()
四舍五入 Math.round() round() Math.Round() round()
最大值 Math.max() max() Math.Max() max()
随机数 Math.random() random.random() Random.Next() rand()

代码示例:

java 复制代码
// Java
double abs = Math.abs(-5.5);
double sqrt = Math.sqrt(16);
double power = Math.pow(2, 3);
python 复制代码
# Python
import math
abs_val = abs(-5.5)
sqrt_val = math.sqrt(16)
power_val = pow(2, 3)
csharp 复制代码
// C#
double abs = Math.Abs(-5.5);
double sqrt = Math.Sqrt(16);
double power = Math.Pow(2, 3);
cpp 复制代码
// C++
#include <cmath>
double abs_val = abs(-5.5);
double sqrt_val = sqrt(16);
double power_val = pow(2, 3);

文件操作函数

功能 Java Python C# C++
读取文件 Files.readAllLines() open().read() File.ReadAllText() ifstream
写入文件 Files.write() open().write() File.WriteAllText() ofstream
检查存在 Files.exists() os.path.exists() File.Exists() filesystem::exists()
删除文件 Files.delete() os.remove() File.Delete() remove()

代码示例:

java 复制代码
// Java
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
Files.write(Paths.get("output.txt"), lines);
python 复制代码
# Python
with open("file.txt", "r") as f:
    content = f.read()
with open("output.txt", "w") as f:
    f.write("Hello")
csharp 复制代码
// C#
string content = File.ReadAllText("file.txt");
File.WriteAllText("output.txt", "Hello");
cpp 复制代码
// C++
ifstream input("file.txt");
string line;
getline(input, line);
ofstream output("output.txt");
output << "Hello" << endl;

日期时间函数

功能 Java Python C# C++
当前时间 LocalDateTime.now() datetime.now() DateTime.Now chrono::system_clock
格式化日期 DateTimeFormatter strftime() ToString() strftime()
时间差 Duration.between() timedelta TimeSpan chrono::duration

代码示例:

java 复制代码
// Java
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formatted = now.format(formatter);
python 复制代码
# Python
from datetime import datetime
now = datetime.now()
formatted = now.strftime("%Y-%m-%d")
csharp 复制代码
// C#
DateTime now = DateTime.Now;
string formatted = now.ToString("yyyy-MM-dd");
TimeSpan diff = end - start;
cpp 复制代码
// C++
#include <chrono>
auto now = chrono::system_clock::now();
time_t time = chrono::system_clock::to_time_t(now);

异常处理

功能 Java Python C# C++
抛出异常 throw new Exception() raise Exception() throw new Exception() throw exception()
捕获异常 try-catch try-except try-catch try-catch
最终操作 finally finally finally 无直接对应

代码示例:

java 复制代码
// Java
try {
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Error: " + e.getMessage());
} finally {
    System.out.println("Cleanup");
}
python 复制代码
# Python
try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"Error: {e}")
finally:
    print("Cleanup")
csharp 复制代码
// C#
try {
    int result = 10 / 0;
} catch (DivideByZeroException e) {
    Console.WriteLine($"Error: {e.Message}");
} finally {
    Console.WriteLine("Cleanup");
}
cpp 复制代码
// C++
try {
    int result = 10 / 0;
} catch (const exception& e) {
    cout << "Error: " << e.what() << endl;
}

类型转换函数

功能 Java Python C# C++
字符串转数字 Integer.parseInt() int() int.Parse() stoi()
数字转字符串 String.valueOf() str() ToString() to_string()
类型检查 instanceof isinstance() is typeid()

代码示例:

java 复制代码
// Java
int num = Integer.parseInt("123");
String str = String.valueOf(123);
boolean check = obj instanceof String;
python 复制代码
# Python
num = int("123")
str_val = str(123)
check = isinstance(obj, str)
csharp 复制代码
// C#
int num = int.Parse("123");
string str = 123.ToString();
bool check = obj is string;
cpp 复制代码
// C++
int num = stoi("123");
string str = to_string(123);
bool check = typeid(obj) == typeid(string);

关键差异总结

特性 Java Python C# C++
语法风格 verbose 简洁 类似Java 灵活但复杂
内存管理 自动GC 自动GC 自动GC 手动/RAII
性能 较高 较低 较高 最高
学习曲线 中等 简单 中等 陡峭
主要用途 企业应用 数据科学/Web Windows应用 系统/游戏

这个对比表展示了四种语言在常用功能上的语法差异,帮助开发者在不同语言间切换时快速找到对应的函数和方法。

相关推荐
华仔啊17 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java
敏编程17 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪18 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
不想写代码的星星18 小时前
虚函数表:C++ 多态背后的那个男人
c++
也些宝18 小时前
Java单例模式:饿汉、懒汉、DCL三种实现及最佳实践
java
databook18 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
Nyarlathotep011318 小时前
SpringBoot Starter的用法以及原理
java·spring boot
wuwen518 小时前
WebFlux + Lettuce Reactive 中 SkyWalking 链路上下文丢失的修复实践
java
SimonKing19 小时前
GitHub 10万星的OpenCode,正在悄悄改变我们的工作流
java·后端·程序员