一、字符串概述

  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. 当锚点遇到fixed

    问题:页面内容导航fixed+锚点错位 solution: 锚点定位跟外边距没有关系. 我们使用内边距padding-top=fixed导航高度来使锚点可以精准定位: 此时新的问题产生了,内边距的存在 ...

  2. CentOS 7 最小安装网络配置

    通常最小安装是没有自动启动网络连接的,可以通过ifconfig或ip addr查看网络信息 (类似windows里的ipconfig),然而最小安装是没有ifconfig命令的, 这里我们使用ip a ...

  3. 如何查看linux中文件打开情况

    前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. linux下有哪些文件 在介绍lsof命 ...

  4. 数论 C - Aladdin and the Flying Carpet

    It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summons a ...

  5. 你所不知道的ASP.NET Core MVC/WebApi基础系列(二)

    前言 好久没冒泡了,算起来估计有快半年没更新博客了,估计是我第一次停更如此之久,人总有懒惰的时候,时间越长越懒惰,但是呢,不学又不行,持续的惰性是不行dei,要不然会被时光所抛弃,技术所淘汰,好吧,进 ...

  6. Docker镜像仓库清理的探索之路

    用友云开发者中心是基于Docker容器进行微服务架构应用的落地与管理.相信各位同学在使用的过程中,会发现随着Docker镜像的增多,占用磁盘空间也约来越多.这时我们需要清理私有镜像仓库中不需要的镜像. ...

  7. 在windows环境利用celery实现简单的任务队列

    测试使用环境: 1.Python==3.6.1 2.MongoDB==3.6.2 3.celery==4.1.1 4.eventlet==0.23.0 Celery分为3个部分 (1)worker部分 ...

  8. MVC中使用Hangfire按秒执行任务

    更新Hangfire版本到1.7.0,才支持使用按秒循环任务执行 RecurringJob.AddOrUpdate("test",()=>writeLog("每20 ...

  9. Oracle查看表实际占用空间和实际行数

    select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC;//实际行数 analyze table emp co ...

  10. [oracle]解决ora-01034 oracle not available

    一般都是数据库连接中断了,按照链接重连即可. https://jingyan.baidu.com/article/5552ef47c73eef518ffbc908.html