JAVA和C/C++的区别

最近在学校Java语言,发现和C++还是很多相似的,所以在学习中,整理了一些,以后会继续更新补充,适合初学者,很多不对的地方,感谢大家指出,谢谢了。

1、Java中有byte整型类型,代表8个字节,c/c++中最小是char表示16位。

2、在默认情况下小数都被看做double型,在声明float时也必须在小数后面添加F或f,不然如float a = 1.9还是会被看做double型。必须加F/f。

3、Java中的字符char型是16位。

4、布尔类型是boolean,不同于C/C++的bool关键字。

5、Java声明常量是关键字final,不同于C/C++的const。

6、str.trim()方法返回字符串的副本,忽略前导空格和尾部空格。不错

7、Java中的对字符串分割用split,C/C++中用strtok,但是Java中多了个split(Stringstr,int limit),可以用limit限制分割的次数。

8、Java中的日期时间格式化功能很强大,直接用Date date = newDate();生成的变量包含了当前的时间所有信息,无需像C/C++一样进行转换。

9、Java中有可变字符串类,StringBuilde类生成的字符串 ,当对其修改时所花费的时间远远小与普通的String类,当需要对字符串频繁修改时,应该使用该类。

10、在静态方法中不可以使用this关键字,C/C++也是。在静态方法中不可以直接调用非静态方法。

11、Java中所有的成员方法都定义在类内部,不同于C/C++。

12、==符号比较的是两个对象引用的地址是否相等,equals()方法比较的是两个对象引用所指的对象是否相等。

13、Java中的包装类可以把基本类型包装成类,定义了很多实用的成员方法。

Integer、Boolean.etc.

14、Java中类的继承使用关键字extends, c++中使用:

All inheritance in Java is public inheritance,there isno analog to the C++ features of private and protected inheritance.

15、Java不支持多继承,一个子类只能继承一个父类。

16、Java的使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。不同于C++中的begin(),end()迭代器。

可以用hasNext()判断容器是否结束。

17、Java中没有运算符重载。

18、Java中有大数类,可以表示任意的长度BigInteger 比C++方便。

19、Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。Ragged array。

20、养成使用try{},catch(Exceptione ){ e.printStackTrace()}的习惯,当程序出现bug时可以快速知道何处出现错误。so as c++。

21、super 关键字用在当子类重载父类的方法时,用于明确告诉编译器此处调用superclass的method,而不是调用自身的方法。在C++中相似的是作用域运算符::

22、Java中不需要手动声明一个方法时虚函数,动态绑定也是自动的,C++手动,这点很高级。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章