Java 基础
MD
| | | | |
| :---: | :---: | :---: | :---: |
| | | | |
| | | | |
| | | | |
| | | | |
基本语法
事项 | 解释 |
---|---|
大小写敏感 | Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。 |
类名 | 对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass |
方法名 | 所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写 |
源文件名 | 源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误) |
主方法入口 | 所有的 Java 程序由 public static void main(String[] args) 方法开始执行 |
标识符 | 类名、变量名以及方法名都被称为标识符(大小写字母A-Za-z、美元符号$、下划线_、数字0-9),首字符不能是数字 |
修饰符 | 访问控制修饰符: default, public, protected, private,非访问控制修饰符: final, abstract, static, synchronized |
关键字、数据类型、变量
Java中的标识符(关键字、保留字)、数据类型、变量如下表所示
知识点 | 形态 | 举例 | 备注 |
---|---|---|---|
关键字 | public、private、if、else等 | ||
基本数据类型 | byte、short、boolean、char、short、int等 | ||
包装数据类型 | Integer、Boolean、Double等 | ||
变量 | 局部变量、类变量(静态变量)、成员变量(非静态变量) |
Number & Math 类
Character 类
类型名称 | 解释 | 例子 |
---|---|---|
char | 基本类型 | char ch = 'a'; |
Character | 包装类型 | Character ch = new Character('a'); |
String 类
String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上。
StringBuffer 和 StringBuilder类
在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
数组
Java
dataType[] arrayRefVar; // 首选的方法
dataType arrayRefVar[]; // 效果相同,但不是首选方法
日期时间
Java
import java.util.Date;
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String[] args) {
// 初始化 Date 对象
Date date = new Date();
// 使用 toString() 函数显示日期时间
System.out.println(date.toString());
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间为: " + ft.format(dNow));
}
}
正则表达式
Java
import java.util.regex.*;
class RegexExample1{
public static void main(String[] args){
String content = "I am MasterH " +
"from xiaosaturn.com";
String pattern = ".*xiaosaturn.*";
boolean isMatch = Pattern.matches(pattern, content);
System.out.println("字符串中是否包含了 'xiaosaturn' 子字符串? " + isMatch);
}
}