JAVA---常用对象(Random与String)

JAVA—常用对象(Random与String)

Random对象:
1.nextInt():在int范围内随机生成一个int数
Random random = new Random();
int num = random.nextInt();  //在int范围内生成一个随机int数
2.nextInt(int bound):生成一个0(包括)到bound(不包括)的随机int数
Random random = new Random();
int num = random.nextInt(3); //生成一个0到3的随机int数,左闭右开
String对象:程序当中所有的双引号字符串都是String类的对象(就算没有new也照样是)
字符串的特点:

1.字符串是常量,内容永不可变【重点】

2.正是因为字符串不可改变,所以字符串是可以共享使用的(即如果两个一样的字符串,共用的是一个对象,不会再次创建)

如果是直接String str = “abc”,如果双引号写的字符串,那么字符串就在堆内存的字符串常量池中(new 的不再常量池中),下次如果还是相同的字符串,会直接引用字符串常量池中的地址,不会再次创建;如下图

在这里插入图片描述

String string = "aa";
String string2 = "aa";
//对于引用类型来说:==是进行【地址值】比较
System.out.println(string == string2);  //结果是true,证明是一个地址

3.字符串效果上相当于是char[]字符数组,但底层原理是byte[]字节数组

创建字符串常见的3+1中方式

三种构造方法创建:

1.使用空参构造:创建一个空的字符串,不含有任何内容

String s1 = new String();
System.out.println(s1);

2.使用字节数组创建

char[] charArray = {'a','b','c'};
String s2 = new String(charArray);
System.out.println(s2);

3.使用字节数组创建

byte[] byteArray = {97, 98, 99};
String s3 = new String(byteArray);
System.out.println(s3);  //输出abc

一种直接创建方法

String s4 = "abc";
字符串常用的方法:

equals():进行内容比较(如果是一个常量一个变量,推荐常量写在前面,因为如果变量写在前面,而变量为null时,程序会报错)

String string = "aa";
String string2 = "aa";
System.out.println(string.equals(string2));  //输出true

equalsIgnoreCase();忽略大小写进行比较内容

String string = "aa";
String string2 = "Aa";
System.out.println(string.equalsIgnoreCase(string2));  //输出true

concat(String str):将当前字符串和参数字符串拼接成为新的字符串

String s1 = "ab";
String s2 = "12";
String concat = s1.concat(s2);
System.out.println(concat);

charAt(int index):获取指定索引位置的单个字符,返回char类型

String s1 = "ab";
char c = s1.charAt(1);
System.out.println(c);

indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有就返回-1

String str = "asdfsdfg110dfg110";
int index = str.indexOf("110");
System.out.println(index);

substring(int index):截取从索引index开始到最后的字符串

String str = "HelloWorld";
String str2 = str.substring(5);
System.out.println(str2);  //输出World

substring(int begin ,int end):截取索引从begin到end的字符串(左闭右开)

String str = "HelloWorld";
String str3 = str.substring(4,7);
System.out.println(str3);  //输出oWo

toCharArray():将当前字符串拆分为字符数组作为返回值

char[] chars = "Hello".toCharArray();
System.out.println(chars[1]);   //输出e

getBytes():获取当前字符串底层的字节数组

String str = "中国";
byte[] bytes = str.getBytes();
for (int i = 0; i < bytes.length; i++) {
    System.out.println(bytes[i]);
}

replace()?/将所有的老字符串替换成新的字符串,返回替换之后的新字符串

 String s1= "HelloWorld";
String s2 = s1.replace("o", "*");
System.out.println(s2); //输出Hell*W*rld

splite():根据正则表达式切割字符串,返回字符串数组

String s = "aaa,bbb,ccc";
String[] split = s.split(",");
for (int i = 0; i < split.length; i++) {
    System.out.println(split[i]);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值