#在千锋“逆战”学习第22天#String类、Question9习题

String类
字符串是常量,创建之后不可改变
字符串字面值存储再字符串值当中,可以共享
String s = “Hello”;产生一个对象,字符串池中存储
String s = new String(“Hello”);产生两个对象,堆、池中各产生一个

常用方法
public char charAt(int index):根据下标获取字符
public boolean contains(String str):判断当前字符串中是否含有str
public char[] toCharArray():将字符串转化为数组
public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在则返回-1
public int lastIndexOf(String str):查找str在当前字符串中最后一次出现的下标索引
public int length():返回字符串的长度
public String trim():去掉字符串前后的空格,注意中间的空格不会去掉
public String toUpperCase():将小写转化为大写
public String toLowerCase():将大写转化为小写
public boolean endWith(String str):判断字符串是否以str结尾
public String replace(char oldChar,char newChar):将旧字符替换为新字符串。(替换内容为字符串也可以)
public String[] split(String str):根据str来做拆分,作为拆分的str不会再出现在返回的String数组里面,所以注意不可以用有用内容来做拆分。

可变字符串
StringBuffer:可变长字符串,JDK1.0提供,运行效率慢,线程安全。

StringBuilder:可变长字符串,JDK5.0提供,运行效率快,线程不安全。
中间变量的JDK优化,自动创建一个StringBuilder缓冲区,在块空间添加。

BigDecimal
很多实际应用中需要精确计算,而double是近似值存储,不在符合要求,需要借助BigDecimal。

位置:java.math包中
作用:精确计算浮点数
创建方式:BigDecimal bd = new BigDecmal(“1.0”);

方法:
BigDecimal add(Bigdecimal bd) 加
BigDecimal subtract(Bigdecimal bd) 减
BigDecimal multiply(Bigdecimal bd) 乘
BigDecimal divide(Bigdecimal bd) 除
注意:如果不能准确的计算出结果时,除法需要再给两个参数,保留位数和取舍方法。通常采用四舍五入的方法,取值为BigDecimal.ROUND_HALF_UP
在这里插入图片描述

以下是习题-----------------------------------------------------------------------------

  1. 从命令行上读入一个字符串,用两种不同的方法,把该字符串转换为一个 int 类型
    方法一:把 String 直接转换为 int
    方法二:把 String 转换为 Integer,再把 Integer 转换为 int 类型

在这里插入图片描述

  1. (toString,字符串加法)有下面代码
class Student{
private int age;
private String name;
public Student(){}
public Student(String name, int age){
this.name = name;
this.age = age;
}
public String toString(){
return name + “ ” + age;
} }
public class TestStudent{
public static void main(String args[]){
Student stu1 = new Student(“tom”, 18);
System.out.println(/*1*/);
} }

问:在/1/位置,填入什么代码能编译通过?
A. stu1 + “ ” + 100
B. 100 + “ ” + stu1
C. “ ” + 100 + stu1
D. stu1 + 100 + “ ”

答案:ABC

  1. 获取邮箱“[email protected]”中的用户名”zhengcg”。
    在这里插入图片描述

  2. 验证邮箱“[email protected]”是否是一个合法的邮箱格式。
    提示:
    I. 邮箱必须包含“@”和“ . ”
    II. 最后一个“ . ”的位置必须大于“@”的位置

在这里插入图片描述

  1. 将随机获取的 UUID(含义是通用唯一识别码 Universally Unique Identifier)中的”- ”去掉。
    提示:java.util.UUID.randomUUID().toString() //可以获取随机 UUID
    格式:e6c57443-1667-4d75-98f6-a8863d95e58f

在这里插入图片描述

  1. 在给定的字符串“ABCDEFGhijklmn1234567”中获取随机的 4 个字符,并使用 StringBuilder 拼接成字
    符串。(随机获取到的 4 个字符中可以出现重复字符)
    提示:创建随机数对象 java.util.Random。
    java.util.Random random = new java.util.Random();
    random.nextInt(100); //可以获取到 0~99 中任意一个随机数
    在这里插入图片描述

  2. 给定一个由数字组成的字符串
    如:“1239586838923173478943890234092”;统计出每个数字出现的次数。

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章