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++ 那样简便的一个函数完成输入, 它的输入比较复杂.
- import java.util.Scanner;
- Scanner sc = new Scanner(System.in);
- String a = sc.nextLine();
- int b = sc.nextInt();
- float c = sc.nextFloat();
- double d = sc.nextDouble();
Scanner 类中没有 nextChar 方法, 不能直接通过 Scanner 类从控制台读取 char 类型的变量, 不能这样写
- import java.util.Scanner;
- Scanner sc = new Scanner(System.in);
- char a = sc.nextChar(); // 这种方法是错的, Scanner 类中没有 nextChar 方法
Java 的输出语句用法很简单: System.out.println(); 例如:
- int age = 18;
- String name = "张三";
- System.out.println(age + "岁的" + name);// 输出结果为: 18 岁的张三
3. 数组
c++ 中定义数组格式是: 数据类型 数组名[数组长度];
数组静态初始化格式: 数据类型 数组名[] = {元素 1,2,...};
Java 中定义数组格式是: 数据类型[] 数组名 = new 数据类型[数组长度];
数组静态初始化格式: 数据类型[] 数组名 = new 数据类型[]{元素 1,2,...};
- int[] a = new int[5]; //Java 定义数组
- 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};
目前学到这, 未完待续(??`?)...
来源: http://www.bubuko.com/infodetail-2683661.html