java(12)字符串

一、字符串概述

  1.1如何使用字符串

    1)定义并初始化字符串

    2)使用字符串,对字符串进行一些处理

  1.2字符串的长度

  语法:

      字符串1.length();  -->返回字符串1的长度

 1 public class Practice1 {
 2     public static void main(String[] args) {
 3         Scanner input = new Scanner(System.in);
 4         String uname,pwd;
 5         System.out.println("请输入用户名:");
 6         uname = input.next();
 7         System.out.println("请输入密码:");
 8         pwd=input.next();
 9         if(pwd.length()>=6){  //判断密码长度
10             System.out.println("注册成功");
11         }else{
12             System.out.println("密码长度不能小于6位");
13         }
14     }
15 }
示例1

运行结果:如图:     

     1.3 字符串的比较

  1)语法:

      字符串1.equals(字符串2);

 1 public class Practice2 {
 2     public static void main(String[] args) {
 3         Scanner input = new Scanner(System.in);
 4         String uname,pwd;
 5         System.out.println("请输入用户名:");
 6         uname = input.next();
 7         System.out.println("请输入密码:");
 8         pwd=input.next();
 9         if(uname.equals("tom")&&pwd.equals("1234567")){  
10             System.out.println("登入成功");
11         }else{
12             System.out.println("用户名或密码不匹配,登录失败");
13         }
14     }
15 }
示例2

运行结果:如图:    

疑问:为什么不能使用双等号(==)来判断两个字符串是否相同呢?

  1.在Java中,双等号和equals()方法虽都应于两个字符串,但所判断的内容是有差别的

  2.双等号判断的是两个字符串对象在内存中的首地址是否相等,即判断是否是同一个字符串对象

  3.equals()判断的是两个字符串对象的值是否相等

 1 public class Practice3{
 2     public static void main(String[] args){
 3         String character=new String("我爱你");
 4         String character1=new String("我爱你");
 5         if(character.equals(character1)){
 6             System.out.println("两个字符串值相同");
 7         }else{
 8             System.out.println("两个字符串值不相同");
 9         }
10         if(character==character1){
11             System.out.println("两个字符串相同");
12         }else{
13             System.out.println("两个字符串不相同");
14         }
15         }
16 }
示例3

运行结果:如图:

  2)语法:

      字符串1.equalsIgnoreCase(字符串2);

    忽略大小写比肩字符串1和字符串2,如果都相同,则返回true,否则返回false

  3)语法:

            字符串.toLowerCase()——小写

            字符串.toUpperCase()——大写

 二、复杂点的字符串处理

2.1 字符串连接的方式

            方式1:使用+号

            方式2:字符串变量.concat(要连接的字符串);

2.2 字符串提取的常用方法

                同一个方法,有多种表现形式——方法重载

    1 indexOf(字符或字符串),查找字符或字符串首次出现的位置;

      返回一个数字,-1表示没有,返回是>=0的数字,表示存在

    2 lastIndexOf(字符或字符串),查找字符或字符串最后一次出现的位置;

      返回一个数字,-1表示没有,返回是>=0的数字,表示存在

    3 substring()方法

      1. substring(提取位置):表示从提取位置开始一直提取到字符串的末尾结束

      2. substring(开始位置,结束位置):表示提取从开始位置,到结束位置-1的子字符串[结束位置大于整个字符串的长度,出现异常]

    4 trim()——去掉字符串左右两边的空格

    5 字符串拆分——split()返回字符串数组

2.3、StringBuffer类

  1、StringBuffer和String的区别?

          String空间或长度是固定的,StringBuffer空间可变                                                                      

          String效率低于StringBuffer类

    2、使用StringBuffer类的步骤?

       步骤1:先创建对象

          StringBuffer 对象名=new StringBuffer();

      StringBuffer 对象名=new StringBuffer(默认值);

       步骤2:向对象中追加或插入值

          StringBuffer对象名.append(追加的值);//可以追加任何值(char,int等)

       StringBuffer对象名.insert(要插入的位置,插入的值)

原文地址:https://www.cnblogs.com/-chaoming/p/6971000.html