Java基础-上

一.快捷键

一常用快捷键

  1. Alt + Enter :引用类或者说是提示

  2. Ctrl +O : 查看我们继承的类或者接口中的方法,以及我们要实现的方法

  3. Ctrl + Alt + b : 查看接口实现类中方法(就是我们使用接口编程时,在调用实现类方法处直接Ctrl+鼠标左键方法,只能进入到接口中定义的方法处,但是使用该快捷键则直接到实现类的该方法中了

  4. Alt + insert : set/get; 构造方法; toString; 重写方法。。。

  5. Ctrl + Alt + t : 将代码包在一个块中,例如try/catch ;synchronized等

  6. Ctrl+Alt+O,优化导入的类和包

  7. Ctrl+N,可以快速打开类

  8. 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

  1. 一个文件只允许一个public

  2. 类首字母大写

  3. 常量大写

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.重载:同一个方法名不同的参数;适应不同的情况,构造

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值