1. i++和++i的区别
i++是先赋值,然后再自增;++i是先自增,后赋值。
用代码表示就是:
若 a = i++; 则等价于 a=i;i=i+1;
而 a = ++i; 则等价于 i=i+1;a=i;
2. Java中的按位与(&)、按位或(|)、异或(^)等运算符
按位与运算符(&)
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
3. 运算符的优先级
关系运算(比较大小)优先于逻辑运算(&、||)且&&优先于||
4. java的基本数据类型
5. 上转型
-
使用父类声明子类对象;
-
对于上转型对象,调用的是父类的静态方法和成员变量。(称为隐藏)
但是成员方法调用的是子类的。(称为覆盖)
6. super的用法
- 调用父类的构造方法
- 引用父类同名成员
super()
一般位于子类构造方法的第一行,相当于生成了一个父类对象。
7. abstract 抽象类
- 抽象类不能被实例化,只能作为父类。
- 抽象类中的抽象方法不写方法体,方法体由子类实现。
- 子类必须实现所有抽象方法。(接口也是)
- 理解:抽象类相当于制造了一个模板或者约定,去创建它的子类。
final 修饰
- 修饰变量时候相当于一个常量。
- 修饰类的时候,不过不希望一个类被继承,则声明该类为final类(最终类);
- 修饰方法:如果不希望一个类被子类覆盖。
8. 接口
- 是一种特殊的抽象类
- 主要作用说白了就是让类能够继承好几个“父类”;
9. 类型转化
String——>intInteger.parseInt()
char ——> String
String s = character.toString('c')
String s = ”“+‘c’
String s = String.valueof(new char[]('H','E','L','L','O'))
10. 数组の创建
int []array = new int[n];
String[] attrPoker = {"♥","♦","♣","♠"};
11.GUI - 布局
- FlowLayout
(默认)
- BorderLayout
- GridLayout
12.GUI - 容器
Swing的顶层容器包括 JFrame(常用)
、JDialog、Japplet
13.🔥 IntelliJ中的main函数和System.out.println()快捷键
14. 线程的实现方法
- 继承 Thread
- 接口 Runnable
15. 同步锁
同步锁synchronized
教材p202 例8.6
package Thread;
public class Account {
private int balance;
public Account(int balance){
this.balance = balance;
}
public int getBalance(){
return balance;
}
public int withDraw(int amount){
if(amount<0) {
System.out.println("取款金额为负!操作无法执行。");
return 0;
}else{
balance-=amount;
return amount;
}
}
}
class MultiWithDraw extends Thread{
private Account account;
private int amount;
public MultiWithDraw(Account account, int amount){
this.account = account;
this.amount = amount;
}
@Override
public void run() {
synchronized (account){ //😝注意此处使用到了同步锁
String str = Thread.currentThread().getName()+"取款前余额:"+account.getBalance();
try{
sleep(5);
}catch (InterruptedException e){
e.printStackTrace();
}
System.out.println(str+"取款:"+account.withDraw(amount)+"取款后余额为:"+account.getBalance());
}
}
public static void main(String[] args) {
Account a = new Account(500);
for(int i=1;i<=10;i++){
(new MultiWithDraw(a,10+i)).start();
}
}
}
来源:CSDN
作者:Cosmic Lover
链接:https://blog.csdn.net/weixin_44986776/article/details/103549625