目录
一些零碎记忆点罢了 不定时更新(看我自身的学习进度)
一、一些偷懒小妙招
可以在idea中通过输入psvm实现快速书写
public static void main(String[] args) { }
输入sout快速书写
System.out.println();
for(int num:nums)迭代器遍历,对于数组来说,等同于
for(int i=0;i<nums.length;i++){
int num = nums[i];
}
二、数据输入
Scanner是java写好的,使用前需要先导包(可以在idea中设置自动导包)
import java.util.Scanner;
使用方式举例
Scanner sc=new Scanner(System.in); int n=sc.nextInt();
三、标准的JavaBean类
(idea可以快速生成)
组成:不带参数的构造方法+带全部参数的构造方法+所有属性的get和set方法
alt+insert 选择构造函数(第一个)
无选择是不带参数的构造方法
全选是带全部参数的构造方法
alt+insert 选择Getter and Setter(第四个)
全选就好
四、String相关
1、字符串的比较
(s1与s2进行比较):
s1.equals(s2)
相同返回true,不相同返回false
2、StringBuilder
正常的字符串是不能被修改的,为了方便对字符串的多次修改,可以使用该类实现
StringBuilder s1=new StringBuilder("aaa");(结果为aaa)
字符串的连接 (结果为aaabbb)
s1.append("bbb");
字符串的反转(结果为bbbaaa)
s1.reverse();
字符串的长度
s1.length()
将StringBuilder容器变为String类型
s1.toString()
3、StringJoiner
StringJoiner sj=new StringJoiner("@","[","]");
该容器中的元素将以[开始,以]结尾,以@为间隔
添加数据 sj.add(数据) 返回长度sj.length() 返回字符串 sj.toString()
五、一些数据结构
5.1 集合ArrayList 自动分配空间的数组
ArrayList<Integer> al=new ArrayList<>();
若输出al,则默认格式为[数据,数据]
注意尖括号中红色部分需要根据想要存储的数据决定
对应关系如下(右侧为对应的包装类)
byte-Byte
short-Short
char-Character
int-Integer
long-Long
float-Float
double-Double
boolean-Boolean
绿色部分只需首字母变为大写即可,橙色两种数据类型 需要单独记忆
Arraylist的常用函数
add(数据)添加数据
remove(索引)删除指定索引数据
remove((包装类)数据)删除指定数据(若有多个,删除第一个)
set(索引,数据)修改指定索引的数据
get(索引)获得指定索引的数据
size()获得数据个数
5.2集合set 去重
Set<Integer> set=new HashSet<>();
三种set 构建方式类比上行代码
HashSet(访问快速 add remove contains复杂度均为O(1))
TreeSet(数据有序 但以上三种方法为O(logn))
LinkedHashSet(记录插入的顺序 基本方法复杂度为O(1))
抽象类:作为父类存在 其子类需要强制重写抽象类中的抽象方法;
public abstract class Employee(类这么写)
public abstract void work();(抽象方法这么写)
接口:作为规则存在 子类需要强制重写接口中的抽象方法
六、快捷键
重命名快捷键 SHIFT+F6
修改文件名后,文件中类名会自动更改
运行快捷键 CTRL+SHIFT+F10
环绕 CTRL+ALT+T
格式化代码CTRL+ALT+L
补全变量CTRL+ALT+V
变大写 CTRL+SHIFT+U
错误修改提示 ALT+ENTER
显示参数 CTRL+P
封装成函数 CTRL+ALT+M
跳转到对应函数 CTRL+B