Java2 老激烈了,寂静无声

实用类

  • String类

个人理解:

1、String类在java.lang包中,表示字符串类型,属于 引用数据类型,不属于基本数据类型。(java.lang包中的类被默认可以引入)

2、string类被定义为final类,因此不能有子类。

1、String常量是用双引号括起来的字符序列。

2、String常量是对象,有引用和实体。

1、new运算符先分配空间,再放入字符序列,然后计算出引用。

2、new运算符每次分配的空间都不一样

3、new运算符构造的对象在动态去(非常量池)中。

使用技巧

String s = new String("we are students");
String t = new String("we are students");
s与t的实体相同,引用不同

String s1 = "你好";
String s2 = "你好";
s1,s2引用相同,实体相同

String用“+”表示并置运算
String you = "你";
String hi = "好";
String testOne = you + hi;
you + hi相当于new String("你好"),testOne实体中是"你好"

System.out.println(s);
输出s的实体

int address = System.identityHashcode("你好");
返回“你好”的引用

String tom = new String(s);

char a[] = {'j','a','v','a'};
String s = new String(a);
<=>String s = new String("java");

char a[] = {'j','a','v','a','i','s','c','o','d','e'};
String s = new String(a,2,4);
<=>String s = new String("vais");
2是起始位置,4是长度

常用方法

1、public int length()

s1.length()用于计算s1字符序列的长度。

2、public boolean equals(String s)

System.out.println(s1.equals(s2))用于判断s1与s2的字符序列是否一样。

3、public boolean startsWith(String s)

System.out.println(s1.startsWith("19"))用于对比s1的前缀与“19”是否一样。

4、public boolean endsWith(String s)

System.out.println(s1.endsWith("45"))用于对比s1的后缀与“45”是否一样。

5、public int compareTo(String s)

用于比较大小:

String s1="1945";

int a = s1.compareTo("1945"); 返回0

int a = s1.compareTo("1949"); 返回负值

int a = s1.compareTo("1940"); 返回正值

6、public boolean contains(String s)

System.out.println(s1.contains("19"))用于比较s1是否包含“19”

7、public int indexOf(String s)

int index1=s1.indexOf("9"); 检索第一次出现“5”的位置,输出;如果没有检索到,返回-1。

8、public int indexOf(String s, int startpoint)

int index1=s1.indexOf("9",1);参数startpoint用来指定检索的开始

9、public int lastIndexOf(String s)

int index2=s2.indexOf("9"); 检索最后一次出现“5”的位置,输出;如果没有检索到,返回-1。

10、public String substring(int startpoint)

String s2=s1.substring(1);从下标1开始截取s1的字符序列,赋值给s2

11、public String substring(int start, int end)

String s2=s1.substring(1,3);从下标1开始,到3-1结束,截取s1的字符序列,赋值给s2

11、public String trim()

去除字符序列前后空格

String s1 = "    19         45 1";
String s2 = "19 49";
String s3 = "1945";
System.out.println(s1.trim()); 输出19         45 1
System.out.println(s2.trim()); 输出19 49
System.out.println(s3.trim()); 输出1945

String s1 = "1945";
String s2 = "1949";
String s3 = "1945";

int n1 = s1.length();         n1的值是4
int n2 = "小鸟 fly".length();  n2的值是5

System.out.println(s1.equals(s2)); 输出false
System.out.println(s1.equals(s3)); 输出true

System.out.println(s1.startsWith("19")); 输出true
System.out.println(s1.startsWith("20")); 输出false

System.out.println(s1.endsWith("45")); 输出true
System.out.println(s1.endsWith("40")); 输出false

if(s1.compareTo("1940")>0)
{
    return 1;
}

System.out.println(s1.contains("19")); 输出true
System.out.println(s1.contains("20")); 输出false

int index1=s1.indexOf("9"); 检索第一次出现“5”的位置,输出
int index2=s2.indexOf("9"); 检索最后一次出现“5”的位置,输出

相互转换

java.lang包中的

Integer 类调用public static int parseInt(String s)数字字符转换成 int 型数据

Byte 类调用public static int parseByte(String s)数字字符转换成 Byte 型数据

Short 类调用public static int parseShort(String s)数字字符转换成 Short 型数据

Long 类调用public static int parseLong(String s)数字字符转换成 Long 型数据

Float 类调用public static int parseFloat(String s)数字字符转换成 Float 型数据

Double 类调用public static int parseDouble(String s)数字字符转换成 Double 型数据

int x1,x2,x3,x4,x5,x6;
String s = "987";
x1 = Integer.parseInt(s);
x2 = Byte.parseByte(s);
x3 = Short.parseShort(s);
x4 = Long.parseLong(s);
x5 = Float.parseFloat(s);
x6 = Double.parseDouble(s);

对象用字符串表示

import java.util.Date;
class TV {
   double price ;
   public void setPrice(double m) {
      price = m;
   }
   public String toString() {
      String oldStr = super.toString(); 
      return oldStr+"\n这是电视机,价格是:"+price;
   }
}
public class Example8_5 {
   public static void main(String args[]) {
       Date date = new Date();
       System.out.println(date.toString());
       int address =System.identityHashCode(date); 
       System.out.printf("date对象的引用:%x\n",address);
       TV tv = new TV();
       tv.setPrice(5897.98);
       System.out.println(tv.toString());  
       address =System.identityHashCode(tv); 
       System.out.printf("tv对象的引用:%x\n",address);
   }
}

C:\Users\Administrator\Desktop>javac Example8_5.java
C:\Users\Administrator\Desktop>java Example8_5
Mon Dec 04 09:41:30 CST 2023
date对象的引用:55f96302
TV@677327b6
这是电视机,价格是:5897.98
tv对象的引用:677327b6

正则表达式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值