JavaSEAPI课程笔记

API

Application Programming Interface应用程序编程接口

第一种解释:java语言中提供的类和接口

第二种解释:官方提供的对类,接口功能的说明文档

基本数据类型包装类

基本数据类型:结构简单 8种 byte short int long float double char boolean

需求:获得int类的最大值 int十进制转为16进制 把int类型转为字符串 字符串数字转为int

java为每种基本类型提供了一个包装类

Integer

int num = 10;//堆中有这个值
Integer num1 = new Integer(10);//将int值包装在Integer类的对象中 Integer类中就可以提供很多的方法来对int类型进行操作

== 引用类型比较时,比较的是内存中的地址是否相等

equals比较两个对象的值是否相等

自动装箱:基本类型转为引用类型

自动拆箱:引用类型转为基本类型

使用装箱(valueOf(127))在创建对象时,值如果在-128~127之间如果多个值相同,指向的是内存中的同一地址.

使用new+构造方法 不管值是否在此区间中 都会创建新的对象

int num1 = num2.intValue();//取出对象中包含的具体的值

Integer num7 = Integer.valueOf(10);//把基本类型转为引用类型

int num6 = Integer.parseInt(“11”);

Object

Object是java中所有的父类

toString()

方法将对象输出时,就会调用toString()

当类中没有定义toString()时,会默认调用父类(Object)中的toString()

native:本地方法 java语言不实现 而是调用操作系统实现

Object类中toString()将对象地址转为16进制的字符串输出,我们可以在类中重写toString()

equals()

Object类中的equals()比较的是对象地址是否相等,等同于==

其他类基本上都重写了equals(),比较的是内容是否相等.

String/StringBuffer/StringBuilder

String字符串是多个字符组成的字符序列,是常量(值不能变),一旦改变,是在内存中重新创建了一个新的对象.

1.String s=“abc”;

第一次创建时会在字符串常量池中检测有没有,没有就在字符串常量中创建一个对象,第二次创建时,如果常量池中已经存在,直接指向常量池中的对象即可.

2.使用new+构造方法()

在堆中创建新的对象,只要是new出来的对象,在内存中一定是一个独一无二的对象空间.

字符串底层是char数组存储(JDK9以后是byte数组存储),单个字符串存储

StringBuffer内容可变 多线程 线程安全 效率低

StringBuilder内容可变 单线程 效率偏高

String内容不可变 没有牵扯到大量的字符串拼接可以使用

String类中常用方法:

equalsIgnoreCase() 不区分大小写比较内容是否相等.

contains() 是否包含()内容

startsWith() 是否以()内容开始

endsWith() 是否以()内容结束

compareTo() 比较值大小,用于排序比较

length() 获取字符串长度

charAt() 获取第()个字符

indexOf() 从前往后 ()字符首次出现的位置()不存在返回-1

lastIndexOf 从后往前找字符首次出现的位置(不存在返回-1)

subString() 从选定位置开始截取字符 返回一个新的字符串 原来的字符串不变

replace() 替换所有选定字符

replaceFirst() 只替换第一次出现的

replaceAll() 替换 正则表达式(模式匹配)效率更高 例如用于筛选手机号码是否合法

trim() 去掉首尾的空格

toLowerCase() 全部小写

toUpperCase() 全部大写

contat 连接字符效率高于""+"" 向字符串的尾部拼接一个字符串 并返回一个新的字符串

split() 将字符串用指定的正则表达式分割成字符串数组

String s = "abc";
          byte[] b = s.getBytes();//编码  字符 转为 字节
          System.out.println(Arrays.toString(b));
		  String s1 = new String(b);//解码  字节 转为 字符
          System.out.println(s1);

StringBuffer

线程安全的可变字符序列

添加功能

public StringBuffer append(String str)

public StringBuffer insert(int offset,String str)

删除功能

public StringBuffer deleteCharAt(int index)

public StringBuffer delete(int start,int end)

替换功能

public StringBuffer replace(int start,int end,String str)

反转功能

public StringBuffer reverse()

Arrays

Arrays.sort();对基本或者引用类型数组排序

Arrays.binarySearch();二分查找,前提是有序的

Arrays.equals();比较数组中的内容是否一致

Arrays.copyOf();数组复制,当数组长度不够用,将原来的内容复制到一个新的数组中,指定新数组长度

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值