首页IT科技string java基本数据类型(Java基础之常用类(String类))

string java基本数据类型(Java基础之常用类(String类))

时间2025-06-20 19:44:56分类IT科技浏览4359
导读:String 类...

String 类

定义

String 类代表字符串              。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现                   。我们可以将字符串看作是String, 但是严格意义上来说, String还是一个类,只是比较特殊罢了

特殊性

String 类型的变量可以引用地址 String 类型的变量可以直接指向常量 String 对象的长度是不可变的,如果两个字符串拼接成一个字符串,其实是创建了一个新的字符串对象 public static void main(String[] args) { String str = new String();// 指向地址值 new对象相当于指向一个新地址 String str2 = "abc"; //指向常量 }

常用的构造方法

public String():空构造 public String(byte[] bytes):把字节数组转成字符串 public String(byte[] bytes,int index,int length):把字节数组的一部分转成字符串 public String(char[] value):把字符数组转成字符串 public String(char[] value,int index,int count):把字符数组的一部分转成字符串 public String(String original):把字符串常量值转成字符串 测试题 判断定义为String类型的s1和s2是否相等? String s1 = "abc"; String s2 = "abc"; System.out.println(s1 == s2); System.out.println(s1.equals(s2)); 下面这句话在内存中创建了几个对象? String s1 = new String("abc"); 答案: 创建了两个看对象,一个在常量池,一个在堆内存 判断定义为String类型的s1和s2是否相等 String s1 = new String("abc"); String s2 = "abc"; System.out.println(s1 == s2); System.out.println(s1.equals(s2)); 判断定义为String类型的s1和s2是否相等? String s1 = "a" + "b" + "c"; String s2 = "abc"; System.out.println(s1 == s2); System.out.println(s1.equals(s2)); 判断定义为String类型的s1和s2是否相等? String s1 = "ab"; String s2 = "abc"; String s3 = s1 + "c"; System.out.println(s3 == s2); System.out.println(s3.equals(s2));

常用的判断方法

boolean equals(Object obj): 比较字符串的内容是否相同,区分大小写

boolean equalsIgnoreCase(String str): 比较字符串的内容是否相同,忽略大小写

boolean contains(String str): 判断大字符串中是否包含小字符串

boolean startsWith(String str): 判断字符串是否以某个指定的字符串开头

boolean endsWith(String str): 判断字符串是否以某个指定的字符串结尾

boolean isEmpty(): 判断字符串是否为空

案例

需求:模拟登录,给三次机会,并提示还有几次      。 用户名和密码都是admin public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int i = 1; while(i<=3){ System.out.println("请输入用户名"); String name = scanner.nextLine(); System.out.println("请输入密码"); String password = scanner.nextLine(); if("admin".equals(name)&&"admin".equals(password)){ System.out.println("恭喜您,登录成功"); break; } System.out.println("用户名或密码错误,请您重新输入,您还有"+(3-i)+"次机会机会"); i++; } scanner.close(); }

测试题

查询一个某个班级中所有姓张的学生 String[] strs = {"李张蛋","张三","张飞","李伟","刘明"};

常用的获取方法

int length(): 获取字符串的长度

char charAt(int index): 获取指定索引位置的字符

int indexOf(int ch): 返回指定字符在此字符串中第一次出现处的索引, ch是字符的码表值

int indexOf(String str): 返回指定字符串在此字符串中第一次出现处的索引

int indexOf(int ch,int fromIndex): 返回指定字符在此字符串中从指定位置后第一次出现处的索引

int indexOf(String str,int fromIndex): 返回指定字符串在此字符串中从指定位置后第一次出现处的索引

int lastIndexOf 同上

String substring(int start):从指定位置开始截取字符串,默认到末尾

String substring(int start,int end):从指定位置开始到指定位置结束截取字符串

案例

需求:遍历字符串 public static void main(String[] args) { String str = "abcdkekdkgallsd"; for (int i = 0; i < str.length(); i++) { System.out.println(str.charAt(i)); } }

测试题

需求:不准使用charAt(),遍历字符串

常用的转换方法

byte[] getBytes(): 把字符串转换为字节数组

char[] toCharArray():把字符串转换为字符数组

static String valueOf(char[] chs):把字符数组转成字符串

static String valueOf(int i):把int类型的数据转成字符串

注意:String类的valueOf方法可以把任意类型的数据转成字符串

String toLowerCase():把字符串转成小写(了解)

String toUpperCase():把字符串转成大写

String concat(String str):把字符串拼接

案例

需求:把一个字符串的首字母转成大写             ,其余为小写 public static void main(String[] args) { String str = "abCdkeHgDlsd"; String str2 = str.substring(0,1).toUpperCase().concat(str.substring(1).toLowerCase()); System.out.println(str2); }

替换方法

String replace(char old,char new) : 将字符串中的一部分字符用新的代替 String replace(String old,String new) : 将字符串中的一部分字符串用新的代替

切割方法

String[] split(String regex) : 按照规则来切割字符串 String[] split(String regex, int limit) : 按照规则来切割字符串 limit 表示总共切成几段(也就是数组的长度)

其他常用方法

trim() : 去除字符串前后的空格 int compareTo(String anotherString) : 按字典顺序比较两个字符串(大小写) int compareToIgnoreCase(String str) : 按字典顺序比较两个字符串(忽略大小)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
语音智能开关面板接线图片(SU-03T语音模块的使用(小智语音控制LED灯))