2026-05-21 C与Java的六个关键差异

背景

诊断为C语言知识污染了Java理解。开设C/Java差异专项课。

六个关键差异

  1. switch:C只能int → Java支持String/enum/包装类/byte/short/char
  2. 参数传递:C有指针 → Java全值传递。改对象内部(arr[0]=999)外面看得见,改引用本身(arr=new int[10])外面看不见
  3. 数组声明:int arr[] → Java推荐 int[] arr
  4. String:C的char[]可变 → Java String不可变(Immutable),字符串常量池(String Pool)自动去重
  5. for循环:C只有传统for → Java多了for-each,无索引只读遍历
  6. 布尔:C非零即真 → Java的if()只接受boolean表达式

额外收获

读代码要顺着时间线,不能当一幅画看。同一变量在不同时刻可以有不同值。


2026-05-21 C与Java的六个关键差异
http://example.com/2026/05/21/2026-05-21 C与Java的六个关键差异/
作者
北街
发布于
2026年5月21日
许可协议