首页 > 编程语言 >Java基础之常用类(String类)

Java基础之常用类(String类)

时间:2022-12-26 11:35:40浏览次数:44  
标签:常用 Java String int s2 s1 str 字符串

String 类

  1. 定义

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

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

    • 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));
  4. 常用的判断方法

    • 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 = {"李张蛋","张三","张飞","李伟","刘明"};
  5. 常用的获取方法

    • 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(),遍历字符串
  6. 常用的转换方法

    • 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);
      }
      
  7. 替换方法

    • String replace(char old,char new) : 将字符串中的一部分字符用新的代替
    • String replace(String old,String new) : 将字符串中的一部分字符串用新的代替
  8. 切割方法

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

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

标签:常用,Java,String,int,s2,s1,str,字符串
From: https://www.cnblogs.com/wangyiyun/p/17005300.html

相关文章

  • javaScript 列表常用语法基础大全
    javascript数组常用方法1.push()=>语法,数组.push(数据)=>作用:向数组的末尾追加数据=>返回值:添加数据以后,返回新的数组2.pop()=>语法,数组.pop(数据)=>作用:删除......
  • string转int 等
    int转stringintn=0;std::stringstreamss;std::stringstr;ss<<n;ss>>str;string转intstd::stringstr="123";intn=atoi(str.c_str());#include "stdafx.h"#i......
  • c/c++ 收集string的操作汇总
    1.一次读取文本文件全部内容到string对象中:1ifstreamin("readme.txt",ios::in);2istreambuf_iterator<char>beg(in),end;3stringstrdata(beg,end);//或者stri......
  • Java:泛型方法、泛型类、泛型接口、类型通配符
    (目录)要求:JDK>=1.5泛型方法packagecom.example.demo;importjava.io.IOException;publicclassDemo{//泛型方法publicstatic<T>voidprintT(T......
  • STL string 常用函数
    string类的构造函数:string(constchar*s);//用c字符串s初始化string(intn,charc);//用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string......
  • c++实现一个比较两个string类型的版本号的小demo
    在软件实现更新模块的时候,有可能会判断一下服务器上的版本的版本号和本地版本的版本号。下面有类似这样形式的版本号:stringstr="0.0.0.1";分析一下可以看出,该版本号可......
  • Java编程思想17
    第二十一章:并发基本的线程机制  并发编程使我们可以将程序划分为多个分离的、独立运行的任务。通过使用多线程机制,这些独立任务(也被称为子任务)中的每一个都将由执行线程......
  • Java编程思想18
    从任务种产生返回值:Runnable是执行工作的独立任务,但是它不返回任何值。如果你希望在任务完成时能够返回一个值,那么可以实现Callable接口而不是Runnable接口。在JavaSE5中......
  • curl常用设置-涉及超时相关
    curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);//在屏幕打印请求连接过程和返回http数据curl_easy_setopt(curl,CURLOPT_TIMEOUT,10);//接收数据时超时设置,如果10......
  • Java编程思想19
    共享受限资源1.不正确访问资源  考虑下面的例子,其中一个任务产生产生偶数,而其他任务消费这些数字。而这些消费者任务的唯一工作就是校验偶数的有效性packageconcurr......