第三小节之Java API
1、String类和StringBuffer类
字符串中可以包含任意字符,这些字符必须包含在一对双引号” “之内
1.1String类
String a=null与String a=""的区别,前者表示对象是空对象即没有对象,后者表示有对象(只是对象没有内容)。
构造方法:String();//创建一个内容为空的字符串
String(char[] value);//根据指定的字符数组创建对象
String(String value);//根据指定的字符串内容创建对象
常见方法:int indexOf(int ch);//返回指定字符在此字符串中第一次出现处的索引
int lastIndexOf(int ch);//返回指定字符在此字符串中第一次出现处的索引
char charAt(int index);//返回字符串中index位置上的字符,其中index的取值范围是:0~(字符串长度-1)
int length();//返回此字符串的长度
boolean equals(Object anObject);//将此字符串与指定字符串比较
boolean isEmpty();//当且仅当字符串的长度为为0时返回true
boolean contains(CharSequeue cs);//判断此字符串是否包含了指定的字符串
boolean starts/endsWith(String string);//判断此字符串与指定的字符串时候开始或结束
String toLower/toUpperCase();//全部转换为小写或者大写
String valueOf(int i);//整数转换为字符串,float、double、char等其它基本类型的数据都可以通过该方法转为String字符串类型
char[] toCharArray();//将此字符串转换为一个字符数组
String replace(CharSequeue oldstr,CharSequeue newstr);//返回一个新的字符串,通过newstr替换此字符串中出现的所有oldstr得到
String[] split(String regesx);//根据参数regex将原来的字符串分割为若干个子字符串
String substring(int beginIndex,int endIndex);//返回一个新的字符串,它包含此字符串中从索引beginIndex到索引endIndex之间的所有字符
String trim();//返回一个新的字符串,它去除了原字符串首尾的空格
equals()方法用于比较两个字符串中的字符是否相等,==方法用于比较两个字符串对象的地址是否相同。
1.2StringBuffer类
由于字符串是常量,因此一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。为了便于字符串的修改,JDK提供了一个StringBuffer类(也称为字符串缓冲区),它的长度和内容是可以改变的。StringBuffer类似一个字符容器,当且在其中添加或删除字符串时,并不会产生新的StringBuffer对象。
常用方法:
StringBuffer append(char c);//添加参数到StringBuffer对象中,始终将这些字符添加到缓冲区的末尾;
StringBuffer insert(int offset,String str);//将字符串中的offset位置插入字符串str,插入到指定位置;
StringBuffer deleteCharAt(int index);//移除指定位置的字符;
StringBuffer delete(int start,int end);//删除Stringbuffer对象中指定范围的字符或字符串序列;
StringBuffer replace(int start,int end,String s);//在Stringbuffer对象中替换指定的字符或字符串序列
void setCharAt(int dex,char ch);//修改指定位置index处的字符序列
String toString();//返回Stringbuffer缓冲区的字符串
StringBuffer reverse();//将此字符串反转取代
1.3String类和StringBuffer类的比较:
1、String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuffer表示字符容器,其内容和长度都可以随时修改。
2、String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法。
3、String类对象可以用操作符+进行连接,而StringBuffer类对象之间不能。
2、System类与Runtime类
2.1、System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的。
常用方法:
static void exit(int status);//该方法用于终止当前正在运行的Java虚拟机,其中参数status表示状态码,若状态码非0,则表示异常终止
static long gc();//运行垃圾回收器,并对垃圾进行回收
static long currentTimeMillis());//返回以毫秒为单位的当前时间
static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length);//从src引用的指定源数组复制到dest引用的数组,复制从指定的位置开始,到目标数组的指定位置结束,快速拷贝一个数组,且目标数组必须要有足够的空间来存放拷贝的元素。
static Properies getProperties();//取得当前的系统属性,返回一个Properties对象,其中封装了系统的所有属性,这些属性是以键值对的形式存在
static String getProperty(String key);//获取指定键描述的系统资源
2.2、Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程,并且只有一个实例,因此该类采用单例模式进行设计,对象不可以直接实例化。
Runtime run=Runtime.getRuntime();
availableProcessors();//返回当前虚拟机的处理器个数
freeMemory();//空闲内存数
maxMemory();//最大内存数
exec();//用于执行一个dos命令,返回一个Process对象,该对象表示操作系统的一个进程
3、Math类与Random类
3.1、Math类中都是static方法和两个静态常量PI和E,分别代表数学常量∏和e。
round(double n);//方法用于对某个小数进行四舍五入,此方法会将小数点后面的数字全部忽略,返回一个int值,
ceil(int n)//方法求大于参数的最小整数,返回为double
floor(int n);//方法求小于参数的最大整数,返回为double
random();//方法用于生成一个大于等于0.0小于1.0随机值
3.2、Random类,它可以在指定的取值范围内随机产生数字
构造方法:
Random();//用于创建一个伪随机数生成器
Random(long seed);//使用一个long型的seed种子创建伪随机数生成器,用于产生相同序列的随机数(传入种子相同即可),如果没有指定种子,系统会以当前时间戳作为种子。
常用方法:
boolean nextBoolean();//随机生成boolean类型的随机数
boolean nextDouble();//随机生成double类型的随机数,返回0.0和1.0之间double类型的值
boolean nextFloat();//随机生成float类型的随机数
int nextInt();//随机生成int类型的随机数
int nextInt(int n);//随机生成0~n之间int类型的随机数
long nextLong();//随机生成long类型的随机数
4、包装类
一个数据是基本数据类型,则它没有方法可言,把它变为引用类型,则有很多方法可用。
基本数据类型——包装类(集合中经常使用)
byte——Byte long——Long
char——Character float——Float
int——Integer double——Double
short——Short boolean——Boolean
包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型;反之,拆箱是指将引用数据类型的对象转为基本数据类型。
Integer常用的方法
toBinaryString(int i);//以二进制无符号整数形式返回一个整数参数的字符串
toHexString(int i);//以十六进制无符号整数形式返回一个整数参数的字符串
toOctalString(int i);//以八进制无符号整数形式返回一个整数参数的字符串
valueOf(int i);//返回一个表示指定的int值的integer实例
valueOf(String s);//返回保存指定的String值的Integer对象
parseInt(String s);//将字符串参数作为有符号的十进制整数进行解析
intValue();//将Integer类型的值以int类型返回
int parseInt(String s,int radix);//将S转换为radix进制的int数值,静态方法
1、包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值。
2、除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象,但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据。
3、除了Character外,包装类都有parseXXX(String s)的静态方法,将字符串转换为对应的基本类型的数据。
JDk5.0新特性——自动装箱和拆箱
5、Date类、Calendar类与DateFormat类
5.1Data类
构造方法:
Data();//用来创建当前日期时间的Data对象。
Data(long date);//用于创建指定时间的Data对象,其中date参数表示1970年1月1日00:00:00(成为历元)以来的毫秒数,即时间戳。
5.2Calendar类:用于完成日期和时间字段的操作,它可以通过特定的方法设置和读取日期的特定部分,比如年、月、日、时、分、秒等。Calendar类是一个抽象类,不可以被实例化,在程序中需要调用其静态方法getInstance()来得到一个Calendar对象:
Calendar calendar=Calendar.getInstance();
常用方法:
int get(int field);//返回指定日历字段的值
void add(int field,int amount);//根据日历规则,为指定的日历字段添加或减去指定的时间量
void set(int field,int value);//为指定日历字段设置指定值
void set(int year,int month,int data );//设置calendar对象的年、月、日三个字段的值
void set(int year,int month,int data ,int hourOfDay,int minute,int second);//设置Calendar对象的年月日时分秒六个字段的值
Calendar.YEAR,Calendar.MONTH,Calendar.SECOND//年月秒,注意:月份的起始值是从0开始而不是1。
Calendar对象与Date对象的相互转化:Calendar的getTime()返回一个表示Calendar时间值的Date对象,同时Calendar有一个steTime(Date date)方法,setTime()方法接受一个Date对象表示的时间值设置给Calendar对象。
5.3DateFormat类:专门用于将日期格式化为字符串或者用特定格式显示的日期字符串转换为一个Date对象。是抽象类,不能被实例化,调用相应的静态方法。
常用方法:
static DateFormat getDateInstance();//用于创建默认语言环境和格式化风格的日期格式器
String format(Date date);//将一个Date格式化为日期/时间字符串
Date parse(String source);//将给定字符串解析成一个日期
DateFormat类中定义了四个常量值用于参数传递给这些方法,其中包括FUll(完整格式)、LONG(长格式)、MEDIUM(普通格式)和SHORT(短格式)。
5.3.1simpleDateFormat类是DateFormat类的子类,使用new关键字创建实例对象,构造方法接受一个格式字符串参数,表示日期格式模板。
SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd--HH:mm;;ss;sss",locale.CHINA);
只要传入合适的格式字符串参数,就能解析各种形式的日期字符串或者将Date日期格式化成任何形式的字符串。
6、JDk新特性——swith语句支持字符串类型
swith();//语句参数可以接受int、char、string类型。
第三小节之Java API的更多相关文章
- ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程
前言 在上一篇中介绍了ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解,本篇文章就来讲解下 ElasticSearch 6.x官方Java API的 ...
- Hbase学习(三)过滤器 java API
Hbase学习(三)过滤器 HBase 的基本 API,包括增.删.改.查等. 增.删都是相对简单的操作,与传统的 RDBMS 相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根 ...
- Hadoop 系列(三)Java API
Hadoop 系列(三)Java API <dependency> <groupId>org.apache.hadoop</groupId> <artifac ...
- ElasticSearch6(三)-- Java API实现简单的增删改查
基于ElasticSearch6.2.4, Java API创建索引.查询.修改.删除,pom依赖和获取es连接 可查看此文章. package com.xsjt.learn; import java ...
- Kafka系列三 java API操作
使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- Hadoop之HDFS(三)HDFS的JAVA API操作
HDFS的JAVA API操作 HDFS 在生产应用中主要是客户端的开发,其核心步骤是从 HDFS 提供的 api中构造一个 HDFS 的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS ...
- Java-MyBatis: MyBatis3 | Java API
ylbtech-Java-MyBatis: MyBatis3 | Java API 1.返回顶部 1. Java API 既然你已经知道如何配置 MyBatis 和创建映射文件,你就已经准备好来提升 ...
- 【分布式】Zookeeper使用--Java API
一.前言 上一篇博客我们通过命令行来操作Zookeper的客户端和服务端并进行相应的操作,这篇主要介绍如何通过API(JAVA)来操作Zookeeper. 二.开发环境配置 首先打开Zookeeper ...
- Elasticsearch的CRUD:REST与Java API
CRUD(Create, Retrieve, Update, Delete)是数据库系统的四种基本操作,分别表示创建.查询.更改.删除,俗称"增删改查".Elasticsearch ...
随机推荐
- Emacs常用命令快速参考
原文地址 Emacs常用命令的汇总,来自Emacs参考卡片 注意:以下命令中标注的按键,大写的C代表Control,在键盘上通常是Ctrl键,而M代表Meta,在键盘上通常是Alt键,S则代表Shif ...
- Android ConstraintLayout 约束布局属性
常用方法总结 layout_constraintTop_toTopOf // 将所需视图的顶部与另一个视图的顶部对齐. layout_constraintTop_toBottomOf // 将所需视图 ...
- Java学习之==>异常体系
一.定义 程序运行时总是会遇到各种各样的问题,Java中的异常体系就是针对这些问题提出的统一的处理方案.在Java中,将这些各种各样的问题进行归类后,统一称为异常. 二.分类 我们先来看看下面这个图: ...
- 使用ssh-agent管理私钥
使用ssh-agent的好处: 如果有多台远程服务器与多个私钥文件,ssh-gent将会尝试使用不同的私钥文件建立连接,直至成功 假如有 A.B.C 三台服务器,A是控制节点,A可以直接登录B,但是无 ...
- CentOS7上安装配置破解Elasticsearch+Kibana 6.4.2-6.5.1全过程
最近正在学习服务器应用平台的搭建的相关知识.有幸从朋友与书上了解到Elastic套件的使用,我花了两天的时间把最新的套件部署在我的服务器上,中间踩了数不清的坑.我把整个过程都记录了下来与各位有需要的朋 ...
- Docker 面试题(一)
什么是Docker? Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行. CI(持续集成)服务器的功能是什么? CI功能就是在 ...
- 17.DRX操作时序
DRX状态转移 OnDuration:监听态,监听并接收PDCCH,也叫激活态 StayActive:保持激活状态(做完业务后,继续监听一段时间和一个非激活定时器时间,或者还有缓存) off:off状 ...
- Hibernate——简单的增、删、改、查操作
思路: 1.导入hibernate jar包 2.导入mysql jar包 3.创建数据库 4.创建java实体类 5.编写hibernate.cfg.xml配置文件 6.编写dao类 目录: 数据表 ...
- 利用Ansible模块copy和fetch进行主机间文件的传递
场景: java应用程序和Ansible不在同一台机子,要读取的文件又在另一台主机. 主机a不能保存文件,可以临时保存. 文件都在主机b上保存. 需求: 需要将文件从主机c传到主机b,再从主机b传到主 ...
- NFC读写器调试总结20191203
以下为NFC读写器调试经验总结: 1.读写器部分,从TX1/TX2输出的13.56MHZ信号主要由L0/C0构成低通滤波器,用于滤除13.56MHZ的高次谐波,取值L0=1UH,C0=47PF时候,谐 ...