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三个类.那么他们到底有什么优缺点 ...
随机推荐
- 聊聊数据库事务内嵌TCP连接
最近再看项目代码,发现很多的service里面,喜欢在事务内部再去调用HTTP请求,简单分析下此种方式的利弊与解决策略. 概述 在数据库内部嵌套TCP连接(一般是HTTP调用或是RPC远程调用). @ ...
- Mac上使用Royal TSX快速连接到OCI主机
问题: 每次使用Royal TSX连接到OCI主机都要交互式输入opc这个用户名,次数多了也蛮烦. 那如何既指定用户名,又想要通过ssh私钥登陆机器呢? 这个需求确实很初级,但也着实困扰过我,因为开始 ...
- Go语言中匿名嵌套和类型嵌套的区别
在Go语言中,匿名嵌套结构体和与类型同名的嵌套结构体不是完全等价的,它们有一些重要的区别.以下是它们之间的主要区别: 字段访问: 匿名嵌套结构体:当你使用匿名嵌套结构体时,内部结构体的字段可以被直接访 ...
- SQL Server 使用C#窗体与数据库连接,制作数据库查看器
SQL Server 使用C#窗体与数据库连接,制作数据库查看器 本文中心:讨论C#对SQL Server 的增删改查,使用Treeview制作数据库查看器. SSMS部分:确保SQL Server ...
- 1-MySQL数据库的安装和基础语法介绍
1.MySQL是什么? MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.它是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最 ...
- 各快 100 倍?4G、5G、6G 相差这么多吗
二狗子今天晚上有点 emo,为什么呢? 原来是二狗子心心念很久的一个手游上线了,二狗子兴冲冲地下载了 40 多分钟,终于下载完了游戏.结果打开游戏一看,发现游戏内部的更新写着预计 30 分钟完成更新. ...
- getchar()和putchar()
#include <stdio.h> #include <stdlib.h> int main() { char ch; /*.putchar() a. putchar函数的格 ...
- LogicFlow 是一款流程图编辑框架
简体中文 | English LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互.编辑所必需的功能和简单灵活的节点自定义.插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求. 特 ...
- WPF绘图(一):几何(Geometry)与形状(Shape)
1. Geometry 在数学中,我们可以用一个方程描述圆:x2+y2=25.这个方程描述的是,一个半径为5,中心点在(0,0)的圆.这种纯数学的描述就是Geometry(几何). 但此时,这个&qu ...
- 数组操作 filter和find
现在有个需求: 后端给一个list过来,1-4,有就显示,没有前面四个card就空着,从第五个开始,有数据就循环出来,区别他们的kind字段. 这里想了很久怎么写,最后决定,洗数据. 就是从给给的数据 ...