randomn类
randomn类用于生成随机数
方法分为三步:1,导包 2,new randomn nextInt();里面可以限制随机数大小,最小为0
public class DemoGuess { public static void main(String[] args) { Random r = new Random(); int i = r.nextInt(100)+1; Scanner sc = new Scanner(System.in); while(true){ System.out.println("请输入猜数:"); int i1 = sc.nextInt(); if(i1>i){ System.out.println("大了"); }else if(i1<i){ System.out.println("小了"); }else{ System.out.println("恭喜你"); break; } } System.out.println("游戏结束"); } }
这个就是我们的猜数游戏,就是利用随机数的生成
今天还有一个很重要的知识点,可以说是我们的重难点:String
String类位于java.util.lang包下
它的方法只要有一下几点:
1,比较字符串
2,字符串的提取
3,搜索字符串
4,提取字符串
5,大小写转换
下面我们先来说第一个方法
说到String类,那么大家都知道这个是字符串,而且字符串是一个常量,已经生成,不容修改
那么我们总结一下它的特点:常量(不变性) 共享性 等效性
一:字符串的生成:
String st="wo love you";
这个就是我们最简单的字符串的生成方法
那么有没有其他方法呢?
public class DemoString { public static void main(String[] args) { //空参构造 String s = new String(); System.out.println("s="+s); //字符有参构造 char[] charString={‘a‘,‘b‘,‘c‘}; String s1 = new String(charString); System.out.println(s1); byte[] byteString={65,66,67}; String s2 = new String(byteString); System.out.println(s2); byte[] byteString01={97,98,99}; String s3 = new String(byteString01); System.out.println(s3); } }
总结下:
字符串的生成可以通过双引号引起来的形式,也可以通过将字符串拆分成字符数组,将字符串转成字节数组
同时字符数组也可以转成字符串,字节数组也可以转成字符串
二:比较字符串
以前我们都比较过基本数据类型,他们是通过==/!=进行比较,那么我们的字符串是通过什么呢?equals
注意:
两个字符串比较,常量在前,变量在括号里面,建议这样,如果常量为空(null),那么比较的时候,会显示报错,空指针,下面我们看下案例:
//新建两个字符串 String str1="rui"; String str2="rui"; //字符数组 char[] str3={‘r‘,‘u‘,‘i‘}; String s = new String(str3); //比较 System.out.println(str1.equals(str2)); System.out.println(str2.equals(s));
String str5=null; System.out.println(str5.equals(str1));
这个结果就是 Exception in thread "main" java.lang.NullPointerException
那么如果有一个字符串是小写字母的,有一个是大写字母的,他们能比较么?有什么区别么?
String str4="RUI";
System.out.println(str1.equalsIgnoreCase(str4));
结果为true
比较大写字母字符串和小写字母字符串的时候用到equalsIgnoreCase方法
可以不分区大小写,但是要区分英文大小写
三:搜索字符串
charAt();返回指定索引的char值
indexof();返回字符第一次出现的位置
public class Demo01 {
public static void main(String[] args) {
String str1="I love you";
String str4="abc";
String str2="wo shi shei";
char [] str3={‘a‘,‘b‘,‘c‘};
char c = str1.charAt(3);
System.out.println(c);
int s = str2.indexOf("s");
System.out.println(s);
}
}
subString();字符串的截取
String str6="wo shi liurui"; String substring = str6.substring(3); System.out.println(substring); String substring1 = str6.substring(2, 8); System.out.println(substring1);
一个是直接索引的位置开始到字符串的尾部
另一种是从指定索引位置截取,但是截取的尾部不包括
四:提取字符串
replace();替换
split();分割字符串
concat();拼接
public class Demo01 { public static void main(String[] args) { String str1="I love you"; String str4="abc"; String str2="wo shi shei"; char [] str3={‘a‘,‘b‘,‘c‘}; // String r = str2.replace("i", "fuckyou"); // System.out.println(r); String[] s = str2.split(" "); for(String a:s){ System.out.println(a); } String c = str2.concat(str1); System.out.println(c); } }
原文:https://www.cnblogs.com/liurui-bk517/p/10901911.html