栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Day13 System String

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day13 System String

1 System

System:系统相关的数据和方法

方法:

​ 1 static long currentTimeMillis() 获取当前时间的毫秒值
​ 相对于1970-1-1 0:0:0(历元)

​ // long a=System.currentTimeMillis(); //1647488470408

    2 static void exit(int status)   			终止虚拟机
                                    					 		   0为正常终止  非0表示异常终止
		System.out.println("开始");
		System.exit(0);
		System.out.println("结束");
//开始
	static void gc()               		:启动垃圾回收器对象
属性:

​ 1 static PrintStream err :标准错误输出流
​ 2 static InputStream in :标准输入流
​ 3 static PrintStream out :标准输出流

错误输出流和标准输出流不是同一个线程: 打印顺序未知

System.out.println("out11");
System.err.println("error 111");
System.out.println("out12");
System.err.println("error 112");
Scanner:扫描器

构造方法:Scanner(InputStream in)
普通方法: 1 String next(); 获取一个字符串
2 int nextInt(); 获取一个int

​ // int a=sc.nextInt()+2;

​ 3 String nextLine(); 获取一行数据

注意:nextLine不要与next、nextInt混合使用

	System.out.print("输入:");
	Scanner sc=new Scanner(System.in);
	int a=sc.nextInt()+2;
	System.out.println("输出:"+a);
	sc.close();
//输入:1
//输出:3
2 String
char[] c={'q','a','z'};
String s=new String(c);
//-------------or
String s=new String(new char[]{'q','a','z'});
构造方法:

1 String() :创建一个空序列的字符串:等价于""

​ // String st=new String();

2 根据int数组、char数组、byte数组 创建一个字符串对象
2.1 String(byte[] bytes) : 通过默认编码表把参数数组转化为字符串

​ // byte[] c={97,98,99}; String s=new String©; 结果:abc

​ 2.2 String(byte[] bytes, String charsetName) :通过指定编码表把参数数组转化为字符串

import java.io.UnsupportedEncodingException;
public class Demo {
    public static void main(String[] args) throws UnsupportedEncodingException {
       String s1=new String(new byte[] {49,48,55,69,71,99,100,101},"UTF-8");
    }
}

​ 2.3 String(byte[] bytes, int offset, int length) :一部分转化为字符串

​ String s1=new String(new byte[] {49,48,55,69,71,99},1,3); //07E

​ 2.4 String(char[] value, int offset, int count)
​ 2.5 tring(int[] codePoints, int offset, int count)

3 String(String original) :创建一个与参数字符串对象相同序列的副本对象

		String s2=new String("123abc");//2个字符串对象:  先通过""在内存中创建一个"123abc"字符串对象
		                        	   //               再通过构造方法 创建一个"123abc"的相同序列的副本对象
		System.out.println(s1);
		
		//注意4:(只有)通过双引号创建的字符串对象 存储在内存的字符串常量池中
		//      通过new创建的对象不在字符串常量池中
		//      字符串常量池:相同序列使用的是同一个对象
		
		String s11="123abc";
		String s12="123abc";
		String s21=new String("123abc");
		String s22=new String("123abc");
		System.out.println(s11==s12);//true	//对于基本数据类型	==是进行数值的比较
		                             		//对于引用数据类型  ==是进行地址值的比较
		System.out.println(s11==s21);//false
		System.out.println(s21==s22);//false
		System.out.println(s11.equals(s12));//true	
		System.out.println(s11.equals(s22));//true	//String的equals方法判断的是 字符序列是否相同

注意

		//注意1:创建字符串两种方式
		String s1="123abc";		//通过""创建字符串对象
		String s2=new String("123abc");	//通过构造方法创建字符串对象
		
		//注意2:字符串是常量(字符串对象一旦创建 字符序列不能更改)
		s1+="ABC";
		System.out.println(s1);//123abcABC
		String s3="123"+"abc"+"ABC"+1;//6个字符串对象
		
		//注意3:空字符:null表示引用没有指向任何对象
		//             "" 表示字符串对象 但没有字符
		//             " "表示字符串对象 有一个字符 ' '

普通方法 1 判断:

​ boolean equals(Object anObject) 比较字符串序列

​ boolean equalsIgnoreCase(String anotherString) 忽略大小写

​ // 对于基本数据类型 ==是进行数值的比较
​ // 对于引用数据类型 ==是进行地址值的比较

​ // String的equals方法判断的是 字符序列是否相同

​ int compareTo(String anotherString) 逐个字符按编码表比较:当前字符大返回正数 当前字符小返回负数 相同返回0
​ int compareToIgnoreCase(String str)

​ boolean endsWith(String suffix) 是否以参数字符串结尾
​ boolean startsWith(String prefix) 是否以参数字符串开头

​ boolean contains(String s) 是否包含参数子串

​ boolean isEmpty() 是否字符序列为""

2 获取:

​ 2.1 int length() 获取字符串的长度(字符个数)

​ 2.2 char charAt(int index) 获取指定索引处的单个字符

​ 2.3 int indexOf(int ch) 获取参数字符第一次出现的位置::如果没有返回-1

​ int indexOf(int ch, int fromIndex) 从fromIndex下标处开始 获取参数字符第一次出现的位置::如果没有返回-1

​ int indexOf(String str)

​ int indexOf(String str, int fromIndex)

​ String s1="qqqaaazzz"; int a=s1.indexOf("qa"); //2

​ int lastIndexOf(int ch) : 倒着找 获取参数字符第一次出现的位置::如果没有 返回-1

​ int lastIndexOf(int ch, int fromIndex)

​ int lastIndexOf(String str)

​ int lastIndexOf(String str, int fromIndex)

​ 2.4 String substring(int beginIndex) 截取bi到末尾处的字符

​ String substring(int beginIndex, int endIndex) 截取bi到ei-1位置处的字符

​ [ beginIndex , endIndex)

​ String s1="qqqaaazzzqa"; String s2=s1.substring(6,8); //zz

​ 2.5 char[] toCharArray() :获取当前字符串对应的字符数组

​ String s1="abcdefg"; char[] cs=s1.toCharArray(); System.out.println(cs[2]); //c

​ 2.6 byte[] getBytes() :获取字节数组 使用默认编码集
​ byte[] getBytes(String charsetName) :获取字节数组 使用指定编码集

		String s1="abcd";
		byte[] b=s1.getBytes();
		for (int i = 0; i < b.length; i++) {
			System.out.print(b[i]+",");
		}
//97,98,99,100,
2.7 String[] **split**(String regex)		使用参数字符切割当前字符串 

​ split方法的参数其实是一个“正则表达式”

​ 如果按照英文句号"."进行切分,必须写 \. (两个反斜杠)

		String s1="abc,d,ef1,23";
		String[] arr=s1.split(",");
		System.out.println(arr[2]);
//ef1
3 转换:

​ String concat (String str) 拼接 完全等价于+

​ String s3=s1.concat(s2);

​ String s4=s1+s2;

​ String replace (char oldc, char newc) 使用newc替换所有的oldc

​ String s1="你好呀,早上好"; String s2=s1.replace("你好", "*");

​ String toLowerCase () 把所有的字母 转化为小写
​ String toUpperCase () 把所有的字母 转化为大写

​ String trim () 去除两边的空格

​ s1=" abc 123 "; s2=s1.trim();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号