一、注释
1、 /* 多行注释 */
2、// 单行注释
二、数据类型
1、基本数据类型 :
字节型(byte 1字节)、短整型(short 2字节)、整型(int 4 字节)、长整型(long 8 字节)、
字符型(char 2 字节)、浮点型(float 4 字节)、双精度型(double 8字节)、布尔型(boolean 1字节)
注意:与 c++ 不同的是 java 中 long 为8字节,char 为2字节
2、数组
java 中得数组工作原理与 c++ 不同,java中数组定义格式为
int varname[];
如上定义的数组还是空的,必须通过 new 关键字初始化, 或直接赋值。
int varname[] = new int[10];
int varname1[] = {1, 2, 3, 4 };
多维数组
int varname[][] = new int[4][5];
三、运算
1、java 中得运算符和 c++ 差不多,除了以下几个:
1.1 模运算
模运算符: % 在java 中 模运算可以是整数也可以是浮点数,不像c++只可以是整数。
int x = 42;
double y = 42.25;
System.out.println("x mod 10 = " + x % 10);
System.out.println("y mod 10 = " + y % 10); //java 中浮点数也是合法的。
在 java 中有 逻辑与( & )、逻辑或( | )、短路与 ( && )、短路或 ( || )。
在c++中得逻辑与就相当于 java 中得 短路与,特点为当 运算的第一个值为 false 时就不会运算第二个值了,直接返回false,只有当第一个值为true才会运算第二个值。
而java中得逻辑与(&)不管怎么样都会将两个值都运算了再返回运算结果。
四、控制语句
1、条件语句
java 与c++一样也有 if 语句、switch 语句 用法一样。
2、循环语句
java 与 c++ 一样有 while、do while、for 三种循环语句,且用法一样。
3、跳转语句
java 与 c++ 一样有 break、continue、return 用法也一样。
五、类
1、定义格式
public/private/protected class className [ extends parentClass ]
{
[static] public/private/protected type varname;
[static] public/private/protected retype funcname ()
{
}
}
在java中类成员的访问限制为 public
2、抽象类
抽象类像c++中一样,只是定义接口的形式,由继承的子类实现。并且抽象类不可实例化。
abstract class className
{
abstract rettype funcname();
}
六、包和接口
1、在文件开头 用 package level1.level2.packageName; 定义文件所属的包。包用 “ . ” 分层。
2、导入包在文件头用 import packageName;
3、接口定义( 接口用于抽象一个类的接口)
access interface name{ // access 要么为 public 要么为空
接口函数定义;
}
4、接口继承
access class className implements interface [, interface … ] { // access 要么为 public 要么为空
//class-body
}
七、异常
1、捕获异常
try{
//block of code to monitor for errors
}catch( ExceptionType1 exOb ){
//exception handler
}catch( ExceptionType2 exOb){
//exception handler
}finally{
// block of code to be excited before try block end.
// 不管有没有异常发生都始终会最终执行
}
2、释放异常
2.1、throw ExceptionType;
2.2、如果一个方法会导致一个异常但是自己不会处理,则需要在声明方法的时候指定这个异常
type method-name( paramter-list ) throws exception-list
{
//body of method
}
3、自定义异常类,只要自己定义一个类 继承自 Exception 即可,(Exception 也是继承自 Throwable )
八、特殊
1、final
变量可以声明为 final 这样就可以阻止变量被修改,相当于c++中得const
类也可以声明为 final 表示类不可被继承了。
九、多线程
1、创建线程
1.1 方法一(实现 Runnable 接口)
class MyThread implements Runnable{
Thread t;
MyThread()
{
t = new Thread(this, "Demo Thread");
System.out.println("Child thread:" + t);
t.start();
}
public void run() {
// TODO Auto-generated method stub
}
}
1.2 方法二 (继承 Thread )
class MyThread extends Thread{
MyThread(){
super("Demo Thread");
start(); //开始线程
}
public void run(){
// TODO Auto-generated method stub
}
}
2、线程同步( java 中线程同步通过管程 也叫信号量 )
2.1 同步方法一,使用同步方法
synchronized rettype methodname (paramter-list){
//method body
}
通过同步方法可以使调用这个对象的这个方法时会互斥,当一个线程在调用时,其它线程必须等待他结束才能调用。
2.2 同步方法二,同步语句
synchronized(obj){
// 同步语句
}
通过同步语句可以保护 obj 对象的方法调用是互斥的。