java核心内库(一)
一.Object类的定义以及常用的方法
Object类的定义:类 Object 是类层次结构的根类。每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法。
Object类的常用方法:
1).public final class getclass() ; 返回此 Object 的运行时类class,如果直接输出类对象,则会打印出 class 包名.类名
2)public int hashCode();返回该对象的哈希码值
Object类中方法的运用如下图所示:
注释:上图中p.getClass().getName()语句,其实分两步
* 1. p.getClass();是p调用object类里面的方法
* 调用该方法返回的是一个object运行时的类的实体名称,该类是class类
* 则有 class p1=p.getClass();
* 2.p1.getName();getName是class类里面的方法
3) protected Object clone() 返回值为任意对象 Object 类的 clone 方法执行特定的复制操作。
注意: 1. 如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException.
2.所有的数组都被视为实现接口 Cloneable.并且在实现类中clone方法必须重写
4) public boolean equals(Object obj);指示其他某个对象是否与此对象“相等”
二. Scanner类的使用及方法
Scanner类:简单文本扫描器
键盘录入的步骤:
1) 创建键盘录入对象: Scanner sc=new Scanner(System.in)
2)导入包:import java.util.Scanner
3)接受数据: xxx 变量名=sc.nextxxx();
Scanner构造方法:
public Scanner(InputStream source): 以输入流的形式录入数据
InputStream:字节输入流
InputStream in=System.in //底层执行返回的是一个字节输入流(标准输入流)
Scanner类的常用方法 (xxx代表除Char类型的基本数据类型)
1): public xxx nextxxx() 录入一个xxx基本类型的数据
2): public String nextline() 录入一个字符串
使用如图:
注意:先输入数字的话则就不会录入字符串,因为有空格存在,系统默认字符串为空字符串
3): public boolean hasNextxxx() 判断录入的数据是否为xxx数据类型 ,如果是xxx数据类型的话,则返回true,否则返回 false
4): public boolean hasNexline() 判断录入的数据是否为String类型,如果是String类型的话,则返回true,否则返回 false
使用如图:
三.String类的特点和功能
String字符串最大的特点:
不可变的字符序列, 字符串一旦被赋值,字符串当参数传递时其值则不会改变,如图所示:
String类的常用转换功能
1): public byte[] getBytes();将字符串转换为字节数组
2): public char[] tocharArray();将字符串转换为字符数组
3): public static String valueof(int i);将int类型的数据转换为字符串 //这个方法可以将任意类型转换为字符串类型
4): public String toLowerCase();转成小写
5): public String toUpperCase();转成大写
6): public String concat(String str):字符串的特有功能:该方法和"+"拼接符是一个功能
String类的常用获取功能:
1): public int length();获取字符串的长度
2): public char charAt(int index);返回指定索引处的字符
3): public int indexof(int ch);返回指定字符在字符串中第一次出现的索引
4): public int indexof(int ch,int fromindex);返回此字符中第一次出现在字符串处的索引,并从此开始搜索
5): public int indexof(String str);返回子字符串在此字符串中第一次出现的索引
6): public int indexof(String str,int fromindex);回到此字符串中第一次出现指定字符串的索引,并从此搜索
String类的常用截取功能
1): public String substring(int begineindex);从指定位置开始截取,默认截取到末尾,返回新的字符串
2): public String substring(int begineinex,int endindex);从指定位置截取开始到指定位置结束 ,取左不取右(左闭右开)
1): boolean equals(Object obj)
2): boolean equalsIgnore(String str):将此String与另一个String比较,不考虑大小写
3): boolean contains(String str):判断当前字符串中是否包含该字符串
4): boolean startWith(String str):以当前str字符串开始
5): boolean isEmpty():判断字符串是否为空
StringBuffer提供一个字符串缓冲区,里面存储着可变序列的字符串
StringBuffer的构造方法
1): StringBuffer():无参构造的形式,初始容量16
2): StringBuffer(int capacity):指定容量构造一个字符缓冲区
3): StringBuffer(String str):构造一个字符串缓冲区,并将内容初始化为指定的字符串内容
StringBuffer的获取功能
1) public int length()返回长度
2) public int capacity()返回当前容量(如果超过容量,系统自动分配)
StringBuffer的反转功能
public StringBuffer reverse():将缓冲区里面的字符序列反转取代,返回它(字符串)本身
StringBuffer的截取功能;
1): public String substring(int start);从指定位置开始截取,默认截取到末尾,返回新的字符串
2): public String substring(int start,int end);从指定位置截取开始到指定位置结束, 返回的不在是缓冲区本身(左闭右开)
StringBuffer的删除功能
1): public StringBuffer deleteCharAt(int index):移除指定位置的字符
2): public StringBuffer deleteCharAt(int start,int end):移除指定位置的字符串到end-1处
注意: 在java或java相关的语言中,如果方法中的参数是两个索引的话,都是左闭右开
StringBuffer的替换功能
public StringBuffer replace(int start,int end,String str) 从指定位置开始到指定位置结束,用新的字符串str替换
StringBuffer的添加功能
1): public StringBuffer append(String/int.....):在字符缓冲区的末尾追加数据,并且返回字符串缓冲区本身
2): public StringBuffer insert(int offset,String str):将当前str字符串添加到指定位置,并返回字符串缓冲区本身
思考题:
1. String ,StringBuffer,StringBuilder的区别?
StringBuffer和StringBuilder都是一个可变的字符序列,提供一个缓冲区,(两者都看作容器)
StringBuffer:线程安全,同步的,执行效率低
StringBuilder:线程不安全,不同步的,执行效率高,并且单线程中优先采用StringBulider
StringBuffer 执行效率虽然低,但是由于它可以转换为String类型,并且提供他可变的字符序列,提供了缓冲区
2. StringBuffer和数组的区别?
数组:它是可以存储多个数据的容器,并且多个数据的类型必须一致
数组长度功能:length属性
StringBuffer:它是容器,他的缓冲区始终存储的只能是字符串的数据
获得缓冲区的长度:length()
五.Integer的引入及其构造方法的介绍
Integer是int的包装类, 包装类的目的是为了保证基本数据类型可以和String类型相互转换
Integer类常用的最值
1): public static final int MAX_VALUE //最大值 231-1
2): public static final int MIN_VALUE //最小值 -231
Integer提供的常用方法:
1): public static String toBinaryString(int i) 将int类型的数转换为二进制
2): public static String toOctalString(int i) 将int类型的数转换为八进制
3): public static String toHexString(int i) 将int类型的数转换为十六进制
4): public stastic Integer valueof(int i) 返回一个表示指定的 int 值的 Integer 实例
5): public int intValue() 以 int 类型返回该Integer的值
Integer的构造方法
1): public Integer(int value)
2): public Integer(String str) 注意: str必须为数字字符串
包装类的装箱操作和拆箱操作
1)装箱操作: 把一个基本数据类型转换为其包装类的对象 //装箱分为两种,自动装箱和手动装箱(见下图)
2)拆箱操作: 把包装类的对象转换为基本数据类型
int类型和String类型之间的转换
1): int类型转换为String类型有三种方式
1. 直接拼接
2. 利用Valueof(int i) int----->Integer---->String
3. 利用静态toString方法
2): String类型转换为int类型有两种方式
1. 利用public int intValue()方法 String----->Integer---->int
2. 利用public static int parseInt(String str)
六.数组的排序方法和查找方法
1).冒泡排序
思想:两两比较,大的往后放,第一次完毕之后,最大值就出现在最大索引处,然后依次这样比较,就可以得到一个排好序的数组,
用两个循环的嵌套可以实现,外层循环控制循环的次数,内层循环来比较相邻元素的值,假设该数组有m个元素,则比较m-1次,共执行
m-1次循环
2).选择排序
思想:从0索引对应的元素依次和后面索引对应的元素进行比较,小的往前放,第一次比较完毕之后,最小值就出现在最小索引处,然后依次这样比较,就可以得到一个排好序的数组
3)折半查找(二分查找)
前提:该数组必须有序
分析:
1.定义个最大索引和最小索引
2.计算中间索引
3.中间索引的元素和查找元素数值进行比较,三种情况:
查找元素数值=中间索引元素数值:左边找: 直接返回中间索引
查找元素数值>中间索引元素数值:左边找, max=mid-1;
查找元素数值<中间索引元素数值:右边找, min=mid+1
4.重新计算中间索引,回到第二步继续运算,直到找出查找元素,结束循环
java核心内库(一)相关推荐
- java核心标签库,16.JSTL标签库(我的JavaEE笔记)
主要内容:(工程el_example中6.jsp) 标签 标签 标签 标签 标签 标签 标签 标签 标签 JSTL标签库中包含核心标签库.国际化标签库.数据库标签.XML标签和JSTL函数(EL函数) ...
- JAVA学习笔记—JAVA SE(四)JAVA核心库类(下)
文章目录 四.JAVA核心库类(下) 1. 异常机制和File类 1.1 异常机制 1.1.1 基本概念 1.1.2 异常的分类 1.1.3 异常的避免 1.1.4 异常的捕获 1.1.5 异常的抛出 ...
- Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库
前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. ...
- java中jstl核心包丢失,小博老师解析Java核心技术 ——JSTL核心标签库
[引言] JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core.format.xml 和 sql)和一对通 ...
- 超硬核,拒绝内卷全靠阿里大能整理的这份 Java 核心手册,堪称强无敌,谁来不说一声牛 AC
2022 年注定是不寻常的一年,在今年因为疫情以及各大大厂纷纷传来裁员的消息,引得整个互联网圈动荡不堪.腾讯裁员 30%.京东.百度.字节等大厂都在纷纷裁员,引的这些中厂和小厂也跟风裁员. 这个时候外 ...
- 31 道 Java 核心面试题,统统打包给你!
作者 | 沉默王二 来源 | 沉默王二 责编 | 王晓曼 二哥,你好,找工作找了仨月,还没有找到,很焦虑,我该怎么办呢?你那有没有 Java 方面的面试题可以分享一波啊? 以上是读者田田给我发的私信, ...
- 25个Java机器学习工具库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- 25个Java机器学习工具库--转载
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- Java Streams,第 1 部分: java.util.stream 库简介
Java SE 8 中主要的新语言特性是拉姆达表达式.可以将拉姆达表达式想作一种匿名方法:像方法一样,拉姆达 表达式具有带类型的参数.主体和返回类型.但真正的亮点不是拉姆达表达式本身,而是它们所实现的 ...
最新文章
- C++ 从双重检查锁定问题 到 内存屏障的一些思考
- Swift 中使用 SQLite——打开数据库
- java 热替换 匿名类_Java 类的热替换
- 计算机组装的维修学测,《计算机组装与维修》课程学业水平测试卷(样卷答案).doc...
- ansible高级应用示例
- 串口通信与编程:串口基础知识
- 【原】jQuery easyUI 快速搭建前端框架
- UVA11021 Tribles
- 海康威视C++应用软件开发面经
- 操作系统资源管理技术
- 2020年IT运维市场大前景到底怎么样
- vivos9保密柜从哪里进
- 如何制作饼图?制作步骤有哪些?专业的饼图制作软件
- Neighbourhood Consensus Networks(NIPS 2018)特征点检测与匹配论文笔记
- c语言中0x12是什么进制,C语言中进制知识汇总
- WenetSpeech数据集的处理和使用
- 计算机视觉、机器学习、图形学等学习资料网站
- A Novel Two-stage Separable Deep Learning Framework for Practical Blind Watermarking论文阅读
- 计算机科学与技术的职业需求,职业规划:计算机科学与技术专业就业前景
- opa847方波放大电路_运放方波发生器电路图(三款经典电路图分享)