首页 > 编程语言 >java基础(三)----字符串

java基础(三)----字符串

时间:2022-11-08 15:44:07浏览次数:34  
标签:java String void ---- static str 字符串 public str1

目录

一、字符与整数的联系——ASCII码

每一个常用的字符都对应一个-128~127的数字,,二者之间可以相互转化。注意负数目前暂时没有与之对应的字符。

public class Main {
    public static void main(String[] args) {

        char c = 'a';
        System.out.println((int)c);

        int a = 97;
        System.out.println((char)a);
    }
}

二、Srting类

1、初始化

String a = "Hello World!";
String b = "My name is ";
String x = b;   //储存到了相同的地址
String c = b + "syx";   //String类型可以通过加号拼接
String d = "My age is " + 18; //int在这里被隐式转化成String类型
String str = String.format("My age is %d",18);//格式化输出
String pi = "3.1415926";
double PI = Double.parseDouble(pi);//强制转化成double类型

2、String具有只读性,不能修改

public class Main {

    public static void changeChar(String str1) {
        str1 = "abc";
    }

    public static void main(String[] args) {
        String str = "1234";
        changeChar(str);
        System.out.println(str);
    }
}

上面例子说明我们str存的是“1234”对象的引用地址,然后我们调用changeChar方法,str会把引用地址传给str1,由于java中的String类是只读的,所以我们无法修改“1234”这个字符串对象的值。
str1=“abc”是重新创建了一个字符串,并把这个地址给str1,但是我们str还是指向“1234”的地址,所以输出还是1234。

3、访问String类型的字符

public class Main {

    public static void main(String[] args) {
        String str = "Roseanne Park";
        for(int i=0;i<str.length();i++) {
            System.out.print(str.charAt(i));//注意这里的charAt(i)
        }
    }
}

4、常用API

在这里插入图片描述
我们首先看一下split这个API

package org.syx;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        String str = "Roseanne Park BlackPink";
        String[] str1 = str.split(" ");
        System.out.println(Arrays.toString(str1));
    }
}

去掉首尾的空白字符treim()

public class Main {
    public static void main(String[] args) {
        String str = "   Roseanne Park BlackPink    \n";
        System.out.print(str.trim());
    }
}

在这里插入图片描述
substring函数,这个第一个参数是我们要返回串的首下标,第二个参数不像c++一样是长度,第二个也是下标,是结尾的下标,但是结尾的下标取不到,只能取到前一个。

public class Main {
    public static void main(String[] args) {
        String str = "Roseanne Park BlackPink";
        System.out.print(str.substring(0,10));
    }
}

replace可以替换字符串和字符,我们也可以用它删除字符或者字符串,就是把他换成空串。

我们遍历String不方便的话,我们可以把他转化成字符数组并进行遍历。

public class Main {
    public static void main(String[] args) {
        String str = "Roseanne Park BlackPink";
        char[] str1 = str.toCharArray();
        for(char X : str1) {
            System.out.println(X);
        }
    }
}

三、StringBuilder StringBuffer

String不能被修改,要是想要修改的话可以使用StringBuilder,StringBuffer。
StringBuffer线程安全,速度比较慢,StringBuilder线程不安全,速度较快

public class Main {
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("Hello ");
        sb.append("World");
        System.out.println(sb);

        for(int i=0;i<sb.length();i++) {
            sb.setCharAt(i,(char)(sb.charAt(i)+1));
        }

        System.out.println(sb);
    }
}

在这里插入图片描述

标签:java,String,void,----,static,str,字符串,public,str1
From: https://www.cnblogs.com/byAttention/p/16869919.html

相关文章

  • 第二十七天 | 回溯算法
    第二十七天,继续回溯算法 39.组合总和classSolution{List<Integer>list=newArrayList<>();List<List<Integer>>ans=newArrayList<>();in......
  • MPC:百万富翁问题
    学习文章:“一起学MPC:(一)百万富翁问题”和“【隐私计算笔谈】MPC系列专题(一):安全多方计算应用场景一览”百万富翁问题将问题具体化:Alice有\(i\)亿元,Bob有\(j\)亿元,为方......
  • 推荐 4 个开源工具
    今天推荐4个登上GitHub热搜的开源项目,它们分别是:1.炫酷的UI工具:glslViewer2.Textual3.ToolJet:开源的低代码开发框架4. Linux命令大全搜索工具01炫酷的UI......
  • 实验三
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidp......
  • 数字化带来的根本性变革是什么?
    “数字生产力是人类改造自然的新型能力,正引发人类认知新规律、发现新现象、创造新事物等方式的根本性变革,必然会对产业创新、经济发展、社会治理等产生深层次影响。”1、......
  • 关于客户的机器加密问题,造成写Excel出现错误(只限于有名称管理器的情况下)
    问题:如果你用名称管理的话,在你读取名称管理器的信息后,如果中途读取数据的时间过长,然后后面就是输出数据了。这个时候代码就会报错。java.lang.RuntimeExceptionjava.lan......
  • 基于云开发的答题活动小程序v1.0,开开开源啦
    基于云开发的微信答题活动小程序v1.0,开开开源啦!!!这个答题小程序,技术栈是基于云开发的微信原生小程序。搭建教程系列文章11月是全国“119”消防宣传月,不少企事业单位会举办......
  • redis哨兵模式和集群模式优缺点_redis集群哨兵模式
    redis哨兵模式和集群模式优缺点_redis集群哨兵模式Redis主从模式是一主多从,从节点宕机还有其他的备份,但是主节点宕机了,必然引起系统的故障。为了解决这个问题,Redis提供了......
  • Security concepts in Microsoft Dataverse
    AssociateabusinessunitwithanAzureADsecuritygroupYoucanuseanAzureADsecuritygrouptomapyourbusinessunitforstreamliningyouruseradministr......
  • 程序员必知的“大数据”基础知识!
    当今这个时代,我相信大部分人对“大数据”这三个字肯定都不陌生,或多或少都有接触过,例如大数据杀熟。对我们程序员来说,仅仅知道或听过一些名词是不够的,至少需要知晓其中大概......