一、字符串类

/*
java.lang.String类代表字符串
程序中所有的双引号字符串,都是String类的对象。就算没有new
字符串中的内容,永不变;不可变
字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组
*/ package china.java.demo; /*
创建字符串3+1中方式;三种构造方法,一种直接创建
1. public String(),创建一个空白字符串,不含有任何内容
2. public String(char[] array),根据字符数组的内容,来创建对应的字符串
3. public String(byte[] array),根据字节数组的内容,来创建对应的字符串
*/
public class Demo01 {
public static void main(String[] args) {
// 使用空参构造
String str1 = new String();
System.out.println("第一个字符串" + str1); // 使用字符数组
char[] charArray = {'A', 'B', 'C'};
String str2 = new String(charArray);
System.out.println(str2); // 使用字节数组
byte[] byteArray = {98, 99};
String str3 = new String(byteArray);
System.out.println(str3); // 直接创建
String str4 = "Hello";
System.out.println(str4);
}
}

二、字符串方法

1. 字符串比较方法

/*
== 对象地址值比较,字符串内容比较,可使用2个方法
public boolean equal(Object obj),参数可以是任何对象 */ /*
创建字符串3+1中方式;三种构造方法,一种直接创建
1. public String(),创建一个空白字符串,不含有任何内容
2. public String(char[] array),根据字符数组的内容,来创建对应的字符串
3. public String(byte[] array),根据字节数组的内容,来创建对应的字符串 注意事项:
1. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面
*/
public class Demo01 {
public static void main(String[] args) { // 直接创建
String str1 = "Hello";
String str2 = "Hello";
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str3 = new String(charArray);
String str4 = "hello"; System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
System.out.println(str3.equals("Hello")); //true
System.out.println("Hello".equals(str1)); //true
System.out.println(str1.equals(str4)); //false
}
}
/*
public boolean equalsIgnoreCase(String str),忽略大小写,进行内容比较
*/
package china.java.demo; public class Demo01 {
public static void main(String[] args) { // 直接创建
String str1 = "Hello";
String str2 = "hello"; System.out.println(str1.equalsIgnoreCase(str2)); //true }
}

2. 字符串获取

/*
public int length(),获取字符串中含有字符个数,拿到字符串长度
public String concat(String str),将当前字符串和参数字符串拼成新字符串
public char charAt(int index),获取指定索引位置的单个字符
public int indexOf(String str),查找参数字符串在本字符串中出现的索引位置,没有返回-1
*/ package china.java.demo; public class Demo01 {
public static void main(String[] args) { // 直接创建
String str1 = "HelloRGHJKJHGFyuioefywfwhfuwiehfwei"; System.out.println(str1.length()); //35
System.out.println(str1.concat("AB"));
System.out.println(str1.charAt(10)); //J
System.out.println(str1.indexOf("fwei")); //31
System.out.println(str1.indexOf("f")); //19
System.out.println(str1.indexOf("q")); //-1
}
}

3. 字符串截取方法

/*
public String substring(int index),截取从参数位置一直到字符串结尾,返回新字符串
public String substring(int begin, int end),左闭右开
*/ public class Demo01 {
public static void main(String[] args) { // 直接创建
String str1 = "Helloworld";
String str2 = str1.substring(5);
String str3 = str1.substring(1, 4);
System.out.println(str2); //world
System.out.println(str3); //ell
}
}

4. 字符串转换方法

/*
public char[] toCharArray(),将当前字符串拆分为字符数组作为返回值
public byte[] getBytes(),获取当前字符串底层的字节数组
public String replace(CharSequence, oldString, CharSequence newString),将所有出现的老字符串替换成新字符串,返回替换之后的结果新字符串;备注:CharSequence可以接受字符串类型
*/
public class Demo01 {
public static void main(String[] args) { char[] chars = "Hello".toCharArray();
System.out.println(chars[0]); //H
System.out.println(chars.length); //5 byte[] bytes = "world".getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]);
} String str1 = "how do you do";
String str2 = str1.replace("o", "*");
System.out.println(str1); //how do you do
System.out.println(str2); //h*w d* y*u d*
}
}

5. 字符串分隔方法

/*
public String[] split(String regex),按照参数规则,将字符串切分成若干部分
split参数其实是一个表达式;如果按照英文句点 . ,必须写 \\
*/
public class Demo01 {
public static void main(String[] args) {
String str1 = "aaa,bbb,ccc";
String[] array1 = str1.split(",");
for (int i = 0; i <array1.length ; i++) {
System.out.println(array1[i]);
} String str2 = "aaa.bbb.ccc";
String[] array2 = str1.split(".");
System.out.println(array2.length); //0
String[] array3 = str2.split("\\.");
System.out.println(array3.length); //3
for (int i = 0; i <array3.length ; i++) {
System.out.println(array3[i]);
}
}
}

