编译器IDEA的使用
Java项目结构
常用快捷键
Java基础知识
方法是public static int xx静态方法的话,只能调用静态变量
在一个类中使用Psvm出来的就是主类名,也是文件名.class
一个文件里只能有一个类存在public,且文件必须以它命名
方法重载
同名,参数类型,参数数量有一不同即可
参数列表不同
与返回值无关
数组
静态初始化(指定内容)
数据类型[] 名称 = new 数据类型[]{x,x,x…}
数据类型[] 名称={x,x,x…}
动态初始化(指定长度)
数据类型[] 名称 = new 数据类型[长度]
数组不可越界,不然会抛出异常index out of bound
数组为null,不可访问数组元素 会产生Nullpointer空指针异常
如果要创造存在泛型的数组,如下所示
二维数组
动态初始化
数据类型 数组名 [ ][ ] = new 数据类型[m][n]
数据类型 [ ][ ] 数组名 = new 数据类型[m][n]
数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]
静态初始化
数据类型 [ ][ ] 数组名 = {{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}…};
举例:
int [ ][ ] arr={
{22,15,32,20,18},
{12,21,25,19,33},
{14,58,34,24,66}};
Comparable接口:数组自然排序
口诀:
排序大小时,谁大,则作为比较函数返回值的最后一个参数
如有一个类为man
使用this.age - man.age则为升序排序
Comparator接口:比较器排序
这里是优先按年龄升序,年龄相同则使用姓名排序
Java的内存划分
类
成员变量没有赋值,就是初始值,和堆里的规则一样
不同的包下,导入了包,也只能使用类方法
同一个包下可以操作对象名
对象的内存图
Private关键字的使用
匿名对象
常用类
String
8位=一个字节
比较
获取
截取
转换
分割
Split函数
Random
获取一个随机数字nextInt() 数为int所有范围
nextInt(int n) 范围:[0,n)
生成[l,r]的数字 nextInt(r-l+1)+l;
Arrays
Math
Abs(double)函数:取绝对值
Object && Objects
toString方法
equals方法
Objects里的equals方法
Date
Gettime函数
Settime
toLocalString
返回本地时间
正确获得一个date对象中的信息
DateFormat:SimpleDateFormat
format
Parse
Calendar
方法
时间类
System
方法
StringBuilder
构造方法
和String的区别
方法
Reverse方法,翻转字符串
Static静态变量
一个类中所有对象共有的变量,最新版的IDEA只能通过类名来操作静态变量,不允许通过对象名
静态方法只能访问静态变量