优势:
有c的基础再学java,java的基本的语法部分基本可以跳过,直接进入面向对象的学习。
c语言学的好的话,对os,computer arch,compiler都会有些研究。对整个计算机基础知识的理解都会有很大帮助。对日后能系统性的解决问题也有很大帮助。其实,这也跟c和java本身适合的场景不同有关系。我用c主要是直接操作硬件或者是os,所以也必须要去理解arch,os, networki的东西。但是java就很少能碰到这些需求。
c对于初学者来说,学习曲线还是很陡峭的。刚入坑的小伙伴理解指针就要花好久时间。我自己也是写了个内存管理器之后才对指针比较有把握。
Java 面向对象的语言,你可以一开始写代码的时候就培养software engineering的思想。相比之下,写c的话,这方面可能更需要自己觉悟或者有人带领了。
Java 相对来说完成一个小问题会更轻松些,只是不会大把时间花在内存泄漏的调试上。
劣势:
所以吧,先学c的优势要你学的时间比较长而且学的很深入才能体现出来。你可看看现在自己的状态,能不能支付的起这个时间成本。要不然还是先解决手中的问题是王道。没学c拉下东西以后再补呗(虽然也不一定有机会)。