c++与java的一些不同点
2018-07-16 02:38:49来源:博客园 阅读 ()
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java基础五
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash