一、字符串概述

  1.1如何使用字符串

    1)定义并初始化字符串

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

  1.2字符串的长度

  语法:

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

 public class Practice1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String uname,pwd;
System.out.println("请输入用户名:");
uname = input.next();
System.out.println("请输入密码:");
pwd=input.next();
if(pwd.length()>=6){ //判断密码长度
System.out.println("注册成功");
}else{
System.out.println("密码长度不能小于6位");
}
}
}

示例1

运行结果:如图:     

1.3 字符串的比较

  1)语法:

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

 public class Practice2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String uname,pwd;
System.out.println("请输入用户名:");
uname = input.next();
System.out.println("请输入密码:");
pwd=input.next();
if(uname.equals("tom")&&pwd.equals("1234567")){
System.out.println("登入成功");
}else{
System.out.println("用户名或密码不匹配,登录失败");
}
}
}

示例2

运行结果:如图:    

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

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

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

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

 public class Practice3{
public static void main(String[] args){
String character=new String("我爱你");
String character1=new String("我爱你");
if(character.equals(character1)){
System.out.println("两个字符串值相同");
}else{
System.out.println("两个字符串值不相同");
}
if(character==character1){
System.out.println("两个字符串相同");
}else{
System.out.println("两个字符串不相同");
}
}
}

示例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(要插入的位置,插入的值)

java(12)字符串的更多相关文章

  1. Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化

    ylbtech-Java-Runoob-高级教程-实例-字符串:12. Java 实例 - 字符串优化 1.返回顶部 1. Java 实例 - 字符串优化  Java 实例 以下实例演示了通过 Str ...

  2. Java入门篇(五)——Java的字符串/String类

    前面在举例时有出现过String的例子,当时肯定有一部分朋友不知道这个是做什么用的.其实String类是Java中一个比较特殊的类,字符串即String类,它不是Java的基本数据类型之一,但可以像基 ...

  3. java 二进制数字符串转换工具类

    java 二进制数字符串转换工具类 将二进制转换成八进制 将二进制转换成十进制 将二进制转换成十六进制 将十进制转换成二进制 package com.iteye.injavawetrust.ad; i ...

  4. Java 12 正式发布,8大新特性

    自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是北京时间 20 号 Java 12 正式发布了! 1.Shenandoah:低 ...

  5. 使用Java对字符串进行升序排序

    Java对字符串的很多API和功能是JavaWeb能广泛发展的基础,下面是一道经典的字符串操作题,需要边查JAVASE的API对每个步骤进行操作. 题目:给一个字符串,"34 12 -8 0 ...

  6. java String字符串

      五.java数据类型之String(字符串) CreateTime--2017年7月21日16:17:45 Author:Marydon (一)数据格式 (二)初始化 // 方式一 String ...

  7. Java判断字符串是否符合yyyyMMdd日期格式

    Java判断字符串是否符合yyyyMMdd日期格式 代码: /** * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * */ public static boolean isVali ...

  8. Java String 字符串操作小结

    // 转载加编辑 -- 21 Apr 2014 1. Java字符串中子串的查找 Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现 ...

  9. Java字符字符串类

    Java字符字符串类 Character 类 Character 类用于对单个字符进行操作.Character 类在对象中包装一个基本类型 char 的值在实际开发过程中,我们经常会遇到需要使用对象, ...

随机推荐

  1. Vue.js01:跑马灯效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. js 学习之路9:运算符

    1. 算数运算符 运算符 描述 例子 结果 + 加 x=y+2 x=7 - 减 x=y-2 x=3 * 乘 x=y*2 x=10 / 除 x=y/2 x=2.5 % 求余数 (保留整数) x=y%2 ...

  3. kvm热添加和热迁移

    a.热添加磁盘 1.创建磁盘 qemu-img create -f qcow2 web01-add01.qcow2 5G 2.附加磁盘设备 virsh attach-disk web01 /opt/w ...

  4. Django教程01-全流程

    目录 1.Django简介 1.1. Django安装 2. 创建一个基础的Django项目 2.1. 初始化项目 2.2. 设计数据库 2.2.1. 设计目标表 2.2.1. 创建一个数据库 2.2 ...

  5. 把流的形式转化为Base64

    public class Test2 { public static String get() throws IOException { InputStream resourceAsStream = ...

  6. H5播放器内置播放视频(兼容绝大多数安卓和ios)

    关于H5播放器内置播放视频,这个问题一直困扰我很长一段时间,qq以前提供白名单已经关闭,后来提供了同层属性的控制,或多或少也有点差强人意. 后来一次偶然发现一个非常简单的方法可以实现. 只需要给vid ...

  7. 013_针对单个pid的cpu/内存/io的资源占用统计

    #!/usr/bin/env python import sys import os import subprocess from decimal import Decimal from decima ...

  8. Neutron vxlan network--L2 Population

    L2 Population 是用来提高 VXLAN 网络 Scalability 的.   通常我们说某个系统的 Scalability 好,其意思是: 当系统的规模变大时,仍然能够高效地工作. L2 ...

  9. [题解]图的m着色问题

    图的m着色问题(color) [题目描述] 给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...

  10. OO第一单元总结——多项式求导

    第一次作业分析 1.程序结构分析 类图: 好吧,这一次基本上完全是在面向过程编程,没有看出来任何的面向对象的特性. 复杂度: 可以看到模块间的相互耦合度很高,PolyDerive方法的非结构化程度也不 ...