Java SE_12笔记

本文介绍了Eclipse作为Java开发的集成开发环境,重点讲解了其一键运行、代码提示、代码管理、项目创建、快捷键设置以及核心类如Object的方法。此外,还涉及String类的特性与常用方法。
摘要由CSDN通过智能技术生成

Eclipse-集成开发工具IDE(VS PyCharm IntelJi)
1.编译运行方式
之前在编译和运行代码的时候 javac java 手动挡
在Eclipse中,一键运行 编译和运行有Eclipse自动完成
2.代码
之前用的是EditPlus(VS-Code,Sublime)->颜色区分 行号
但是没有代码提示和语法提示
语法提示:EditPlus不会自动检测当前代码是否有语法错误
代码提示:将来的开发中 会用到很多的类,对象和函数,变量
对于程序员而言 是否都要一个一个的记住呢?
单词记不住 有自动补全和代码提示
3.代码的管理
之前用EditPlus在同一个文件夹中 .java和.class文件共存 代码管理不方便
在将来的工作当中,一个项目里面会有好多好多个类
这些类能否存在同一个文件夹内?理论可以 现实不行
类:主类 实体类 工具类 配置类 …所以要对这些类进行分类存 方便管理维护

Eclipse中,是以项目文件为基本单位的(日食 月食)
一个项目里 会有源代码 第三方jar文件 资源文件…
其实一个项目本质上在硬盘中就是一个文件夹 而上述的这些东西都在该文件夹里面
工作空间-workspace:是Eclipse用于存放项目的文件夹 可以由自己指定!
Eclipse的配置
1.编码集设置(字符集 ASCII Unicode GBK UTF-8)
Window-Perferences-General-WorkSpace-Text File Encoding-Other-UTF-8
Apply-OK
2.创建一个Java项目
File-New-JavaProject
Projct Name 项目名:最好符合标识符的规则(可以用中文)
Eclipse中,项目组成:
项目名
src:源代码存放的地方
JRE System Library:java运行环境系统类库
工作空间中,项目组成:
bin:存放字节码文件的文件夹
src:存放源代码的文件夹
3.如何创建一个.java文件
在src上,鼠标右键-New-class
在Eclipse中 推荐一个.java文件中最好只放一个class类
也就是说一个类一个.java
Source folder:该文件存在的路径
Package:包-文件夹 oupeng.heng.
Name:类名 必须文件名与类名一致!
4.字体大写设置
Window-Perferences-General-Appearances-Colors and Fonts
列表中第一个文件Basic-Text Font 双击点开
建议 Consolas 对于你们而言 16~18
5.代码内容
package 标记当前类所在的路径(如果当前类没有包 则没package)
注意! 一个.java文件中最多只能有一个public的类
而且 public的类 类名必须与文件名一致!!!
6.快捷键
主函数 main alt+/
输出语句 syso alt+/
上移下移 alt+↑或↓
向下复制一行 ctrl+alt+↓
问题查看 ctrl+1
删除行 ctrl+d
代码自动格式化 ctrl+shift+f
运行 ctrl+F11
关闭当前选项卡 ctrl+w
单行注释 ctrl+/ 取消注释 也是这个
多行注释 ctrl+shift+/ 取消ctrl+shift+
强调一下!!!!每次改完代码 一定要记得保存 ctrl+s 每10秒你给我按一下

Object
每个类都有父类 无论是extends写出 还是没写出 它们的最终父类是Object
getClass() 将该对象的所属类当做一个Class的对象进行返回
hashCode() 返回的是对象在真实物理内存中的地址(十进制表示)主要和哈希表结合
equals(Object obj) 将该对象与传入的对象obj进行对比 (默认比的是对象的地址)
clone() 将当前对象进行复制 返回副本
toString() 返回的是一个类名@十六进制对象的地址值 打印一个对象其实就是在调用该对象的toString()
finalize() 对象没有被更多的引用指向时,被垃圾回收器调用
final vs finalize vs finally ???

重写equals
1)自己跟自己比
2)传入的是否为空
3)比类型 getClass() / instanceOf 也可以
4)比属性
4.1基本数据类型 不用判空 直接比
4.2引用数据类型 判空后 再比较
另:虽然eclipse在自动重写equals的时候也重写了hashCode() 但是我们目前不需要
hashCode的重写主要和后续的哈希表结合

重写toString
是以键值对的方式进行重写的 key-value 映射表f(x)=x
类名 + [属性名1=属性值1,属性名2=属性值2]

权限的问题
在这里插入图片描述
String类
String是final类 所以不能被继承
实现的接口:
Serializable:序列化接口 将内存中的数据存入硬盘或上传互联网
Comparable:对比接口 给字符串赋予了可比较性
CharSequence:字符队列 就是一个数据结构 从逻辑角度看字符串本质上就是一个队列
队列
字符队列
字符串
value[] :说明字符串从物理结构角度看 就是一个用字符数组实现的字符序列

String(): 创建一个空字符串"" ->创建一个空字符序列""->创建一个字符数组new char[0]
String(String):以字符串常量创建一个字符串对象
String(char[]):传入一个字符数组 得到一个字符串对象
String(int[]):传入字符编码数组 得到一个字符串
String(byte[],String):传入字符变数组 得到一个字符串
String(SB):将一个SB转为一个字符串对象

int length():获取字符串的长度
boolean isEmpty():字符串判空
char charAt(int):获取字符串中指定角标的字符
void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin:
在字符串中 从角标[srcBegin,sreEnd)放入到从dstBegin角标开始的dst字符数组中
byte[] getBytes(String):将字符串以指定的字符集进行编码
boolean equals(String):比较当前字符串与传入字符串的内容是否相等
boolean equalsIgnoreCase(String):忽略字母大小的equals()
int compareTo(String):比较两个字符串的字典顺序大小 负数 当前<传入 0 整数
int compareToIgnoreCase(String str):忽略字母大小写的compareTo
boolean startsWith(String prefix, int toffset):从字符串的toffset角标开始,是否以prefix字符串开头
boolean endsWith(String suffix)
int indexOf(int ch):丛左到右获取ch这个字符第一次出现的角标
int indexOf(String str)
int lastIndexOf(int ch):从右到左
String substring(int beginIndex, int endIndex):获取从beginIndex开始到结尾的字符串
String concat(String str):字符串合并
String replace(char oldChar, char newChar):在字符串忠将oldChar替换为newChar
boolean contains(CharSequence s):该字符串是否包含s
String[] split(String regex, int limit):切分 以regex为分隔符 将字符串拆分
“a,sasd,asdasd,adasdasd,asdas” “,”
String toLowerCase(Locale locale):转小写
String toUpperCase(Locale locale):转大写
String trim():去掉两边的空格 返回新的字符串
" 123123123 "->“123123123”
char[] toCharArray():返回该字符串的字符数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值