C++与java编程区别(一)
转载自http://blog.sina.com.cn/s/blog_75f4e17c0101295o.html
C++ HelloWorld
main.cpp
#include< iostream>
using namespace std;
class HelloWorld
{
public:
void say()
{
cout<< "HelloWorld"<<endl;
}
};
class HelloWorld_other
{
public:
void say()
{
cout <<"HelloWorld_ other "<<endl;
}
};
void main()
{
HelloWorld hw;
hw.say();
cout<< "HelloWorld_other"<<endl;
}
Java HelloWord
HelloWorld.java
public class HelloWorld
{
float m_fNum = 0; //可以直接在类中声名并初始化,C++不行
public static void main(String[] args) //java入口函数格式,args这个名可以随意取
{
System.out.println("Hello Word");
Test otest = new Test();
}
}
class Test {}
区别:
1. Java类前有了标识符
2. main函数移到了类中,C/C++中main为主函数不在任何类中
3. Java类名必需与文件名一致,C++无此要求,文件名可以与类名不同。(Java有多个类的时候,public类的类名与原文件名一致,或者说public类的类名就是源文件名)
4. Java一个源文件中只能有一个public类,其它控制权限的类可以有多个,C++中类没有权限控制,只有方法和属性权限。
5. Java类之间不用”;”号分开,而C++类之间必需要用 “;”号隔开。
Java类之间的使用不用遵循先声明再使用的规则,而C++必需先声名才可以使用。class Test {}这个类可以在HelloWorld类前也可以在后并不影响使用。原因:Java会把一个源文件的多个类都分别生成.class文件(HelloWorld.class与Test.class),调用时候直接去找相应的.class进行装配。而C++直接生成.obj文件,所有的类都在一个文件里。
6. Java的标识符由字母,数字,下划线,$组成,可以以字母,下划线,$开头,而C++ 字母,数字,下划线组成,以字母,下划线开头。
7. Java中的常量标识符为final,C++中为const。
8. Java类外(与类对应的大括号外面)不能有变量的声明,而C++可以,做为C++的全局变量。这也体现了Java是纯面向对向的语言。
9. 数据类型角度讲,Java所有数值类型都是带符号的,C++可以有无符号类型数据
10. Java的boolean类型不可以转换为其他的数据类型,其它数据类型也不能转换成boolean。(Java中boolean类型只有两个值true false)。
- Java类中声明一个变量时可以直接初始化(如果不初始化会自动初始化为0或false,但函数内部定义的局部变量不会自动给初始化的),而C++不行。
- Java语言中除了基本类型之外的变量类型都称之为引用类型,C++中引用是型由&标出