三、字符串练习

1. 拼接字符串

// 定义一个方法,把数组[1,2,3]按照指定格式拼接成一个字符串。格式如:[world1#world2#world3]
public class Demo01 {
public static void main(String[] args) {
int[] array = {1, 2, 3};
System.out.println(fromArrayToString(array));
} public static String fromArrayToString(int[] array) { String new_str = "";
for (int i = 0; i < array.length; i++) {
new_str = new_str + "world".concat(Integer.toString(array[i])) + "#";
System.out.println(new_str);
}
return "[" + new_str + "]"; }
}
public class Demo01 {
public static void main(String[] args) {
int[] array = {1, 2, 3};
System.out.println(fromArrayToString(array));
} public static String fromArrayToString(int[] array) {
String str = "["; for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
str += "world" + array[i] + "]";
} else {
str += "world" + array[i] + "#";
}
}
return str; }
}

2. 统计各字符在字符串中出现的次数

package china.java.demo;

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
// 创建一个输入对象
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个字符串:");
// 输入字符串
String input = sc.next(); int countUppper = 0;
int countLower = 0;
// 将字符串拆解成字符数组进行迭代
char[] charArray = input.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char ch = charArray[i];
if ('A' <= ch && ch <= 'Z') {
countUppper++;
} else {
countLower++;
}
}
System.out.println(countLower);
System.out.println(countUppper);
}

13. java String类的更多相关文章

  1. Java 11 - Java String类

    Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...

  2. Java-Runoob:Java String 类

    ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...

  3. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  4. JAVA String 类

    java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...

  5. Java String类具体解释

    Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...

  6. Java String类的常用方法

    String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...

  7. Java学习笔记之:Java String类

    一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...

  8. Java String类和StringBuffer类

    1.String类 用于字符串操作,本质是字符数组char[ ]. String对象的值是不可变的,即当你修改一个String对象的类容,JVM不会改变原来的对象,而是生成一个新String对象. 2 ...

  9. Java String类的比较运算

    面试题:(多选)以下返回true的有() A. "beijing" == "beijing" B. "beijing".equals(new ...

随机推荐

  1. gtest、cmake使用

    gtest github: https://github.com/google/googletest 学习:玩转Google开源C++单元测试框架Google Test系列(gtest)(总) 一.安 ...

  2. JavaWeb中的MVC 下

    代码较多,请先略过代码,看懂逻辑在研究代码 引入 回顾上一节中的项目,最终的层次结构: 在MVC上中,我们分析了MVC设计模式具备的优点,以及不足,并在其基础上增了Service层用于处理业务逻辑,但 ...

  3. 分布式事务解决方案,中间件 Seata 的设计原理详解

    作者:张乘辉 前言 在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,在某些服务出现故障时也不会影响 ...

  4. elementui入门

    1.前端服务器搭建 (1)创建一个static web project (2) 安装 npm install -g vue-cli (3) vue init webpack 项目名 (4)cd 项目名 ...

  5. React一键复制

    如题,我们怎么在React或者其他的框架中实现一键复制呢,实际上实现一键复制的代码与框架无关,因为他是用的是原生的API,下面我们用React来实现一下    效果: 核心代码: 直接将红框处改为需要 ...

  6. 我的 FPGA 学习历程(15)—— Verilog 的 always 语句综合

    在本篇里,我们讨论 Verilog 语言的综合问题,Verilog HDL (Hardware Description Language) 中文名为硬件描述语言,而不是硬件设计语言.这个名称提醒我们是 ...

  7. 人员简历管理系统-毕业设计(包括文档+源代码+答辩PPT)

    1.开发环境 开发工具:Microsoft Visual Studio 2010操作系统:Windows7(推荐)或更高版本 数据库:sql server 2000 或者更高版本Web服务器:IIS ...

  8. zookeeper扫盲

    一.zookeeper概述 a.zookeeper是一个开源的分布式的项目,为分布式业务提供协调服务的apache顶级项目 那什么是分布式的呢,通俗的说就是多个机器可以同时去处理一件事情 b.zook ...

  9. Redis集群与分布式介绍以及搭建Redis-Cluster

    1 Redis集群 1.1 什么是集群 集群就是很多服务器组成的一个网络.指的是将多台服务器集中在一起,实现同一业务. 1.2 为什么要集群 一台服务器不能满足开发需要的时候,需要多台服务器来支持.这 ...

  10. 魔术师发牌问题 -- python实现

    问题描述 魔术师手中有A.2.3--J.Q.K十三张黑桃扑克牌.在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下).魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来, ...