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

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

基础输入输出函数

功能 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应用 系统/游戏

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

相关推荐
装不满的克莱因瓶2 分钟前
Servlet 到 Spring MVC 架构演进:Java Web 开发二十年技术变迁史
java·spring·servlet·架构·springmvc
周末也要写八哥2 分钟前
浅谈:C++中cpp 14 ~ cpp 17
开发语言·c++·算法
不会C语言的男孩5 分钟前
C++ Primer 第13章:拷贝控制
开发语言·c++
z落落9 分钟前
C# 静态成员 vs 非静态成员(调用规则+内存特点)+只读和常量 const常量 / readonly / static readonly 三者终极区别
java·开发语言·c#
zhangfeng113311 分钟前
超算中心 高性能计算 slurm的linux版本 centos7,如何安装docker,如何安装torch2.4
linux·运维·服务器·开发语言·人工智能·机器学习·docker
weixin_4074438712 分钟前
OCR材料信息提取工具(附件中含代码和数据)
人工智能·python·计算机视觉·ocr
c2385613 分钟前
map和set
数据结构·c++
java1234_小锋15 分钟前
LangChain4j 开发Java Agent智能体- 整合SpringBoot4
java·开发语言·langchain4j
码农阿强17 分钟前
PixVerse 全系列视频生成模型技术架构详解 + Python 基于 StartAPI.top 接口实战调用
python·ai·架构·音视频·ai编程
basketball61618 分钟前
C++进阶:3. unique_ptr 现代C++内存管理的基石
java·jvm·c++