一、字符串概述

  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. 【MySQL大系】《Mysql集群架构》

    原文地址(微信):[技术文章]<Mysql集群架构> 本文地址:http://www.cnblogs.com/aiweixiao/p/7258444.html 点击关注微信公众号 1.主要 ...

  2. 【Shell基础】循环:for、while、until

    1.for循环 ..};do echo "for loop" done 2.while循环 be_s= en_s= while [ "$be_s" -le &q ...

  3. MySQL 系列

    阅读目录 第一篇:初识数据库 第二篇:库操作相关 第三篇:表相关操作 第四篇:记录相关操作 第五篇:数据备份.pymysql模块 第六篇:视图.触发器.事务.存储过程.函数 第七篇:ORM框架SQLA ...

  4. Mysql Navicat数据库定时备份,定时删除

    Navicat自带实现数据库定时备份 1.先点击需要备份的数据库,然后点击计划,再点击新建批处理作业 2.然后出现双机可用任务列表,然后在已选择的任务中会出现可用任务 3. 点击保存,弹出对话框,给这 ...

  5. MySQL工作原理

    Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的.  mysql原理图各个组件说明: 1. connectors 与其他编程语言中的sql 语句进行交互,如php.java等. 2. M ...

  6. 放下VS2010,拥抱VS2019

    VS2019 再过几天就要正式发布了,我们还在使用 VS2010 进行软件开发.由于所处行业环境及项目类型,加之之前的代码积累,所以即使不用新的开发环境.新的语言技术也能比较好的完成工作.那究竟要不要 ...

  7. Docker 核心技术之Dockerfile

    Dockerfile 简介 什么是Dockerfile Dockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件 利用docker build命令依次执行在Dockerfile中定义 ...

  8. 用redis实现分布式锁,秒杀案例(转)

    分布式锁的简单实现代码: 需要的jar包: jedis-2.9.0.jar. commons-pool2-2.4.2.jar import java.util.List; import java.ut ...

  9. 深入Redis持久化

    转载:https://segmentfault.com/a/1190000017193732 一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知 ...

  10. axios delete请求 参数

    内容转载作者:https://www.cnblogs.com/pangguoming/p/8994742.html 如果服务端将参数当做 java对象来封装接收则 参数格式为:{data: param ...