String类

一、String类
1.String类:位于java.lang包中,被final修饰,不能被继承,既没有子类。
2.获取字符串的两种方法:

(1)String s1 =“hello”
	//注意:用“”直接获取字符串的形式,直接在串池中查看是否有需要的字符串对象,如果有直接使用,如果没有,在串池中产生一个对象。所以这种获取字符串的方式,产生对象的个数为0~1个


(2)String s2 = new String(“world”);
注意:使用new String("world");获取字符串的方式首 
先会在堆空间中产生一个字符串对象(不管堆空间中是否存包 含 world内容的字符串对象);
同时 会查看 串池中是否有 此字符串对象,存在,则串池中不需要创建,
如果没有,则 还需要在串池中产生一个 此字符串对象。
所以利用这种获取 字符串的方式,产生对象的个数:1~2个

3.String类中常用方法
(1) char charAt(int index):根据下标获取字符串对应字符。

注意:String底层 本质为char类型的数组 (char[]value),
所以字符串它的下标范围等价于数组下标范围:0~ 字符串长度-1。如果指向的下标超出下标范围,则编译通过,
运行报错,错误信息为:java.lang.StringIndexOutOfBoundsException(字符串下标越界)

(2) int length():获取字符串长度
注意:字符串中获取长度是方法:字符串引用名.length() 数组中获取长度:数组名.length

实际开发应用:字符串的遍历。 String str = "hello"; 
for(int i=0;i<str.length();i++){ 
char c = str.charAt(i); 
//利用 变量 对 字符串中字符进行操作 .... }

(3) boolean contains(String str) :判断 在当前字符串中是否包含str字符串,包含-true;不包含-false。

开发实际应用:做查询时,可以作为过滤条件: 
String name = "张飞飞";
 // 判断名字中是否包含 "飞飞" 
 if(name.contains("飞飞")){ // ... }

boolean equalsIgnoreCase(String str):比较两个字符内容是否相同,忽略大小写,相同-true;不同-false.

String str = "JavaSE"; 
System.out.println(str.equals("javase"));// false
System.out.println(str.equalsIgnoreCase("jav ase")); //true

(4) char[] toCharArray() :将当前字符串转换为char数组。[了解]

(5) boolean equals(Object obj):判断两个字符串内容是否相同,String类中完成了对 equals方法的覆盖,直接调用即可。

注意:开发时比较字符串的内容,严格使用equals方法比较。

(6) String toUpperCase():小写 转换为 大写 [了解]

String toLowerCase():大写 转换为 小写

(7) int indexOf(String str):获取str在当前字符串中第一次出现的首字符的下标,如果没有出现则返回-1.

(8) int indexOf(String str,int fromIndex):从指定位置开始查找str是否在当前字符串中存在,存在则指定下标后面第一次出现的首字符的下标,没有出现,返回-1. 【了解】

(9) int lastIndexOf(String str):获取 str 在当前字符串中最后一次出现的首字母的下标,如果没有出现则返回-1. 【了解】

(10) boolean endsWith(String str):判断当前字符串是否 以 str结尾。

三、BigDecimal
1.位置:java.math包中
2.作用:精准表示,计算浮点数

4.常用的功能方法:

参数说明:
第一个参数bd1,代表除数
第二个参数scal,代表保留到小数点后第几位
第三个参数mode,代表 小数 取舍模式,通常使用四舍五入

BigDecimal.ROUND_HA
以下是根据题目描述及图所编写的 Shape 抽象及其子类的代码: Shape.java ```java public abstract class Shape { private String color; public Shape(String color) { this.color = color; } public abstract double getArea(); @Override public String toString() { return "Shape[color=" + color + "]"; } } ``` Circle.java ```java public class Circle extends Shape { private int radius; public Circle(String color, int radius) { super(color); this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } @Override public String toString() { return "Circle[" + super.toString() + ",radius=" + radius + "]"; } } ``` Rectangle.java ```java public class Rectangle extends Shape { private int width; private int height; public Rectangle(String color, int width, int height) { super(color); this.width = width; this.height = height; } @Override public double getArea() { return width * height; } @Override public String toString() { return "Rectangle[" + super.toString() + ",width=" + width + ",height=" + height + "]"; } } ``` Triangle.java ```java public class Triangle extends Shape { private int base; private int height; public Triangle(String color, int base, int height) { super(color); this.base = base; this.height = height; } @Override public double getArea() { return 0.5 * base * height; } @Override public String toString() { return "Triangle[" + super.toString() + ",base=" + base + ",height=" + height + "]"; } } ``` 以上代码实现了一个 Shape 抽象及其三个子类:Circle、Rectangle 和 Triangle。其中,Shape 抽象包含一个颜色属性和一个抽象方法 getArea(),子类 Circle、Rectangle 和 Triangle 分别实现了这个抽象方法来计算自己的面积,并且重写了 toString() 方法以输出自己的属性信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值