Java中的字符串String

示例 1 : 创建字符串

字符串即字符的组合,在Java中,字符串是一个类,所以我们见到的字符串都是对象

常见创建字符串手段:

  1. 每当有一个字面值出现的时候,虚拟机就会创建一个字符串

  2. 调用String的构造方法创建一个字符串对象

  3. 通过+加号进行字符串拼接也会创建新的字符串对象

     public class TestString {
    
         public static void main(String[] args) {
    String garen ="盖伦"; //字面值,虚拟机碰到字面值就会创建一个字符串对象 String teemo = new String("提莫"); //创建了两个字符串对象 char[] cs = new char[]{'崔','斯','特'}; String hero = new String(cs);// 通过字符数组创建一个字符串对象 String hero3 = garen + teemo;// 通过+加号进行字符串拼接
    }
    }

示例 2 : final

String 被修饰为final,所以是不能被继承的

package character;

public class TestString {

    public static void main(String[] args) {
MyString str = new MyString(); } /*这里会报错,因为String不能被继承*/
static class MyString extends String{ } }

示例 3 : immutable

immutable 是指不可改变的

比如创建了一个字符串对象

String garen ="盖伦";

不可改变的具体含义是指:

不能增加长度

不能减少长度

不能插入字符

不能删除字符

不能修改字符

一旦创建好这个字符串,里面的内容 永远 不能改变

String 的表现就像是一个常量

package character;

public  class TestString {

    public static void main(String[] args) {
String garen ="盖伦"; }
}

示例 4 : 字符串格式化

如果不使用字符串格式化,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐

使用字符串格式化,就可以简洁明了

package character;

public class TestString {

    public static void main(String[] args) {

        String name ="盖伦";
int kill = 8;
String title="超神"; //直接使用+进行字符串连接,编码感觉会比较繁琐,并且维护性差,易读性差
String sentence = name+ " 在进行了连续 " + kill + " 次击杀后,获得了 " + title +" 的称号"; System.out.println(sentence); //格式化字符串
//%s表示字符串,%d表示数字,%n表示换行
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n"; String sentence2 = String.format(sentenceFormat, name,kill,title); System.out.println(sentence2); }
}

示例 5 : 字符串长度

length方法返回当前字符串的长度

可以有长度为0的字符串,即空字符串

package character;

public class TestString {

    public static void main(String[] args) {

        String name ="盖伦";

        System.out.println(name.length());

        String unknowHero = "";

        //可以有长度为0的字符串,即空字符串
System.out.println(unknowHero.length()); }
}

练习字符串数组排序

创建一个长度是8的字符串数组

使用8个长度是5的随机字符串初始化这个数组

对这个数组进行排序,按照每个字符串的首字母排序(无视大小写)

注1: 不能使用Arrays.sort() 要自己写

注2: 无视大小写,即 Axxxx 和 axxxxx 没有先后顺序

答案

package character;

import java.util.Arrays;

public class TestString {

    public static void main(String[] args) {

        String[] ss = new String[8];
for (int i = 0; i < ss.length; i++) {
String randomString = randomString(5);
ss[i] = randomString;
}
System.out.println("未排序前的字符串数组:");
System.out.println(Arrays.toString(ss)); for (int j = 0; j < ss.length; j++) {
for (int i = 0; i < ss.length - j - 1; i++) {
char firstChar1 = ss[i].charAt(0);
char firstChar2 = ss[i + 1].charAt(0);
firstChar1 = Character.toLowerCase(firstChar1);
firstChar2 = Character.toLowerCase(firstChar2); if (firstChar1 > firstChar2) {
String temp = ss[i];
ss[i] = ss[i + 1];
ss[i + 1] = temp;
}
}
} System.out.println("排序后的字符串数组:");
System.out.println(Arrays.toString(ss)); } private static String randomString(int length) {
String pool = "";
for (short i = '0'; i <= '9'; i++) {
pool += (char) i;
}
for (short i = 'a'; i <= 'z'; i++) {
pool += (char) i;
}
for (short i = 'A'; i <= 'Z'; i++) {
pool += (char) i;
}
char cs[] = new char[length];
for (int i = 0; i < cs.length; i++) {
int index = (int) (Math.random() * pool.length());
cs[i] = pool.charAt(index);
}
String result = new String(cs);
return result;
}
}

Java自学-数字与字符串 字符串的更多相关文章

