Java语言是纯面向对象语言,有很高的可移植性,具有动态多线程。
基础输出:
Java 的基础输入输出(Application)↓:
一切从输入输出开始.
Applet程序的输出方式相对麻烦,而且没太大意义,这里直接略过,不多解释.
Java语言基础 (从C++到Java):
在Java中,对比C++需要区别的地方有:
- 常量保留字:final
- 布尔类型:boolean ;条件判断时int类型不能直接转换为boolean类型;
- 跳转:break,continue;可以直接跳转到指定位置 :
p:for(int i=0;i<100;++i){ for(int j=i;j<200;j+=i){ if(j+i>=250){ break p; } } }
- 二维数组:对于二维数组,当只定义一位数组时,另一维的维数可以不一样,也就是说不一定是规则的矩形形式。
- main 函数是特殊的静态方法.
- Java 中的静态代码块:
-
class myclass{ static double pi; static{ pi=3.1415926535897932; system.out.println("已初始化:Pi="+pi); } public static void main(){} }
- 引用:
A a=new a(); //a 为一个A对象的引用.
A b=a; // b和a一样,为同一个对象的引用.
参数传递时,传递基本数据类型为传递形参,传递对象为传递引用,即可以理解为传递实参. 如果要传递基本数据类型为实参,可以自定义包装类,或者传递数组.
面向对象部分:
对象的创建:
c++中,用一个类来直接新建变量时,新建的就是一个对象实体,此时便会调用构造函数,比如:
#include<bits/stdc++.h>
class myclass(){
int a;
myclass(){
puts("created\n");
}
};
int main(){
myclass a;//此时已经新建了一个对象,并调用了构造函数。
}
而在Java中,以上述方式声明对象,是声明的对象的应用,并不会新建一个Java类的对象。而要新建对象,要使用new关键词。例如:
class myclass{
int a;
public myclass(){
System.out.println("Created!");
}
};
public class Main{
static public void main(){
myclass a=new myclass();//此时创建了一个新的myclass对象。
myclass b=a;//构造函数不会调用,并且b===a;
}
};
对象的析构
在c++中,要析构一个对象,需要使用delete关键字。
在Java中有自动垃圾回收机制,或者使用finalize方法进行析构。