一.快捷键
一常用快捷键
-
Alt + Enter :引用类或者说是提示
-
Ctrl +O : 查看我们继承的类或者接口中的方法,以及我们要实现的方法
-
Ctrl + Alt + b : 查看接口实现类中方法(就是我们使用接口编程时,在调用实现类方法处直接Ctrl+鼠标左键方法,只能进入到接口中定义的方法处,但是使用该快捷键则直接到实现类的该方法中了
-
Alt + insert : set/get; 构造方法; toString; 重写方法。。。
-
Ctrl + Alt + t : 将代码包在一个块中,例如try/catch ;synchronized等
-
Ctrl+Alt+O,优化导入的类和包
-
Ctrl+N,可以快速打开类
-
Ctrl+F,查找
二不常用快捷键
Ctrl+E,最近使用的文件
Ctrl+Shift+E,最近更改的文件
Ctrl+F12,可以显示当前文件的结构
Ctrl+P,可以显示参数信息
Alt+Shift+C,最近的更改
【调试部分、编译】 Ctrl+F2,停止 Alt+Shift+F9,选择 Debug Alt+Shift+F10,选择 Run Ctrl+Shift+F9,编译 Ctrl+Shift+F10,运行 Ctrl+Shift+F8,查看断点 F8,步过 F7,步入 Shift+F7,智能步入 Shift+F8,步出 Alt+Shift+F8,强制步过 Alt+Shift+F7,强制步入 Alt+F9,运行至光标处 Ctrl+Alt+F9,强制运行至光标处 F9,恢复程序 Alt+F10,定位到断点 Ctrl+F8,切换行断点 Ctrl+F9,生成项目
【重构】 Ctrl+Alt+Shift+T,弹出重构菜单 Shift+F6,重命名 F6,移动 F5,复制 Alt+Delete,安全删除 Ctrl+Alt+N,内联
【查找】
Ctrl+R,替换 F3,查找下一个 Shift+F3,查找上一个 Ctrl+Shift+F,在路径中查找 Ctrl+Shift+R,在路径中替换 Ctrl+Shift+S,搜索结构 Ctrl+Shift+M,替换结构 Alt+F7,查找用法 Ctrl+Alt+F7,显示用法 Ctrl+F7,在文件中查找用法 Ctrl+Shift+F7,在文件中高亮显示用法
三Java基础上半部
3.1基础HelloWorld
-
一个文件只允许一个public
-
类首字母大写
-
常量大写
3.2基础数据类型
1.boolean
2.char
3.整数:
1.byte 2.short 3.int 4.long
4.小数
1.float 2.double
3.3类型转换
1.大转小,强制,丢失精度
2.小转大
3.4变量
1.局部变量:定义在方法,当方法执行完以后,变量被销毁
2.成员变量:定义在类中,方法体外,实例对象生命一样
3.类变量:static
3.5访问修饰符
1.public:所有
2.private:同一个类中
3.default:同一个包中
4.protected:不同的包,但是有继承关系的
3.6控制修饰符
1.static:static方法中需要调用类的静态成员变量
2.final:@1,psfi。@2,psfs
3.7抽象类
1.抽象类中可以有不抽象的方法
2.如果一个类中有一个抽象方法,那么这个类一定是抽象类
3.把公共的属性跟方法提取到父类,但是在某些方法因为不同的子类实现不同,那么我们可以把这个方法进行抽象
3.8运算符
1.++/--:++在前先运算再赋值,++在后先赋值再运算
2.条件运算符:数据类型 变量 = (条件)?真:假
3.|| |:||短路这个是我们只要左边的运算为真,那么右边不会进行运算
4.判断是否是同一个类:instanceof ,强转
5.优先级:()
3.9循环结构
1.for:次数确定时,可以使用for
2.while:条件确定时,使用while
3.do...while:先执行一次再判断
3.10条件语句
1.if...else
2.swith: break;-->碗不刷了,直接罢工。 continue:只是碎的碗不刷了,剩下的接着继续刷
3.Math--String:了解
3.11String/StringBuffer/StringBuilder的区别
1.StringBuffer:没被final关键字修饰,能够多次修改.多线程使用stringbuffer,安全,相对stringbuilder不快
2.StringBuilder:没有final关键字修饰,可以多次修改.单线程使用stringbuilder,速度快,但不够安全
3.String:String 类中使用 final 关键字,所以 String 对象是不可变的,不修改
3.12数组
1.一维数组/多维数组
2.Arrays工具:Arrays.sort()方法:自然升序。Arrays.toString()打印
3.13日期
1.new Data():
//定义一个时间
Date date = new Date();
//定义时间格式化的类
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(simpleDateFormat.format(date));
2.字符串与时间进行互换(SimpleDataFormat):
//从前端传来一个字符串时间对象
String dateStr = "2021-09-21";
//定义一个时间格式化的类
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
Date dateStr1 = simpleDateFormat1.parse(dateStr);//解析数据
System.out.println(dateStr1);
3.时间戳:
System.out.println("开始准备中...");
long StartTime = System.currentTimeMillis();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis()-StartTime;
System.out.println("测试的时间为: "+endTime/1000.0f);
4.Calender:
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH) + 1;
System.out.println(month);
int week = c.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println(week);
3.14正则
1.作用:检验格式是否正确; 替换; 切割
String str = "2";
String regex = "[0-9]";
boolean matches = Pattern.matches(regex,str);
System.out.println(matches);
//替换全部
//1,原始数据
String str = "548w45wewe465ef4e57e6e6";
//2,替换字母的规则
String regex1 = "[a-zA-Z]+";//至少一个
//3,替换
System.out.println(str.replaceAll(regex1, "*"));
String regex2 = "\\d+";
System.out.println(str.replaceAll(regex2, "~"));
//进行切割
String str = "oneTtwoTthreeDfourDfive";
String regex = "[A-Z]";
String[] split = str.split(regex);
for (String sp : split) {
System.out.println(sp);
3.15获取键盘的输入,命令行
1.new Scanner(System.in);
2.next: 不能得到带有空格的字符串。
3.nextLine:以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。 允许字符串有空格
3.16面向对象
1.封装:控制我们的数据跟代码是否可以被外部随意访问
2.继承:减少重复代码
3.多态:一种方法有不同的结果.条件 :(1) 继承 (2) 重写 (3)父类的引用指向子类的对象
主要作用:解耦
3.16重写/重载
1.重写:子类复写父类的方法,加强. override
2.重载:同一个方法名不同的参数;适应不同的情况,构造