当前位置: 首页 > ops >正文

C/C++、Python和Java语言的比较

假期学习心得

假期我对Python和Java有个基础的学习,于是写出这篇博客对C/C++、Python和Java相似点和不同点做一个简单总结。

相似点

C/C++、Java 和 Python 在基本语法上有许多相似之处,因为我有一定的 C/C++ 基础,所以在学习 Python 和 Java 的语法时会比较容易理解。

1、基本数据类型与运算的相似

三者均包含 int、float、bool 等基本数据类型,以及字符串、数组等复合类型;
算术运算(+、-、*、/)、逻辑运算(&&或and、||或or)的语义也基本一致。

2、基本程序结构一致

三者都遵循顺序结构、分支结构(if-else / switch)、循环结构(for / while / do-while)的基本控制流程,变量定义、函数(方法)封装的逻辑也很相似,语法逻辑框架高度统一。

3、都支持面向对象编程

都能通过类(class)实现封装、继承、多态等面向对象特性(C++ 部分支持,Python 为动态面向对象),允许将数据和操作封装为对象,提高代码的复用性。

4、函数(方法)的使用

都通过函数(或方法)实现代码块的复用,支持参数传递、返回值、作用域等概念,函数调用的基本逻辑相同。

不同点

1、变量处理的不同

(1)C/C++/Java:属于静态类型语言,变量必须先声明类型(譬如 int a; String s;),类型在编译时确定。
(2)Python:属于动态类型语言,变量无需声明类型(譬如 a = 1; s = “hello”),类型在运行时动态确定,代码会简洁。

2、执行方式与效率的不同

(1)C/C++:直接编译为机器码,运行时不依赖额外环境,执行效率最高,适合对性能要求极高的场景。
(2)Java:先编译为字节码(.class 文件),再通过 JVM(Java 虚拟机)解释执行,效率低于 C/C++ 但高于 Python,且依托 JVM 实现跨平台。
(3)Python:解释型语言,代码逐行被解释器翻译为机器码执行,无需编译步骤,执行效率远低于前两者,但开发效率高。

3、语法风格的不同

(1)C/C++/Java:语法严格,必须用 ; 作为语句结尾,用 {} 划分代码块,结构严谨(譬如 Java 强制要求 public static void main 作为程序入口)。
(2)Python:依赖缩进划分代码块,省略 ; 和 {} ,语法极简(如一行代码可实现列表推导、排序等功能),更注重 “可读性” 和 “简洁性”。
示例(打印 1-5 的数字)

4、指针与底层控制的不同

(1)C/C++:支持直接操作指针,可直接访问内存地址,但风险较高(越界访问)。
(2)Java:屏蔽了直接指针操作,仅通过 “引用” 访问对象,安全性更高,但失去了对内存的直接控制能力。
(3)Python:完全隐藏了指针概念,开发者无法直接操作内存,抽象层次更高,专注于业务逻辑而非底层细节。

本片博客是我第一次使用markdown语法进行写作,如有页面排版或者其他地方有什么欠缺欢迎大家向我指出来。
今天的分享就到这里啦~

http://www.xdnf.cn/news/19489.html

相关文章:

  • 【职业】算法与数据结构专题
  • 15693协议ICODE SLI 系列标签应用场景说明及读、写、密钥认证操作Qt c++源码,支持统信、麒麟等国产Linux系统
  • 浪潮科技Java开发面试题及参考答案(120道题-上)
  • 利用本地电脑上的MobaXterm连接虚拟机上的Ubuntu
  • 基于SpringBoot音乐翻唱平台
  • Linux Shell 脚本中括号类型及用途
  • three.js+WebGL踩坑经验合集(10.2):镜像问题又一坑——THREE.InstancedMesh的正反面向光问题
  • UART-TCP双向桥接服务
  • 【51单片机三路抢答器定时器1工作1外部中断1】2022-11-24
  • 参数检验vs非参数检验
  • docker 网络配置
  • 【高级】系统架构师 | 2025年上半年综合真题
  • 硬件开发_基于Zigee组网的果园养殖监控系统
  • 56_基于深度学习的X光安检危险物品检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • aws上创建jenkins
  • 力扣 23 912题(堆)
  • JAVA 面试宝典02
  • 工业飞拍技术:高速生产线的 “动态抓拍神器”,到底牛在哪?
  • 20250829的学习笔记
  • 基于GCN图神经网络的光伏功率预测Matlab代码
  • Spark实现推荐系统中的相似度算法
  • Proteus 仿真 + STM32CubeMX 协同开发全教程:从配置到仿真一步到位
  • 盟接之桥说制造:守正出奇:在能力圈内稳健前行,以需求导向赢得市场
  • 基于51单片机220V交流电流检测系统过流阈值报警设计
  • 增强现实—Gated-attention architectures for task-oriented language grounding
  • 从零开始的python学习(九)P134+P135+P136+P137+P138+P139+P140
  • 【LeetCode热题100道笔记+动画】颜色分类
  • 【面试场景题】如何快速判断几十亿个数中是否存在某个数
  • python-pptx 库(最常用,适合生成/修改 PPT 文件)
  • 深入解析quiche开源项目:从QUIC协议到云原生实践