Java基础——字符串String
String类
1. String类位于java.lang包中,使用时无需导包。
2. 创建字符串的两种方式:
① 直接指定(字面量声明):String str = "abc";
② 使用 new 关键字声明:String str = new String ("abc");
3. 使用 String类 时的常用方法:
① str.length()返回字符串的长度。length() 是一个方法。
System.out.println("请输入用户名:");
String str=sc.next();
if(str.length()<6){
System.out.println("用户名最小为6位!");
}
② str.equals() 判断字符串是否相等。
public static void main(String[] args) {
String str1=new String("abc");
String str2=new String("123");
System.out.println(str1.equals(str2));
}
结果为false。
注意:.equals()和 == 的对比原则:.equals()是判断两个字符串中的每一个字符是否相等;而 == 是判断两个字符串的存储地址是否相等。
③ .toLowerCase() 将所有字符转换为小写。
.toUpperCase() 将所有字符转换为大写。
public static void main(String[] args) {
String str1=new String("HELLO");
String str2=new String("world");
System.out.println(str1.toLowerCase()); //大写转换为小写
System.out.println(str2.toUpperCase()); //小写转换为大写
}
结果为"hello" "WORLD"。
④ str1.concat(str2) 连接字符串。将str2连接到str1后面,并返回一个新的字符串。
而使用 + 连接才是最常用的。
public static void main(String[] args) {
String str1=new String("生日");
String str2=new String("happy!");
System.out.println(str1.concat(str2)); //使用concat连接
System.out.println(str1+str2); //使用 + 连接
}
两种方法结果一样:

⑤ .indexOf()在字符串中查找指定的字符或子串,并返回其下标。如果没有返回-1。
可以接受字符串、字符、整数类型的参数。如果传入整数。将根据ASCII码自动转化为字符。
.lastindexOf()在字符串中查找指定的字符或子串最后一次出现的位置,并返回去下标。如果没有返回-1。
public static void main(String[] args) {
String str1=new String("abcdefg");
System.out.println(str1.indexOf("c")); //返回2
System.out.println(str1.indexOf("def")); //返回3
System.out.println(str1.indexOf("acd")); //返回-1
System.out.println(str1.indexOf(100)); //返回3,"d"的ASCII码值为100
String str2=new String("abaafg");
System.out.println(str2.lastIndexOf("a")); //返回3
}
结果为:

⑥ .substring()截取字符串的指定位置,并返回一个新的子串。
.sunstring(3)传入一个参数,表示起始下标,将从此下标开始,一直截到字符串最后;
.sunstring (3,5)传入两个参数,表示起始下标和结束下标,为左闭右开区间,包含起始下标不包含结束下标。
public static void main(String[] args) {
String str=new String("abcdefg");
System.out.println(str.substring(3)); //返回defg
System.out.println(str.substring(1, 3)); //返回bc
}
结果为:

⑦ .trim()去掉字符串两端的空格。不能去掉中间空格。
public static void main(String[] args) {
String str1=new String(" abcdefg ");
System.out.println(str1.trim()); //返回"abcdefg"
String str2=new String("abc defg");
System.out.println(str2.trim()); //返回"abc defg"
}
结果为:

⑧ .replace("abc","*") 将字符串中的指定区域,用新的字符串替换掉。
public static void main(String[] args) {
String str=new String("abcdefg");
System.out.println(str.replace("abc", "***"));
}
结果为:

⑨ .split(" "); 传入指定字符,将字符串分割为多个子串,返回一个字符串类型的数组;如果传入一个空字符串,则将原字符串的每一个字符都进行分隔。
.split(" ",3)第二个参数,可以传入一个整数,表示将当前字符串分隔为几部分;如果传入的整数小于原来分割的总部分,则剩余的区域将不再分割。
public static void main(String[] args) {
String str1=new String("abcdefg");
String[] a1=str1.split("");
System.out.println(Arrays.toString(a1)); //返回字符串类型的数组,将每一个字符进行分割。
String str2=new String("abcdefg");
String[] a2=str2.split("", 3);
System.out.println(Arrays.toString(a2)); //分割为3部分
}
结果为:

Java基础——字符串String的更多相关文章
- Java基础 - 字符串 String
字符串就是用字符拼接成的文本值,字符串在存储上类似数组,在java语言中把字符串当做对象进行处理 创建字符串 package com.mingri.chapter_02; public class d ...
- java基础---字符串string
1.字符创的概念 java字符串就是Unicode字符序列.例如,串“Java\u2122”由5个Unicode字符J.a.v.a和TM.java没有内置的字符串类型,而是在标准库Java类库中提供了 ...
- Java基础-字符串(String)常用方法
Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...
- Java基础-字符串连接运算符String link operator
Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...
- Java基础之String、StringBuffer、StringBuilder浅析
Java基础之String.StringBuffer.StringBuilder浅析 一.前言: 位于java.lang包下的String.StringBuilder.StringBuffer一般都是 ...
- Java常量字符串String理解
Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用 "eq ...
- java中字符串String 转 int(转)
java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...
- Java中字符串string的数据类型
Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...
- java基础18 String字符串和Object类(以及“equals” 和 “==”的解析)
一.String字符串 问:笔试题:new String("abc")创建了几个对象?答:两个对象,一个对象是 位于堆内存,一个对象位于字符串常量池 class Demo17 { ...
随机推荐
- MYSQL数据库学习六 索引的操作
6.1 索引 由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过索引可以快速有效地查找与键值相关联的字段.根 ...
- ELK学习笔记(五)简单搜索和DSL查询
检索文档 现在我们有一些数据存储在Elasticsearch中,我们可以开始处理这个应用程序的业务需求. 这在Elasticsearch中很容易.我们只需执行HTTP GET请求并指定文档的地址--索 ...
- Linux chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...
- Python类中的self到底是干啥的
Python类中的self到底是干啥的 Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的 ...
- 实现Windows程序的数据的绑定
1.创建DataSet对象 语法: DataSet 数据集对象 =new DataSet("数据集的名称字符串"); 语法中的参数是数据集的名称字符串,可以有,也可以没有.如 ...
- centos 7.0远程登录
http://blog.csdn.net/e1219092641/article/details/79586476 linux在虚拟机上操作也是有许多不便之处的,但是远程登录的使用可以使操作简单不少, ...
- MySQL的学习记录(3.31更新)
MySQL的学习记录(3.31更新) 0x00 安装及配置 Windows 1.首先官网下载(https://dev.mysql.com/downloads/mysql/) ps:不想官网下载的可以到 ...
- 201621123062《java程序设计》第六周作业总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...
- 201621123050 《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:接口.has-a.comparable 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. ...
- C++布隆过滤器
布隆过滤器 这名词有没有听着好像很 挺高大上的,的确,它也是一种很重要的结构,下面一起看看: 一:说说历史: (Bloom Filter)是由布隆(Burton Howard Bloom)在1970年 ...