Object类、String和StringBuffer、Math类、日期处理类
1、Object类
“万物皆对象”:(1)从类和对象角度:任何具体事物都是一个对象,。
(2)Object类,类似“东西”。所有的类都继承了Object类。
使用规则: (1)所有的类都继承了Object,即使类class P{} 隐式的继承了Object
(2)java中是单继承,Object可能不是类的直接父类,顶级父类
(3)Object变量 可以指向任意一个类的实例对象。
(4) 所有的 数组继承了Object类
Object类的常用方法:
hashcode() 返回值是int ,根据内存地址 计算得到的hashCode (哈希码值)
一般情况下 ,采用== 判断两个对象是否相等,就是判断两个对象的哈希码是否相等
B.equals(Object o) 返回值boolean ,判断传入的o对象,和调用方法的对象b是否相等
如果说equals方法没有重写,等价于o==b ,判断这两个对象的 哈希码值是否一致。
子类 也可以对equals重写,重写之后,有不同的 判断依据
toString() 返回值String ,把对象转成一个String,一般情况sysout(a),实际上就是默认调用a.toString(); 对象的类名@哈希码值
子类可以对toString重写。
2、String和StringBuffer
String不是基本数据类型,首字母大写,是个类。
String和StringBuffer是常见的字符串处理类
注意事项: 常见的字符处理类,用final修饰,不能被继承。
String类中的属性也用final修饰,值不会发生改变。
StringBuffer值是可变的。
String和StringBuffer的区别
String对象创建方式:
声明并赋值:String bb = "123";// 这种赋值方式, 值保存在常量池中,效率相对高。
构造方法赋值
String aa = new String(); //无参数构造方法
String cc = new String("123");//具体值 保存到了 堆内存
String dd = new String(chars);//构造方法参数 char类型的数组
new String(byte[],”utf-8”)//byte数组,和编码格式
String的常见方法:
char charAt(index) 获取字符串中指定位置的字符。其中,参数index指的是字符串的序数,字符串的序数从0开始到length()-1
String concat(String str) 将该String对象与str连接在一起。与Java提供的字符串连接运算符“+”的功能相同
Boolean equals(Object anObject) 将该字符串与指定对象相比,如果两者包含的字符序列相等,则返回true;否则返回false
byte[] getBytes() 将该String对象转换成byte数组
int indexOf(String str) 找出str子字符串在该字符串中第一次出现的位置
int length() 返回当前字符串的长度
String replace(char oldChar,char newChar) 将字符串中的第一个oldChar替换成newChar
boolean endsWith(String sufffix) 该String对象是否以sufffix结束
String substring
(int beginIndex,int endIndex) 获取从beginIndex位置开始到endIndex(不包括)位置的子字符串
char[] toCharArray() 将该String对象转换成char数组
String toUpperCase() 将字符串转换成大写
StringBuffer类常用方法
StringBuff append(String str) 将字符串str追加到当前StringBuffer对象
StringBuffer insert (intoffset , String str) 按顺序将字符串str插入到当前StringBuffer对象的intoffset位置
StringBuffer reverse() 将当前StringBuffer对象的字符序列用其反转形式取代
void setCharAt(int index, char ch) 将index索引处的字符设置为ch
3、Math类
Math类:提供常见的数学运算类。常见方法: 立方、平方、log、sin 、cos
Math使用注意:
(1)Math类构造方法用private修饰,Math不能被new创建实例。
(2)Math类也是用final修饰,不允许被继承。
(3)Math中的方法和属性全用static修饰,不用new对象,
(4)使用时候:类名.方法名() 类名.属性
//Math类中的 方法和 属性全用static 修饰, 类名.方法名() 类名.属性
System.out.println("-10 的绝对值"+Math.abs(-10)); //求数的绝对值
// 求 幂 2的2次方, 3的10次方
System.out.println("2的3次方"+Math.pow(2, 3));;
//求数的四舍五入
System.out.println("2.3的四舍五入值"+ Math.round(2.3));
//地板值:比 数小 的最大值 , 求小数的整数部分
System.out.println("2.3的地板值"+Math.floor(2.3));
//天花板值
System.out.println("2.3的地板值"+Math.ceil(2.3));
//随机数:随机产生 [0,1)的小数 ,左闭右开
System.out.println("随机产生数字"+Math.random());
4、日期处理类
Java中提供了一些对日期出来的类,
Date类:提供 年月日时分秒
构造方法 : Date() 获取当前系统时间
Date(Long 时间间隔) 以毫秒为单位,从1970年1月1号开始往后计算
常用方法:getTime() 就是获取当前时间 和1970年的毫秒差
SimpleDateFormat类:String和Date转换
Date类型对象转String:日期在显示的时候,符合人们的习惯
//year 年份, month月份,day 日 , hour 小时 ,minute 分钟,second 秒
//y代表的是年, 一个y代表一位数字
//M代表月份,
//h代表小时, HH 24小时制 hh 12小时制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
//format 按照写好的转换格式,把date对象转成string
String str = sdf.format(now);
System.out.println(str);
String 转Date:我们要把String按照时间处理
String jieyue ="2020-5-30";
//字符串 转Date,
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(jieyue);
System.out.println(date);
Calendar:日历类。
使用规则:(1)是一个抽象类, 不能够直接去new对象
(2)日历类的方法,绝大数不是static修饰的,必须 要用对象才能够调用方法
(3)类中提供静态方法getInstance()创建对象
具体使用:
通过getInstance()方法创建Calendar的子类对象
Calendar calendar=Calendar.getInstance();
从Calendar中获取Date对象
Date date=calendar.getTime();
通过Date对象获得对应的Calendar对象
calendar.setTime(new Date());
Object类、String和StringBuffer、Math类、日期处理类的更多相关文章
- 类 String、StringBuffer、StringBuilder
类 String String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持 ...
- 深入了解String,StringBuffer和StringBuilder三个类的异同
Java提供了三个类,用于处理字符串,分别是String.StringBuffer和StringBuilder.其中StringBuilder是jdk1.5才引入的. 这三个类有什么区别呢?他们的使用 ...
- 15_常用API_第15天(Object、String、StringBuffer、用户登陆注册)_讲义
今日内容介绍 1.Object 2.String 3.StringBuilder 01API概念 A:API(Application Programming Interface) 应用程序编程接口 B ...
- 6、Object、String、StringBuffer
Java的Api以及Object类 API概念 * A:API(Application Programming Interface) * 应用程序编程接口 * B:Java API * 就是Java提 ...
- 常用API(Object、String、StringBuffer、用户登陆注册)
常用API 今日内容介绍 u Object u String u StringBuilder 第1章 Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象 ...
- java基础(15):常用API(Object、String、StringBuffer)
1. Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象的关系.接下来我们开始使用对象做事情,那么在使用对象做事情之前,我们要学习一些API中提供的常用 ...
- 代码块&&API(object、String、StringBuffer、StringBuilder)
day 07 代码块 局部代码块 定义在方法中,用户划分区域的 构造代码块 和成员方法并列,用{}包裹 每次创建对象的时候都会执行,优先于构造方法 静态代码块 构造代码块前面用static声明 在同类 ...
- Java_字符类(Character、String、StringBuffer)_char是基本数据类型,Character是其包装类型。
在java中有三个类负责对字符的操作:Character.String.StringBuffer.其中,Character类是对单个字符进行操作,String是对一个字符序列的操作,Stri ...
- 详解 JDK8 新增的日期时间类
JDK8 新增的日期时间类 在本人之前的博文<处理时间的类 -- System类.Date类 .SimpleDateFormat类 与 Calendar类>中,讲到过表示时间的类,有三类: ...
- String、StringBuffer、StringBuilder之间区别
String,StringBuffer,StringBuilder 之间区别 在字符串处理中C#提供了String.StringBuffer.StringBuilder三个类.那么他们到底有什么优缺点 ...
随机推荐
- 文心一言 VS 讯飞星火 VS chatgpt (88)-- 算法导论8.3 1题
一.用go语言,参照图 8-3 的方法,说明 RADIX-SORT在下列英文单词上的操作过程:COW,DOG,SEA,RUG,ROW,MOB, BOX, TAB, BAR, EAR,TAR, DIG, ...
- SQL Server关于AlwaysOn的理解-读写分离的误区(一)
前言 很多人认为AlwaysOn在同步提交模式下数据是实时同步的,也就是说在主副本写入数据后可以在辅助副本立即查询到.因此期望实现一个彻底的读写分离策略,即所有的写语句在主副本上,所有的只读语句分离到 ...
- Microsoft Build 2021大会开始后,Develop Blog一系列更新
.NET BLOG 发布.NET 6预览版4 https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4/ 发布.NET MAUI ...
- mysqlbinlog输出sql
./mysqlbinlog -v --base64-output=DECODE-ROWS ~/Downloads/tymysql2|grep -A4 'ALTER' >~/Downloads/a ...
- Solution -「洛谷 P2044」「NOI 2012」随机数生成器
Description Link. 给你一个递推式,让你求某一项的值模上 \(g\). Solution 这道题正解是矩阵.我这里给出一种分治的做法. 题目中说 $\ \ \ \ \ \ \ $ $\ ...
- ORA-10456: cannot open standby database; media recovery session may be in progress
SQL> alter database recover managed standby database disconnect from session;Database altered.SQL ...
- 如何基于three.js(webgl)引擎架构,研发一套通过配置就能自动生成的3D机房系统
序: 这几年观察下来,大部分做物联网三维可视化解决方案的企业或个人, 基本都绕不开3D机房.包括前面也讲过这样的案例<使用webgl(three.js)创建自动化抽象化3D机房,3D机房模块详细 ...
- 低代码平台探讨-MetaStore元数据缓存
背景及需求 之前提到我们模型驱动的实现选择的是解释型,需要模型的元数据信息,在接到请求后动态处理逻辑. 此外,应用的通用能力中还包括:页面dsl查询,菜单查询等. 而且后期加入触发器,用户自定义api ...
- Vue源码学习(十二):列队处理(防抖优化,多次调用,只处理一次)
好家伙, 本篇讲的是数据更新请求列队处理 1.一些性能问题 数据更新的核心方法是watcher.updata方法 实际上也就是vm._updata()方法, vm._updata()方法中的patch ...
- 内存与CPU:计算机默契交互的关键解析
内存 内存和CPU之间的交互是计算机体系结构中至关重要的一部分.它们之间的互动类似于一对不可分割的爱侣,彼此相互依赖且密不可分.没有内存,CPU无法执行程序指令,这样计算机就会变得毫无意义.同样地,如 ...