Basics
Gist:
- Java source file -(compile)-> Java byte code –> Java Virtual Machine(JVM)。
- package是Java类的组织方式,用于区别类的命名空间。
- Java程序以
main
方法作为程序入口。 - 关键字
final
定义常量
HelloWorld 程序
//Main.java
public class Main{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
- Console Command
javac Main.java
java Main
选择
- expression?var=a:b
(a < b) ? c = a : b;
- if…else
if (i < 0){
a++;
} else if(i > 5){
a--;
} else {
}
- switch
switch (status) {
case 0 : { }; break;
case 1 : { }; break;
case 2 : { }; break;
default : { };
}
循环
Gist:
- 循环类型包括:while循环、do-while循环、for循环。
break
立即终止包含break的最内层循环。continue
种植当前迭代。
while
int sum=0,i = 1;
while(i<10){
sum = sum+i;
i++;
}
- do-while
int sum = 0,i = 1;
do{
sum = sum + i;
i++;
} while (i<10);
- for
for (int i = 1;i<10 ;i++ ) {
System.out.print(i+" ");
}
数组
Gist
- 声明数组不会分配空间。不同于基本数据类型,数组变量包含的是对数组的引用。
- 数组下标从0开始。试图引用数组界外元素,会发生越界错误。
- Java数组初始化的简介表达:ElementType[] arrayVar = {value1,value2};
for-each循环
int myList = {1,2,5,4,7};
for(int a: myList){
System.out.println(a);
}
对象和类
- Gist
- 可见性修饰符:
- 如果一个类没有被定义为
public
,只能在同一个包内被访问。 public
:无限制protected
:子类可访问private
:仅该类对象可访问
- 如果一个类没有被定义为
- static:定义类的静态变量和静态方法。成员为类(区分于实例)所有。ClassName.Function来调用。
- 当创建一个对象数组是,元素被赋予默认值
null
。 - 用关键字
this
来调用类内成员。
- 可见性修饰符:
继承和多态
- Gist
- 不同于属性和方法,子类不继承父类的构造方法,只能用关键字
super
来调用父类的构造方法。 - 静态方法不能被覆盖。
- 多态:使用父类对象的地方均可以使用子类对象。调用其实例方法时,由子类向父类进行搜寻。
- 将子类实例赋给父类对象时,进行隐性转换。将父类实例赋给子类对象时,必须使用显性转换。
ChildClass c = (ChildClass) fatherObject;
- 可以使用关键字
instanceof
来测试一个对象是否是一个类的实例。 - 可以用final来表明一个类是终极的,不能成为父类。或者用来表明一个方法是终极的,不能覆盖。
- 不同于属性和方法,子类不继承父类的构造方法,只能用关键字