源代码组织方式
Java程序由package+class组成,package对应目录的相对路径。
1 package com.happyframework.javastudy.hello;2 3 public final class Hello {4 public static void hello(){5 System.out.println("hello!");6 }7 }
关于class有如下几点规则:
- 文件的名字必须和class的名字一致(public级别的class名字)。
- 文件必须只包含一个public访问基本的class(可以包含多个非public级别的class)。
- package名字必须和目录一致。
入口方法
App.java
1 public class App {2 public static void main(String[] args) {3 com.happyframework.javastudy.hello.Hello.hello();4 }5 }
最终的项目结构

数据类型
8种原子类型
- 整数类型:byte、short、int和long。
- 小数类型:float和double。
- 字符类型:char。
- 布尔类型:bool。
除此之外的是interface、class和array。
小数类型的常量默认是double类型,声明float类型的常量需要使用F作为后缀。
1 public class Program { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 float age = 28.0F; 8 System.out.println(age); 9 }10 11 }
运算符
- 算术运算符:+、-、*、/ 和 %,两个整数相除,结果还是整数。
- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、~=、^=、<<=、>>= 、 >>>=、++ 和 --。
- 比较运算符:==、!=、 和 >=。
- 逻辑运算符:&&、|| 和 !。
- 位运算符:&、|、~、^、<> 和 >>>。
字符串
String是拥有“值语义”的引用类型,字符串常量实现了“享元模式”,equals会按照内容进行比较,==按照地址比较。
1 public class Program { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 String x = "段光伟"; 8 String y = new String("段光伟"); 9 10 System.out.println(x.equals(y)); // true11 System.out.println(x == y); // false12 }13 14 }
为了高效的修改字符串Java引入了StringBuffer。
1 {2 StringBuffer sb = 3 new StringBuffer()4 .append("段")5 .append("光")6 .append("伟");7 8 System.out.println(sb.toString());9 }
数组
声明语法
DataType[] name 或 DataType name[]。
初始化语法
DataType[] name = new DataType[length]。
DataType[] name = new DataType[] { element1, element2, ...elementn }。
DataType[] name = { element1, element2, ...elementn }。
1 public class Program { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 { 8 String[] strs = { "段