-
编译成字节码文件
javac hello.java
-
运行
java hello
-
保留字:
goto
、const
-
java
目前本人不熟练的关键字:enum
、native
、strictfp
、transient
、volatile
、assert
-
文档注释可以被jdk提供的工具
javadoc
解析/** @auther mbfjllybl @version v1.1 */
-
标识符:英文、数字、
_
、$
,数字不可以开头 -
命名规范
- 包名
xxxyyyzzz
- 类名文件名
XxxYyyZzz
- 变量方法名
xxxYyyZzz
- 常量名
XXX_YYY_ZZZ
- 包名
-
byte x = 128 //编译错误 byte x = (byte)128 //-128
-
声明
long
型变量必须以l
或L
结尾 -
定义
float
变量时必须以f
或F
结尾 -
char
一个字符等于两个字节 -
'\u0043'
-
byte
、int
、short
三者做运算结果都为int
类型 -
变量在使用之前必须赋值,否则会报编译错误
-
一个源文件中最多只能有一个类声明为public,此类必须与文件名同名
-
String
可以和布尔值做连接运算 -
//数组静态初始化 int[] a = new int[]{1,2,3}; int[] a = {1,2,3}; //数组动态初始化 int[] a = new int[3];
-
数组存在默认初始化值
-
//二维数组的初始化 int a[][] = new int[][]{{1},{1,2},{1}}; int a[][] = {{1},{1,2},{1}}; int a[][] = new int[3][2]; int a[][] = new int[3][];
-
Arrays
(java.util
的工具类)bool equals(int[] a, int[] b) String toString(int a[]) void full(int a[], int x) void sort(int a[]) int binarySearch(int a[], int key) //返回负数则未找到 //asList List arr1 = Arrays.asList(new int[]{1, 2}); List arr2 = Arrays.asList(new Integer[]{1, 2}); List arr3 = Arrays.asList(1, 2); List<Integer> arr4 = Arrays.asList(1, 2); System.out.println(arr1.size()); //1 System.out.println(arr2.size()); //2 System.out.println(arr3.size()); //2 System.out.println(arr4.size()); //2
-
Object
中的方法clone() equals() finalize() getClass() hashCode() toString() //以下方法必须使用在同步代码块或同步方法中 这三个方法的调用者必须是同步代码块或同步方法中的同步监视器 wait() 进入阻塞并释放锁 notify() 唤醒被wait的线程 notifyAll()
-
包装类
Integer i = 1; int x = i.intValue(); String s = String.valueOf(123); String s = "123"; Integer.parseInt(s);
-
单例设计模式
public class Singleton { private static Singleton ex = new Singleton(); private Singleton() {}; public static Singleton getSingleton() { return ex; } } //懒汉式存在线程安全问题 public class Singleton { private static Singleton ex = null; private Singleton() {}; public static Singleton getSingleton() { if (ex == null) ex = new Singleton(); return ex; } }