Java Day11学习总结

一、笔记

1、Api
定义:应用程序接口(帮助文档)
接口:用于规定方法名称的规则的集合。
api:需要查看源码(快捷键:ctrl+鼠标左键),学者去模仿
库:

1.jdk  提供的    
2.自己封装的    
3.第三方的库:步骤:1.下载jar (导入到工具类)
				  2.在项目里新建一个文件夹 lib  jar 包放入到lib
				  3. 添加项目lib
				  4. 使用

类库: 就是把java文件编译成.class,然后打包生成jar包,导入jar包就可以使用jar包的全部类型,各种包就合成一类库。
2.Object类
导包java.lang(只要值这个包下面的都不需要进行导包)
描述:

1.所有类的直接爸爸或者是间接爸爸都是Object
2.如果这个类没有父类, 也没有继承Object,系统会默认继承
3. Object 类 调用不了父类的super()构造

构造方法: 无参构造方法
常用的基本方法:

public int hashCode()  返回该对象的哈希码值
1. 如果是同一个对象,  两次调用 hashCode()  返回的哈希码值 是一样的
2. 两个对象的哈希值一样并不一定同一一个对象
3. Integer.toHexString(obj.hashCode())   把哈希值转换为16进制

getClass()方法

public final Class<?> getClass()  返回此 Object 的运行时类,描述类的类的信息
其实存的是一些字节码文件

getName()方法

public String getName()   返回当前类的完成的包名+ 类名

toString方法

public String toString()  toString 方法会返回一个“以文本方式表示”此对象的字符串
1.没有重写之前:  toString返回值的介绍 : getClass().getName() + "@" + Integer.toHexString(hashCode()
getClass().getName()  返回当前类的完成的包名+ 类名
Integer.toHexString(hashCode())  把哈希值转换为16进制
2..默认toString()返回的没有任何意义,所有需要重写:  一般重写是得到 这个类的成员属性的值     快捷键是 Alt+insert

equals方法

public boolean equals(Object obj) 要与之比较的引用对象 (比较的是两个引用数据类型的地址是否一样
没有重写之前:这个方法最后还是==  进行比较的
 ==  与 equals()的区别:
 相同点:  都可以做比较(做引用数据类型的比较)
 不同点:   ==   如果是基本数据类型比较的是 具体的值, 如果是引用数据类型比较的是内存地址
equals() 只能比较引用数据类型的地址值(一般都要进行重写)

3.Scanner类

  1. 导包java.util
  2. System.in 输入流对象(从键盘获取你输入的数据)
 构造:Scanner(InputStream source)
 实例化一个对象 的步骤: 
 1. 导包   2.实例化  类名  对象名   =new   类名()   3.对象名.方法名()   对象名.属性

常规的方法:

nextInt()  nextBoolean   nextDouble  nextByte()  nextDouble(基础数据类就没有 nextChar())

方法出错:类型不对应

java.util.InputMismatchException : 错误原因: 因为接收的值与你键盘输入的值不匹配
public boolean hasNextInt()   判断来解决以上的问题 

接收字符串的两个方法:
next()
nextLine() 读取的一行的记录
产生错误:
在这里插入图片描述
原因:
把回车键(\r\n) 当成字符读取,所有直接结束
解决:

  1. 重新来实例化Scanner类
  2. 把接收int类型的转换为String类型(String 类型比int 类型操作方便)
    4.String类
    概述:
1.它是一个字符串  是一个引用数据类型
2.在java.lang下,不需要进行导包
3.字符串字面值是存在方法区里的字符串常量池里
4.符串是常量;它们的值在创建之后不能更改(不能改变的就是具体的值,而引用地址是可以改变)可以实现数据共享

内存图的分析:
在这里插入图片描述
总结:字符串字面值都是存在 方法区里的常量池里,如果新建一个字符串字面值,都会先去常量池里查找是否存在,如果存在,直接把地址指向新建的,不存在重新开辟空间存.
String 常规的方法分为三类:
1.判断功能:

1.equals(Object anObject) 判断两个字符串是否相等:
2.boolean contains(CharSequence s) 判断字符串是否包含此字符
3.boolean endsWith(String suffix)  判断此字符串的后缀结尾
4.startsWith(String prefix)  判断字符串的前缀
5.public boolean equalsIgnoreCase(String anotherString)  判断两个字符串忽略大小写
6.public boolean isEmpty()   进行非空验证

2.获取功能:

1.  public char charAt(int index)     根据索引来获取字符串相对应的值,索引是0 开始的
2.  public int length()     返回的是字符串的长度
3. public int indexOf(int ch) 返回字符串第一次出现的索引值(找到返回的是索引值,找不到返回的是-1)
4.public String substring(int beginIndex,int endIndex):获取指定索引范围的字符串  (包头不包尾)   (beginIndex 开始的索引,endIndex   结束的索引 )
5.public String[] split(String regex)  根据什么进行拆分

3.转换功能:

1.public byte[] getBytes()   将一个字符串转换成一个字节数组
2.public String replace(char oldChar,char newChar)返回一个新的字符,第一个参数是需要替换的字符  第二参数是插入的字符
3.public String toUpperCase(Locale locale) 把当前字符串转换成大写
4.public String toUpperCase(Locale locale) 把字符串转换成小写 
5.public String trim()  去掉前后的空格
6.public static String valueOf(int i)把int类型转换成String类型,这是一个静态的方法(基本数据类型之间相互转换)
7.public char[] toCharArray()   把字符串转换成一个char的数组

二、总结

第十一天的学习,今天学习了API,没接触前以为学习起来很简单,就是查查帮助文档就行了,但是实际要用起来却比想象中的要难,而且还要理解其用法才能真正的运用起来,API要用多久才能把你干掉。还要继续努力为挣钱蓄力啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值