java===java基础学习(4)---字符串操作

java中的字符串操作和python中的大致相同,需要熟悉的就是具体操作形式。

关于具体api的使用,详见:java===字符串常用API介绍(转)

package testbotoo;

public class shuzhileixingzhuanhuan {

    public static void main(String[] args){

        String greeting = "hello word";

        //string 类的substring 方法可以实现字符串的提取,提取一个子串。
        String s = greeting.substring(3,8);
        System.out.println(s);  //结果为  lo wo

        //字符串的拼接
        int a = 13;
        String c = "hahhah我的";
        String d =  a +c;
        System.out.println(d);
        //不可变字符串

        //比如,将greeting的更改为 help!
        greeting = greeting.substring(0,3)+"p!";
        System.out.println(greeting);   //help!

        int n = greeting.length();
        System.out.println(n);
        int cpCount = greeting.codePointCount(0,n);
        System.out.println(cpCount);

        StringBuilder builder = new StringBuilder();
        builder.append("sdasada");
        builder.append(123);

        System.out.println(int length());
        String completedString = builder.toString();  //调用toString方法,可以得到一个string对象
        System.out.println(completedString);
    }

}

检查字符串是否相等
        表达式:s.equals(t)
        如果相等,返回True.如果不想等,返回False
        **尤其注意的是,不能使用==运算符检测两个字符串是否相等!
        
        空串与Null串
        *空串""是长度为0的字符串
        *Null串,目前没有任何对象与该变量关联。
        可以使用以下代码检查一个字符串是否为空
        if (str.length() == 0)
        或者
        if (str.equals(""))
        可以使用以下代码检查是否为null
        if (str == null)

原文地址:https://www.cnblogs.com/botoo/p/8479029.html

时间: 2024-08-01 08:07:02

java===java基础学习(4)---字符串操作的相关文章

Java入门基础学习源码,有C或C++语言基础的可以快速掌握

以下为完整源码,需要1.8版本JDK,否则部分新特性可能出现兼容问题,去掉注释号即可运行 package hello; import java.util.Scanner; public class Hello { public static void main(String[] args) { // TODO 自动生成的方法存根 /* //这是第一个程序 System.out.println("这是一个减法计算器"); Scanner in = new Scanner(System.i

java入门(类型转换、字符串操作等)

java基础数据类型:不能=null; 四类八种: 整数型: byte   2的8次方 short   2的16次方 int   2的32次方 long   2的64次方 浮点型:    float    double   布尔型:    boolean(只有两个值, true, false)   字符型:    char   字符串:    String 类型转换:  隐式转换(我们看不到转换过程):  条件:   由低精度向高精度转换:    double 16位       1.22222

javascript基础--数组,字符串操作,Math函数

数据的操作方法: 1 var arr = [1,2,3,4,5]; 2 3 arr.push(6,7);//可以在数组的最后一位开始添加数列(1+);并返回数组的长度. 4 5 arr.pop();//删除数组的最后一位.并返回那一位数组的内容. 6 7 arr.shift();//删除数组的第0位,并返回那一位数组的内容. 8 9 arr.unshift(-1,0);//从数组的第0位前,添加数列,并返回数组的长度. 10 11 arr.join('');//将每列数组按照指定的符号或者不设置

java的基础学习(1)

在暑假荒废一星期,武汉看海之后.为了面对接下来的广州实习,我又重新温习了java的一些基本特征和进行手打代码.因为之前的学习更多是停留在纸面的理解上,没有实际的代码编辑.这两天学习要点在于对java的继承,重载,方法覆盖,多态以及约瑟夫问题. 重载,具有相同的方法名,但在参数的个数,类型,顺序上至少要有一个不同.返回类型和修饰符可以不同,但如果仅仅是返回类型不同,或仅仅是修饰符不同,是不足以构成方法的重载的. 方法的覆盖,是在父类已有成员方法的基础上,子类可以有对同名成员方法的不同实现,将会使父

【Java】基础学习0-为什么学习Java?

背景 众所周知,Java的开发人员数量远远要多于Python的开发人员.作为企业的软件开发来讲,一般公司都选择Java作为第一个开发语言.市场上很多的管理系统,特别是B/S架构的网站,数据查询相关产品,基本上都是Java开发的. 博主有一定的Python基础,但是在最近的工作过程中越来越感觉到多掌握一门编程语言的重要性.现在很多公司的招聘信息中明确表示,测试必须要熟悉Android/iOS中的一种,iOS开发需要iOS环境,安卓开发也要Java基础.那么你就比只会Python编写测试脚本的其他测

JAVA多线程基础学习三:volatile关键字

Java的volatile关键字在JDK源码中经常出现,但是对它的认识只是停留在共享变量上,今天来谈谈volatile关键字. volatile,从字面上说是易变的.不稳定的,事实上,也确实如此,这个关键字的作用就是告诉编译器,只要是被此关键字修饰的变量都是易变的.不稳定的.那为什么是易变的呢?因为volatile所修饰的变量是直接存在于主内存中的,线程对变量的操作也是直接反映在主内存中,所以说其是易变的. 一.Java内存模型 Java内存模型规定所有的变量都是存在主存当中(类似于前面说的物理

Java web基础学习之开发环境篇

Tomcat + Eclipse添加Java EE插件 因为之前进行Java SE学习已经配置了JDK,安装了Eclipse for Java SE,所以选择了在Eclipse上添加插件的方式来配置Web开发环境 Tomcat是免安装版,直接解压即可: Eclipse中"帮助-安装新软件",work with处选择Mars - http://download.eclipse.org/releases/mars(注意对应自己版本): 选择Web.Java EE那个选项进行安装即可,如果报

Java中String类(字符串操作)的10个常见问题和解决方法

注:来自百度搜索,还没有码一遍,一定要码!! 1. 字符串比较,使用 "==" 还是 equals() ?简单来说, "==" 判断两个引用的是不是同一个内存地址(同一个物理对象).而 equals 判断两个字符串的值是否相等.除非你想判断两个string引用是否同一个对象,否则应该总是使用 equals()方法.如果你了解 字符串的驻留 ( String Interning ) 则会更好地理解这个问题 2. 对于敏感信息,为何使用char[]要比String更好?

Java的基础学习

正真第一次接触Java是在2016.5.15,有点不知所措担心这担心那但我决定朝着这个目标走下去.来到教室时老师正在讲fou语句使用,或许是自己之前看了点C#的视频老师讲的那些内容基本上都懂不过操作起来有点吃力.在我来之前他们已经上了三节课但当我看到旁边学员水平发现这不是三节课差距.我只能不断告送自己只要努力就一定可以的. public class Demo1 { public static void main(String[]args){ System.out.println("春晓"

java 线程基础学习

今天趁空闲时间看了点线程方面的知识 首先看的是volatile关键字,按照我之前书上看到的一点知识,自己的理解是,volatile关键字会阻止编译优化,因为cpu每次读取数据是并不是从高速缓存中读取,而是取内存中的数据.这是自己的一点简单的理解,可能有错误.我之前只是看了点线程方面的知识,只是在自己写代码的时候很少(根本没用到),就是自己学习的时候跟着书上敲了代码. 实习的时候要我写个压力测试,1000个线程同时发请求,统计请求失败的次数,我用了volatile关键字,但是感觉有点问题,今天就测