重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“String类的常用方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
乌达网站建设公司创新互联,乌达网站设计制作,有大型网站制作公司丰富经验。已为乌达近千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的乌达做网站的公司定做!
字符串是常量,创建之后不可改变
字符串字面值存储在字符串池中,可以共享。
String s = "Hello";产生一个对象,字符串池存储
String s = new String ("Hello");//产生两个对象,堆,池各存储一个
public int length():返回字符串长度
String str = "java是最好的语言"; System.out.println(str.length());//获取字符串长度
public char charAt(int index):根据下标获取字符
String str = "java是世界上最好的语言"; System.out.println(str.charAt(str.length()-1));//获取字符串最后一位
public boolean contains(String str):判断当前字符串中是否包含str
String str = "java是世界上最好的语言"; System.out.println(str.contains("java"));//查看字符串中是否包含"java".
public char[] toStringArray():将字符串转换成数组
public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1。
public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引
public String trim():去掉字符串前后的空格
public String toUpperCase():将小写转换成大写
public boolean endWith(String str):判断字符串是否以str结尾
public boolean startWith(String str):判断字符串是否以str开头
public String replace(char oldChar,char newChar);将旧字符串替换成新字符串
public String[] split(String str):根据str做拆分
String say = "java is the best progaming language,java xiang"; String[] arr = say.split("[ ,]+"); System.out.println(arr.length); for(String string : arr){ System.out.println(string); }
public String subString():对字符串进行截取
StringBuffer:可变长字符串,JDK1.0提供了,运行效率慢、线程安全
StringBuilder:可变长字符串,JDK5.0提供,运行效率快、线程不安全。
append();追加 :在字符串末尾追加
insert();添加 :在指定位置添加
replace();替换 :在指定位置替换
delete(); :删除
public class TestDemo01 { public static void main(String [] args){ StringBuffer sb = new StringBuffer(); //1 append();追加 sb.append("java世界第一"); System.out.println(sb.toString()); sb.append("真香"); System.out.println(sb.toString()); //2 insert();添加 sb.insert(0,"前面:"); System.out.println(sb.toString()); sb.replace(0,3,"开始:");//替换 System.out.println(sb.toString()); sb.delete(0,3);//删除 System.out.println(sb.toString()); } }
StringBuilder效率高于StringBuffer
public class TestDemo02 { public static void main(String [] args){ long start = System.currentTimeMillis(); StringBuffer sb = new StringBuffer(); for(int i = 0; i < 99999; i++){ sb.append(i); } long end = System.currentTimeMillis(); System.out.println("StringBuffer用时:"+(end - start)); System.out.println("============================="); long start1 = System.currentTimeMillis(); StringBuilder sb1 = new StringBuilder(); for (int i = 0; i < 99999; i++) { sb1.append(i); } long end1 = System.currentTimeMillis(); System.out.println("StringBuilder用时:"+(end1 - start1)); if((end-start)>(end1-start1)){ System.out.println("StringBuilder效率高于StringBuffer"); }else{ System.out.println("StringBuffer效率高于StringBuilder"); } } }
很多实际应用中需要精确 运算,而double是近似值存储,不在符合要求,需要借助BigDecimal
位置:java.math包中
作用:精确计算浮点数
创建方式:BigDecimal bd = new BigDecimal("1.0");
方法:
BigDecimal add(BigDecimal bd) 加
BigDecimal subtract(BigDecimal bd) 减
BigDecimal multiply(BigDecimal bd) 乘
BigDecimal divide(BigDecimal bd) 除
import java.math.BigDecimal; public class TestDemo03 { public static void main(String[] args) { double d1 = 1.0; double d2 = 0.9; System.out.println(d1 - d2); //BigDecimal,大的浮点数精确计算 BigDecimal bd1 = new BigDecimal("1.0"); BigDecimal bd2 = new BigDecimal("0.9"); //减法 subtract(); BigDecimal r1 = bd1.subtract(bd2); System.out.println(r1); //加法 add(); BigDecimal r2 = bd1.add(bd2); System.out.println(r2); //乘法 multiply(); BigDecimal r3 = bd1.multiply(bd2); System.out.println(r3); //除法 divide(); BigDecimal r4 = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9")); //(1.4 - 0.5)/0.9 System.out.println(r4); } }
Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代
时间单位
1秒 = 1000毫秒
1毫秒 = 1000微秒
1 微秒 = 1000纳秒
Calendar提供了获取或设置各种日历字段的方法
构造方法
protected Calendar() :由于修饰符是protected,所以无法直接创建该对象
其他方法
方法名 | 说明 |
---|---|
static Calendar getInstance() | 使用默认时区和区域获取日历 |
void set (int year,int month,int date,int hourofday,int minute,int second) | 设置日历的年、月、日、时、分、秒 |
int get(int field) | 返回给定日历字段的值、字段比如年、月、日等 |
void setTime(Date date) | 用给定的Date设置此日历的时间。Date-Calendar |
Date getTime() | 返回一个Date表示此日历的时间。Calendar-Date |
void add(int field, int amount) | 按照日历的规则,给指定字段添加或减少时间量 |
long getTimeInMillies() | 毫秒为单位返回该日历的时间值 |
SimpleDateFormat是一个以语言环境有关的方式来格式化和解析日期的具体类
进行格式化(日期 --> 文本)、解析(文本 --> 日期)
常用的时间模式字母
字母 | 日期或时间 | 示例 |
---|---|---|
y | 年 | 2019 |
M | 年中月份 | 08 |
d | 月中天数 | 10 |
H | 1天中小时数(0-23) | 22 |
m | 分钟 | 16 |
s | 秒 | 59 |
S | 毫秒 | 367 |
public static void main(String [] args)throws Exception{ // 创建SimpleDateFormat对象 y 年 M月 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //创建Date对象 Date date = new Date(); //格式化Date(把日期转换成字符串) String str = sdf.format(date); System.out.println(str); //解析(把字符串转换成日期) Date date2 = sdf.parse("1999/02/24"); System.out.println(date2); }
System系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的
方法名 | 说明 |
---|---|
static void arraycopy(...) | 复制数组 |
static long currentTimeMillis(); | 获取当前系统时间,返回的是毫秒值 |
static void gc(); | 建议JVM赶快启动垃圾回收器回收垃圾 |
static void exit(int status); | 退出jvm,如果参数是0表示正常退出jvm,非0表示异常退出jvm |
“String类的常用方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!