一、字符串概述

  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. java 位运算符 以及加法 交换两个变量值

    先给出十转二的除法 2       60 30       0 15 0 7 1 3 1 1  1 0  1 60转二 111100 再介绍位运算符 a=60 b=13 A = 0011 1100 B ...

  2. 【vue】iView-admin2.0动态菜单路由

    vue项目实现动态路由有俩种方式 一.前端在routers中写好--所有--路由表 <前端控制路由>,登录时根据用户的角色权限来动态的显示菜单路由 二.前端通过调用接口请求拿到当前用户-- ...

  3. 小程序组件中有bindinput监听报异常

    真机上有问题,ide上是没问题的,   组件有处理函数,结果异常说页面没有处理函数,加上处理函数后就不报异常了.

  4. nodejs 实现跨域

    1.nodejs let http = require('http'); http.createServer((req,res) => { res.setHeader("Access- ...

  5. 关系型数据库 VS 非关系型数据库

    一.关系型数据库? 1.概念 关系型数据库是指采用了关系模型来组织数据的数据库.简单来说,关系模式就是二维表格模型. 主要代表:SQL Server,Oracle,Mysql,PostgreSQL. ...

  6. django下的xadmin相关设置

    后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...

  7. Android Connection refused

    遇到 Connection refused的错误. AndroidManifest.xml  文件中添加: //网络权限 <uses-permission android:name=" ...

  8. 科学地增加postgresql最大连接数

    PG配置文件路径 /etc/postgresql/9.3/main/postgresql.conf 首先如何查看最大连接数 This SQL will help you select max_conn ...

  9. python学习日记(面向对象——继承)

    什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class Par ...

  10. [leetcode] 5.Longest Palindromic Substring-2

    想了很多方法 搞轴对称,算对称轴,偶数都高出了一堆0.5在那加加减减,最后发现在移轴之前可能就返回了. class Solution: def longestPalindrome(self, s: s ...