IDEA快捷键:
Ctrl + p :创建对象时,提示有参构造列表。
Alt + Insert :生成代码(如GET,SET方法,构造函数等)。
Shift + F6 : 批量修改字符。
Ctrl + Shift + U :将选中的字符改为英文大写或小写。
1.环境变量
2.JDK与JRE
JDK: Java Development Kit
JRE: Java Runtime Environment
JRE是将JDK中的JVM、核心类库、运行时需要的运行工具单独抽离出来。因此JRE包含于JDK,JRE属于JDK的一部分.
-
Java方法重载
方法重载(Method Overloading)是指在同一个类中定义多个方法,它们具有相同的名称但具有不同的参数列表。通过方法重载,可以根据不同的参数类型和参数个数来调用不同的方法。 -
输入输出
system.out.print(xxx) 打印后不换行
system.out.println(xxx) 打印后换行 // IDEA(sout)
system.out.println() 只换行
system.out.printf(“Age is :%d”, age); 占位符 // IDEA(souf)
接收字符串时,next遇到空格就停止接收,而nextLine会接收包括空格在内的字符串。
- private修饰后只能在本类中使用。
在一个类中,如果一个变量定义在方法里面,则称为局部变量;如果一个变量定义在方法外面,类的里面,则称为成员变量。若在方法中局部变量与成员变量同名,则遵循就近原则,也可以在变量前加上this.关键字可以将其标识为成员变量。因此,this.的作用是区分成员变量和局部变量。
6.构造方法:创建对象的时候,由虚拟机自动调用,给成员变量进行初始化的。
如果没有写构造方法,那么虚拟机会自己加一个无参构造方法,如果自己定义了有参构造方法,那么系统将不再提供默认的构造方法,无参构造得自己另外写。开发中,无论是否使用,都手写无参构造方法,和有参数的构造方法。构造方法可重载。
-
JavaBean类:一种标准的Java类,遵循特定的命名约定和编程规范。
IDEA中的PTG插件可以快速生成JavaBean。
-
基本数据类型和引用数据类型之区别
-
三元运算符(?)
根据条件返回不同的值
eg:
age = (age < 0) ? 0 : age; //判断若age为负数则将其置为0,非负数则为原来的值。
10.字符串方法
字符串比较是否相等
boolean res1 = s1.equals(s2); //比较s1和s2字符串是否相等,考虑大小写
boolean res2 = s1.equalsIgnoreCase(s2); //比较s1和s2字符串是否相等,忽略大小写
charAt方法:获取字符串中的单个字符
String str = "Hello, World!";
// 获取索引为2的字符
char ch = str.charAt(2);
Stringbuilder方法:是一个用于操作字符串的可变类。它属于java.lang包,并且提供了多种方法来修改、添加和删除字符串内容,而不会创建新的字符串对象。这使得StringBuilder在需要频繁修改字符串的场景下效率更高,因为它避免了频繁创建新的字符串对象的开销。
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.reverse();//使用reverse()方法反转字符串
String str = sb.toString();//将StringBuilder操作的字符串赋值给str字符串(用toString方法)
StringJoiner: StringJoiner是一个用于连接字符串的实用类。它属于java.util包,并且提供了一种简单的方式来拼接多个字符串,并且可以指定前缀、后缀以及分隔符。
- ArrayList(集合)
集合不能存储基本数据类型,只能存引用数据类型。
ArrayList增删改查
ArrayList<String> list = new ArrayList<>();
增加元素: list.add("phl");
删: list.remove("phl") //删除集合中的phl元素
删: String str = list.remove(0) //删除0下标对应的值,并且返回删除的值
改: String str = list.set(2,"phl") //将第三个值赋值为phl,返回被覆盖的旧值
查: String str = list.get(0) //查询第一个元素值
查集合长度:int len = list.size()
- static关键字
静态变量是一种属于类而不是实例的变量。它们被声明为static关键字,并且在类的所有实例之间共享相同的值。静态变量可以通过类名直接访问和赋值。
静态方法是与类关联而不是与类的实例关联的方法。你可以在不创建类的实例的情况下调用静态方法。这些方法通常用于执行不依赖于对象状态的操作,例如工具方法或数学函数。
12.继承
直接父类与间接父类
每一个类都直接或者间接继承于Object类
子类不能继承父类中的构造方法。
子类能全部继承父类中的成员变量(即使被private修饰),只是使用被private修饰的成员变量的时候要用set和get方法。
子类能继承父类中的public成员方法,不能继承private修饰的成员方法。(因为public成员方法在虚方法表中)。
方法的重写
方法重写(@Override)是指在子类中重新定义(或覆盖)其父类中的同名方法。方法重写的前提是子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型。(方法重写时,@Override注解可以校验重写是否正确)
13. 多态
用父类型作为参数,可以接收所有子类对象。
Animal a = new Dog();// new谁就调用谁的方法,引用是谁,就用谁的成员和静态。此处用Animal的成员变量,用Dog的成员方法。
多态的弊端是不能使用子类的特有功能,必须将对象强制转换成子类类型才能调用。
instanceof:可以判断对象所属的类别。
a instanceof Dog d :先判断a是否为Dog类型,如果是,则强制转成Dog类型,转换之后的变量名为d.
Animal a = new Dog();
if(a instanceof Dog d){ //先判断a是否为Dog类型,如果是,则强制转成Dog类型,转换之后的变量名为d.
d.lookHome();
}
//上面的if效果等同于下面的if
if(a instanceof Dog){
Dog d = (Dog) a;
d.lookHome();
}
-
final 常量
细节:
-
权限修饰符
-
static 静态代码块:可以用于程序的数据初始化,且只会初始化一次。
格式:static { } -
抽象类与抽象方法
抽象类的子类中,必须重写抽象方法。
-
接口
接口中没有构造方法。
接口中的成员方法默认修饰符为: public abstract
接口中的成员变量默认修饰符为: public static final (只能是常量)
接口1可以继承接口2,实现接口1的话还要将接口2里面的抽象方法实现了。 -
内部类
内部类是一个类中的类,内部类可以访问母类中的变量(包括私有变量)。内部类是母类的一部分,且内部类单独存在没有意义。
a.成员内部类
b.静态内部类和局部内部类
c.匿名内部类:Java中的匿名内部类是一种特殊类型的内部类,它没有显式地被命名。它们通常用于实现接口或扩展类,并且只包含一个实例方法。由于它们没有名称,因此不能在其他地方重复使用。
Button b = new Button() {
public void onClick() {
System.out.println(“Button clicked!”);
}
}; //斜体部分本身就是一个对象
20. 拼图小游戏
事件:
21.常用API:
1.Math
2. System函数
3. Runtime
4. Object
浅克隆与深克隆
5. BigInteger 是 Java 标准库中的一个类,用于支持任意精度的整数计算。它允许你在没有固定大小限制的情况下进行任意大整数的数学运算,不受 int 或 long 等固定大小整数类型的限制。
以下是关于 Java 中的 BigInteger 的一些关键点:
任意精度:BigInteger 可以表示任何大小的整数,仅受内存可用量的限制。这使得它适用于处理极大数,例如在密码学或科学计算中遇到的数值。
创建 BigInteger 对象:你可以使用 BigInteger 类的构造函数来创建 BigInteger 对象。可以通过传递一个字符串、一个 long 值或者另一个 BigInteger 对象来创建。
22. 正则表达式
二、多线程编程
run() 方法和start() 方法的区别:调用start() 会触发多线程执行 ;调用run() 还是当做执行了一个普通方法,没有多线程执行。
把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。
实现多线程的方法有两种:
1.
2.
三、网络编程
不同的局域网给同一设备分配的IP地址不一样。
(NAT(Network Address Translation)是计算机网络中的一种技术,用于在不同网络之间转换IP地址。它允许多个设备在一个公共IP地址下访问因特网。NAT的主要优势在于它可以节省公共IP地址的使用,因为多个设备可以共享一个公共IP地址。此外,NAT还提供了一定程度的网络安全,因为它隐藏了局域网内部设备的真实IP地址,对外界来说,只能看到公共IP地址。)
IPv4地址:192.168.开头的就是私有址址,范围即为192.168.0.0–192.168.255.255,专门为组织机构内部使用,以此节省IP。
特殊IP地址:127.0.0.1(本机IP),也可以是localhost:是回送地址也称本地回环地址,也称本机IP,永远只会寻找当前所在本机。