c++与java的一些不同点

2018-07-16 02:38:49来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

   Java、C、C++在近两年一直稳居世界编程语言排行榜前三名。Java与c++都是面向对象的语言,但Java晚于C++发布,部分语法和思想也参考了C++,只是Java 没有头文件、指针、运算符重载、虚基类等等,算是c++语言的“纯净版”。学过c++的同学入门Java相对来说就不算很难了,应当注意的是Java与c++有很多不同点。

1.头文件与命名空间

  c++里可以用头文件,而Java里没有头文件的用法。

  Java里有package关键字的用法。当一个大型程序交由数个不同的程序人员开发时,很有可能用到相同的类名,所以在java程序开发中为了避免这个问题,提供了一个包的概念,只需要在写的程序第一行使用package关键字来声明一个包。在我的理解里,包就类似于文件夹,它将源代码文件(.java)、编译后的文件(.class)和其他的一些用到的文件有组织的放在一起,这样一个大型程序就算是有相同类名,这些相同名字的类在不同包内就不用担心会出问题。

  在c++里有一个经典的命名:using namespace std;这行代码使得我们在使用cin、cout、endl……时不用加std::的前缀。而在Java里有import关键字的用法,它同样能让我们在编写程序时省下写前缀的力气。import与#include有点相似但却不一样,编译器会在import导入的包里选择与类名对应的包,而#include则是编译器将其他文件的内容载入进来。Java里有一个java.lang包,里面的类经常用到,几乎没有类不用它的, 所以不管有没有写 import java.lang,编译器都会自动补上。

2.代码格式

c++格式如下:

1 #include<iostream>         //头文件,必写
2 2 using namespace std;     //命名,为了省事
3 3 int main()
4 4 {
5 5     cout << "Hello World!" << endl;
6 6     return 0;
7 7 }

 

Java格式如下:

1 package java.xingchen;          //说明在java.xingchen这个包内
2 import java.lang;               //可不写,编译器自动加
3 class xingchen {
4     public static void main(String[] args) {
5         System.out.println("Hello World!");
6     }
7 }

3.输入输出

c++的输入输出靠输入流cin,输出流cout、cerr、clog实现,需要写#include<iostream>。Java语言里没有像c++那样简便的一个函数完成输入,它的输入比较复杂。

1 import java.util.Scanner;
2 Scanner sc = new Scanner(System.in);
3 String a = sc.next();   //等同于String a = sc.nextLine(); 
4 int b = sc.nextInt();
5 float c = sc.nextFloat();
6 double d = sc.nextDouble();
7 boolean e = sc.nextBoolean();

其实还有其他输入的方法,但是这种比较常用。Scanner类中没有nextChar方法,不能直接通过Scanner类从控制台读取char类型的变量,不能这样写

1 import java.util.Scanner;
2 Scanner sc = new Scanner(System.in);
3 char a = sc.nextChar();             //这种方法是错的,Scanner类中没有nextChar方法

Java的输出语句用法很简单:System.out.println();例如:

1 int age = 18;
2 String name = "张三";
3 System.out.println(age + "岁的" + name);//输出结果为:18岁的张三

4.数组

c++中定义数组格式是:数据类型  数组名[数组长度];

数组静态初始化格式:数据类型  数组名[] = {元素1,2,...};

Java中定义数组格式是:数据类型[]  数组名 = new 数据类型[数组长度];

数组静态初始化格式:数据类型[] 数组名 = new 数据类型[]{元素1,2,...};

1 int[] a = new int[5];   //Java定义数组
2 double[] b = new double[]{0.1 2.3 4.5 6.7 8.9};
3 //可简写为double[] b = {0.1 2.3 4.5 6.7 8.9};

目前学到这,未完待续(?′?`?)...

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:过滤器模式(Filter Pattern)

下一篇:Java基础五