从C语言进阶到Java:大一萌新速成指南
从C语言进阶到Java:大一萌新速成指南
|
对比维度 |
C语言(面向过程) |
Java(面向对象) |
|
程序结构 |
基于函数,从main函数顺序执行 |
基于类(class),所有代码必须在类中 |
|
内存管理 |
手动分配(malloc)、释放(free),易出错 |
自动垃圾回收(GC),无需手动管内存 |
|
核心思维 |
关注“怎么做”(步骤拆解) |
关注“是什么”(对象与功能封装) |
|
跨平台性 |
需重新编译运行 |
一次编写,到处运行(JVM适配) |
C语言
|
C |
Java语言
|
Java |
- C:int age = 20; float score = 95.5; char gender = 'M';
- Java:int age = 20; double score = 95.5; char gender = 'M';
通用:类型定义逻辑一致;Java新增String字符串(如String name = "小明";),无需用字符数组。
- C:for(int i=0; i<10; i++) if(a > b)
- Java:for(int i=0; i<10; i++) if(a > b)
完全通用 循环、if/else、switch语句写法一致,直接复用C语言的逻辑思维。
- C:int add(int a, int b) { return a + b; }
- Java:public static int add(int a, int b) { return a + b; }
逻辑不变,仅在方法前增加public static(Java类中静态方法格式)。
- 面向对象(OOP):Java的核心,需掌握类、对象、封装、继承、多态。
- 类比:C的结构体(struct)升级,既能存数据,又能绑功能。
- 示例:定义Student类,包含name属性和study()方法,再创建对象调用功能。
- 输入输出(IO)
- C:scanf输入、printf输出
- Java:用Scanner类输入(Scanner sc = new Scanner(System.in); int num = sc.nextInt();),System.out.println输出
- 异常处理:C语言靠返回值判断错误,Java用try-catch捕获异常(如输入非数字时防止程序崩溃)。

浙公网安备 33010602011771号