Ⅰ java/c跟c++可以同时学吗
当然可以,但是不建议。
第一,C/C++和JAVA的语法的相似度很高,但是他们的运行机制是完全不一样的。初学者很容易混淆。比如C/C++里面有指针的概念,而且指针在不用的时候需要通过free或者delete来收回。但是Java有垃圾回收机制,而不必手动回收指针。(初学者很有可能受到JAVA的影响,在C/C++里面申请了指针,而最后忘记回收)。
第二,C++和JAVA是面向对象的编程语言,而C是面向过程的。此二者之间的差异也会让同时学习这三种语言的初学者感到迷茫。
第三,JAVA和C++已经封装了好多基本数据结构(链表,栈,映射等)和基本算法(排序等),而C只提供了最底层的功能。如果同时学习三者,在你需要用C语言写程序而又需要用到一些数据结构和算法的时候会感到不适应。
所以我的建议是,先学习和掌握C语言,再同时学习C++和JAVA。
Ⅱ java 和javac的区别
javac和java命令行中的-classpath选项
这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点。
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。
所以一个完整的javac命令行应该是这样的,
假设abc.java在路径c:\src里面,在任何的目录的都可以执行以下命令来编译。
javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java
表示编译需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件
还需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,
注意:jar,zip里面的源文件不会有什么改动,目录下的源文件,有可能会被重新编译。
java
-classpath, 设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。
由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。
表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。
假设abc.class在路径c:\src里面
可以在任何路径下执行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc
问题:如果main.class属于c:\jar\abc.jar,并且在com.cnblogs.jeffchen这个包里,那么执行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多个jar包呢?并且其他jar包中也有com.cnblogs.jeffchen会发生什么情况?错误?
在windows下,
文件路径的分割符为反斜杠 \
类或者java文件列表的分割符为分号 ;
在linux下
文件路径的分隔符位斜杠 /
类或者java文件列表的分隔符为冒号 :
一个linux下编译和运行的例子
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java
/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability
Ⅲ java 和javac的区别
javac是把你写的java代码编译成计算机能识别的内部代码。
java是执行这段内部代码。
Ⅳ Java和C语言有什么区别
从概念上看,C语言是一门面向过程、抽象化的通用程序设计语言;Java是一门面向对象编程语言,而Java语言是从C语言衍生而来,它吸收了C++语言的各种优点,并且摒弃了C++里难以理解的多继承、指针等概念。从概念可以看出C语言相当于Java的基础语言,学完C再学Java会更容易。
从应用领域上,C语言和Java的应用领域几乎没有重合。因为随着这几年Java、web、PHP等语言的出现,它们凭借比C更简洁的、更安全的性能快速崛起,抢占了大量的市场。目前因为Java有完善的框架,在多线程、高并发方面有着较好的稳定性,所以Java主要应用于企业级应用开发、大型系统开发等领域。而C语言由于编程的复杂性,退守到了系统级别语言,而且因为想要系统级软件可以发挥出机器的功能,它的底层核心就需要用C/C++来编写,所以C语言主要应用于软件工业。
Ⅳ c语言和java哪个难
肯定是JAVA比较实用啦。。 学JAVA是为了要去开发东西了,比较实用。。而用C来开发是很少的。。而且很难。。 而且C是面向过程的语言。。对现实生活的处理与我们正常处理的思路不是很一致。。所以用来开发东西很难。。而JAVA是面向对象的。。与我们处理生活的思路相同。。开发东西也较好。 这么比喻:学C只是让你知道什么叫编程。。让你大概懂得编程的基本思想。。。 但是从C转到JAVA也不是那么容易的。。最难改变的就是从过程到对象的改变。。而能不能学好JAVA也是看你能不能适应面向对象的开发。。。 但是你如果没有学C。。就一下子学JAVA。。相对来说会比较吃力一点。。 建议你去先学C..第一,C就基础知识来说,比JAVA简单。。学C只要学他个大概。。基本语法了解一下就可以了。。不用学的很精。。 相信我。。先学C也相当于在学JAVA。。绝对不是白学。。因为JAVA和C的语法很相似。。。 最后。。祝你成功咯~~~加油!!
Ⅵ javac与java的区别是什么
javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java
运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。
java 可以运行class字节码文件
如 java HelloWorld
注意java命令后面不要加.class
Ⅶ Java和C的区别
Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。
另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。
再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。
再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。
Ⅷ 问javac java jdk jdbc的区别
javac 是java程序编译器,就是一个普通的可执行文件
java 是一门开发语言。。
JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
JDBC, 全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。
回答完毕,满意请采纳,谢谢。
Ⅸ Java和C++在编译和运行上有什么区别
在语法层面上,C++与Java十分相似,Java语言的设计与C++有着很密切的联系。
但却有着许多的不同,最大的不同,可以说是编译和运行了。
高级语言写出来的代码,最终都会变为机器码,计算机才能识别。
汇编与机器码最接近,C++与Java都会直接或间接编程汇编以后,再运行。
C++经编译器(Unix下CC命令,Windows下CL命令)把源码直接编译成计算机可以认识的机器码,如exe,dll等文件。
Java源文件都需要用javac命令将源码编译为class文件,但是这个class文件无法被计算机直接识别,但可以被JVM即Java虚拟机识别。
运行Java程序时,先启动一个虚拟机,虚拟机加载class文件,方可执行。
这样,同样的代码被编译为同样的class文件,也称作字节码,在不同的平台上,运行同样的字节码,这样,Java跨平台的特性就显示出来了!而C++则办不到。
Ⅹ javac与java的区别
javac用来编译java文件,java用来执行。
1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件。
2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码。