  1. Java自学-数字与字符串 字符

    Java中的字符 示例 1 : 保存一个字符的时候使用char package character; public class TestChar { public static void main(S ...

  2. Java自学-数字与字符串 格式化输出

    Java 使用printf或format 进行格式化输出 步骤 1 : 格式化输出 如果不使用格式化输出,就需要进行字符串连接,如果变量比较多,拼接就会显得繁琐 使用格式化输出,就可以简洁明了 %s ...

  3. Java自学-数字与字符串 字符串转换

    Java中把数字转换为字符串,字符串转换为数字 步骤 1 : 数字转字符串 方法1: 使用String类的静态方法valueOf 方法2: 先把基本类型装箱为对象,然后调用对象的toString pa ...

  4. Java自学-数字与字符串 MyStringBuffer

    自己开发一个Java StringBuffer 根据接口IStringBuffer ,自己做一个MyStringBuffer 步骤 1 : IStringBuffer接口 package charac ...

  5. Java自学-数字与字符串 StringBuffer

    Java StringBuffer常见方法 StringBuffer是可变长的字符串 示例 1 : 追加 删除 插入 反转 append追加 delete 删除 insert 插入 reverse 反 ...

  6. Java自学-数字与字符串 比较字符串

    Java 比较字符串 示例 1 : 是否是同一个对象 str1和str2的内容一定是一样的! 但是,并不是同一个字符串对象 package character; public class TestSt ...

  7. Java自学-数字与字符串 操纵字符串

    Java常见字符串方法 示例 1 : 获取字符 charAt(int index)获取指定位置的字符 package character; public class TestString { publ ...

  8. Java自学-数字与字符串 装箱和拆箱

    Java中基本类型的装箱和拆箱 步骤 1 : 封装类 所有的基本类型,都有对应的类类型 比如int对应的类是Integer 这种类就叫做封装类 package digit; public class ...

  9. Java自学-数字与字符串 数学方法

    Java Math类常用方法 java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法的形式存在 步骤 1 : 四舍五入, 随机数,开方,次方,π,自然常数 package dig ...

随机推荐

  1. PacMan 03——追踪玩家

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  2. POJ 3155Hard Life(最大密度子图)

    论文出处:最小割模型在信息学竞赛终的应用 #include <iostream> #include <cstdio> #include <cstring> #inc ...

  3. BeyondCorps

    This repository provides a short description of the BeyondCorp security model and resources for impl ...

  4. Python 字符串内置方法笔记

    一. 大小写转换 ① capitalize() capitalize() #字符串首字母大写 >>> str0 = 'hello World' >>> str0.c ...

  5. pydev离线安装及安装后eclipse中不显示解决办法

    eclipse插件安装方法(离线安装)pydev进入eclipse目录1.创建links目录2.复制压缩包到目录前解压3.在links目录下新建pydev.link文件(记事本修改后缀名即可)4.py ...

  6. 网络编程 TCP协议:三次握手,四次回收,反馈机制 socket套接字通信 粘包问题与解决方法

    TCP协议:传输协议,基于端口工作 三次握手,四次挥手 TCP协议建立双向通道. 三次握手, 建连接: 1:客户端向服务端发送建立连接的请求 2:服务端返回收到请求的信息给客户端,并且发送往客户端建立 ...

  7. ajax中responseText与responseXML区别

    1."responseText”属性以字符串形式返回HTTP响应:“responseXML”属性以XML形式返回HTTP响应.function getTel() {  var telText ...

  8. html-前端内容初识

    HTML解释: HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的规则(W3C),大家都来遵守他,这 ...

  9. [POJ1087]A Plug for UNIX

    题目描述 Description You are in charge of setting up the press room for the inaugural meeting of the Uni ...

  10. [RN] React Native 获取验证码 按钮

    React Native 获取验证码 按钮 效果如图: 实现方法: 一.获取验证码 按钮组件 封装 CountDownButton.js "use strict"; import ...