## 标识符 字母、数字、下划线和$,不可以数字开头,大小写敏感。驼峰名法。 类名:首字母大写,其余驼峰。 方法、变量名:首字母小写,其余驼峰。 包名:全小写。 ## 字面常量和符号常量 ## 数据类型 - 基本数据类型 - 数值型 - 整型 byte, short, int, long - 浮点型 float, double - 字符型 char - 布尔型 boolean - 引用数据类型 - 类 class - 接口 interface - 数组 > 浮点型常量默认double类型,后面加上f转换float类型 > > 不要进行浮点类型之间的比较 ```java public class Demo{ public static void main(String[] args){ float f1 = 0.3f; double d1 = 0.3; System.out.println(f1==d1); } } # 输出false ``` 引用类型的变量太长,使用var关键字代替数据类型声明,编译器自动推断。 ```java StringBuilder a = new StringBuilder(); var a = new StringBuilder(); ``` ## 字符编码 - ASCII - ISO8859-1 - GB2312 - GBK - Unicode(UTF-8、UTF-16、UTF-32) ## 字符串 从Java 13开始,字符串可以用三个双引号写多行字符串(Text Blocks)。 ```java public class Test{ public static void main(String[] args){ String longString = """ first, One """; System.out.println(s);s } } ``` ## 空值null 引用变量类型可指向一个空值null,表示值不存在,即实际为变量不指向任何对象。 ```java String s1 = null; String s2; String s3 = s1; String s4 = ""; //s4指向空字符串 /* 注意要区分空值null和空字符串"",空字符串是一个有效的字符串对象,它不等于null */ ``` ## 数组 ```java public class Test{ public static void main(String[] args){ //5个元素数组 int[] ns = new int[5]; ns[0] = 68; ns[1] = 79; ns[2] = 91; ns[3] = 85; ns[4] = 62; //数组长度 System.out.println(ns.length); //直接初始化 int[] a2 = new int[] {68, 79, 91, 85, 62}; //简写 int[] a3 = {68, 79, 91, 85, 62}; //字符串数组 String[] names = {"ABC", "XYZ", "model"}; } } ``` 数组特点 - 数组所有元素初始化为默认值,整型都是`0`,浮点型是`0.0`,布尔型是`false`; - 数组一旦创建后,大小就不可改变。 数组是引用类型,在使用索引访问数组元素时,如果索引超出范围,运行时将报错。 ## 输入和输出 格式化输出 ```java public class Test{ public static void main(String[] args){ double d1 = 156465; //使用占位符% System.out.printf("%.2f\n", d1); System.out.printf("%.4f\n", d1); } } ``` 输入 ```java import java.util.Scanner; public class Test{ public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.print("Input a string: "); String name = input.nextLine(); System.out.print("Input age: "); int age = input.nextInt(); System.out.printf("Hi, %s, %d", name, age); } } ``` ## equals()方法 ```java public class Test{ public static void main(String[] args){ String s1 = "hello"; String s2 = "HELLO".toLowerCase(); System.out.println(s1); System.out.println(s2); if(s1.equals(s2)){ System.out.println("Yes."); }else{ System.out.println("No."); } } } ```