字符串类java_Java字符串和常用类

字符串

(一) "==" 和 equals() 的区别

" == " :判断两个字符串在内存首地址是否相同,即判断是否是同一个字符串对象。

equals() :比较存储在两个字符串对象中的内容是否一致。

(二) 获取字符串中特定位置的字符

s.charAt(i) == 'a'(统计 a 出现的字数)

String s= "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";//出现次数

int num = 0;//循环遍历每个字符,判断是否是字符 a ,如果是,累加次数

for ( int i=0; i

{//获取每个字符,判断是否是字符a

if ( s.charAt(i)=='a') {//累加统计次数

num++;

}

}

(三) StringBuilder 和 StringBuffer 类

当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder类。

//创建一个StringBuilder对象,用来存储字符串

StringBuilder hobby=new StringBuilder("zzp");

StringBuilder 类的常用方法

append():追加内容;insert():插入内容到指定位置;toString():将StringBuilderd对象转换为String对象;length():获取字符串长度。

//创建一个空的StringBuilder对象

StringBuilder str = newStringBuilder();//1.追加字符串

str.append("zzpzzpcdhcdh");//2.从后往前每隔三位插入逗号

for (int i = str.length(); i >= 0; i = i -3)

{

str.insert(i,',');

}//3.将StringBuilder对象转换为String对象并输出

System.out.println(str.toString());

Java中的常用类

(一) Java中的包装类

为了让基本数据类型也具备对象的属性,Java为每个基本数据类型提供了一个包装类,使得可以像操作对象那样操作基本数据类型。

基本类型对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

boolean

Boolean

包装类主要提供了两大类方法:

将本类型和其他基本类型进行转换的方法

将字符串和本类型及包装类互相转换的方法

以Integer包装类为例:

//定义int类型变量,值为99

int score1 = 99;//创建Integer包装类对象,表示变量score1的值

Integer score2 = newInteger(score1);//将Integer包装类转换为double类型

double score3 =score2.doubleValue();//将Integer包装类转换为float类型

float score4 =score2.floatValue();//将Integer包装类转换为int类型

int score5 = score2.intValue();

(二) Java 中基本类型和包装类之间的转换

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱(基本类型--->包装类)

//定义double类型变量

double a = 99.5;//手动装箱

Double b = newDouble(a);//自动装箱

Double c = a;

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱(包装类--->基本类型)

//定义一个Double类包装对象

Double d = new Double(87.0);//手动拆箱

double e =d.doubleValue();//自动拆箱

double f = d;

(三) Java 中基本类型和字符串之间的转换

基本类型转换为字符串有三种方法:

使用包装类的 toString() 方法

使用String类的 valueOf() 方法

用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

int c = 10;

String str1=Integer.toString(c);

String str2=String.valueOf(c);

String str3= c + "";

字符串转换成基本类型有两种方法:

调用包装类的 parseXxx 静态方法

调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

//将字符串转换为基本类型

String str = "8";int d =Integer.parseInt(str);int e = Integer.valueOf(str);

(四) 使用 Date 和 SimpleDateFormat 类表示时间

日期和文本转换方法:

使用 format() 方法将日期转换为指定格式的文本

使用 parse() 方法将文本转换为日期

(调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理)

importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;public classMain {public static voidmain(String[] args) {//使用format()方法将日期转换为指定格式的文本

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");

SimpleDateFormat sdf2= new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

SimpleDateFormat sdf3= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//创建Date对象,表示当前时间

Date now = newDate();//调用format方法,将日期转换为字符串并输出

System.out.println(sdf1.format(now));

System.out.println(sdf2.format(now));

System.out.println(sdf3.format(now));//使用parse()方法将文本转换为日期

String d = "2019-7-5 15:55:22";

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//调用parse()方法,将字符串转换为日期

try{

Date date=sdf.parse(d);

}catch(ParseException e) {

e.printStackTrace();

}

}

}

(五) Calendar 类的应用

由于Date本身设计的问题,推荐使用Calendar进行时间和日期的处理

//创建Calendar对象

Calendar c =Calendar.getInstance();//将Calendar对象转换为Date对象

Date date =c.getTime();//创建SimpleDateFormat对象,指定目标格式

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//将日期转换为指定格式的字符串

String now =sdf.format(date);

System.out.println("当前时间:" + now);

(六) 使用 Math 类操作数据

返回值方法名解释

long

round()

返回四舍五入后的整数

double

floor()

返回小于参数的最大整数

double

ceil()

返回大于参数的最小整数

double

random()

返回 [ 0, 1 )之间的随机浮点数

Math类中的所有方法都是静态的,所以可以用类名.方法()的方式使用,如:Math.round()

Java字符串的使用和常用类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值