1. 程式人生 > >c++與java的一些不同點

c++與java的一些不同點

編程語言 輸出結果 float 面向對象 完成 可能 lang style 重載

   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++的輸入輸出靠輸入流cin,輸出流cout、cerr、clog實現,需要寫#include<iostream>。Java語言裏沒有像c++那樣簡便的一個函數完成輸入,它的輸入比較復雜。

1 import java.util.Scanner;
2 Scanner sc = new Scanner(System.in);
3 String a = sc.nextLine();
4 int b = sc.nextInt();
5 float c = sc.nextFloat();
6 double d = sc.nextDouble();

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歲的張三

3.數組

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};//可簡寫為double[] b = {0.1 2.3 4.5 6.7 8.9};

目前學到這,未完待續(?′?`?)...

c++與java的一些不同點