标签(空格分隔): String类


String 的概述

class StringDemo{

    public static void main(String[] args){
String s1="abc";//s1是一个类型变量,abc是一个对象,
//字符串最大的特点,一旦被初始化就不可以改变,
//s1="kk";//这时候是s1的指向变了,并不是abc
String s2=new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));//String 类复写了object对象的方法,用来判断字符串是否相等
/*
s1和s2的区别是什么?
s1代表一个对象,
s2有两个对象 */ }
}

String类适用于描述字符串事物,那么他就提供了多个方法对于字符创进行操作;

常见的操作有哪些呢?

1.获取,2,判断;

获取:

1.1字符串中包含的字符串的长度,包含的字符数:int length(),获取长度;

1.2根据位置上的获取某个字符:char charAt(int index);

1.3根据字符获取该字符串中的位置int indexof(int ch);返回ch在字符串中第一次出现的位置;

1.4int indexof(int ch ,int fromindex)从fromindex指定的位置的开始,获取ch在字符串中出现的位置;

例如如下查看长度:

class StringMethDemo{
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4)); //根据字符获取索引
sop(str.indexOf('a'));
}
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get(); }
}
```
```java
class StringMethDemo{
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(40));//当访问到字符串中不存在的角标的时候,会发生:StringIndexOfBoundsException. //根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
}
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get(); }
}
```
###判断:
>*
1.字符串中是否包含某一个子串contains(str),
特殊之处:indexof(str)可以索引str 第一次出现的位置,如果返回-1,表示该str不在字符串中存在,所以也可以而言用于对指定判断是否包含,if(str.indexOf("aa")!=-1),而且该方法,2.即可以判断,又可以判断出现的位置,
3.字符串是否以指定内容开头:startsWith(str)
4.字符串指定内容结尾endsWith(str)
5.字符串是否为空:boolean isEmpty()是否为0.
6.equals判断字符串是否相等,复写了object类中的equals方法。
boolean equals(str)
7.判断内容是否相等,并忽略大小写;
Boolean equalsIgnoreCase(); ###转换:
1.将字符数组转成字符串:String(char[]),String(char[],offset,count),将字符数组中的一部分转成字符串,
2.将字符串转成数组char[] toCharArray[]
3.将字节数组转成字符串byte[] getBytes()
4.将字符串转成字节数组
特殊字符串和字节数组在转换的过程中,是可以指定编码表的;
```java
class StringMethDemo{
public static void method_trans(){ char[] arr={'a','b','c','d','e','f'};
String s=new String(arr,1,3);
sop(s);
String l1="abcdesd";
char[] chs=l1.toCharArray();
for(int x=0;x<chs.length;x++){ sop(chs[x]);
}
}
public static void method_is(){ String str="ArryDemo.java";
sop(str.startsWith("Arry"));
sop(str.endsWith("java"));
sop(str.contains("Demo")); }
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4));
//根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
//返回指定字符串最后一次出现的索引
sop(str.lastIndexOf('a')); }
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get();
method_is();
method_trans();
}
``` ###替换:
replace(oldchar,newchar);原来的字符串是不会改变的,改变的是新的字符串;
```java
class StringMethDemo{
public static void method_replace(){
String l ="hello java";
String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变 sop(l2); }
public static void method_trans(){ char[] arr={'a','b','c','d','e','f'};
String s=new String(arr,1,3);
sop(s);
String l1="abcdesd";
char[] chs=l1.toCharArray();
for(int x=0;x<chs.length;x++){ sop(chs[x]);
}
}
public static void method_is(){ String str="ArryDemo.java";
sop(str.startsWith("Arry"));
sop(str.endsWith("java"));
sop(str.contains("Demo")); }
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4));
//根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
//返回指定字符串最后一次出现的索引
sop(str.lastIndexOf('a')); }
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get();
method_is();
method_trans();
method_replace(); } ``` ###切割:
String[] split(regex);
```java
class StringMethDemo{
public static void method_split(){ String l3="zhangsan,lisi,wangsu";
String[] arr=l3.split(",");
for(int x=0;x<arr.length;x++){
sop(arr[x]);
}
}
public static void method_replace(){
String l ="hello java";
String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变 sop(l2); }
public static void method_trans(){ char[] arr={'a','b','c','d','e','f'};
String s=new String(arr,1,3);
sop(s);
String l1="abcdesd";
char[] chs=l1.toCharArray();
for(int x=0;x<chs.length;x++){ sop(chs[x]);
}
}
public static void method_is(){ String str="ArryDemo.java";
sop(str.startsWith("Arry"));
sop(str.endsWith("java"));
sop(str.contains("Demo")); }
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4));
//根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
//返回指定字符串最后一次出现的索引
sop(str.lastIndexOf('a')); }
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get();
method_is();
method_trans();
method_replace();
method_split(); }
}
```
### 子串:
获取字符串中的一部分,substring(begin,end);
```java
class StringMethDemo{
public static void method_sub(){ String l4="abcdef";
sop(l4.substring(2));//从指定位置开始到结尾,如果交表不存在会存在字符串角标越界
sop(l4.substring(2,4));//包含头,不包含尾
}
public static void method_split(){ String l3="zhangsan,lisi,wangsu";
String[] arr=l3.split(",");
for(int x=0;x<arr.length;x++){
sop(arr[x]);
}
}
public static void method_replace(){
String l ="hello java";
String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变 sop(l2); }
public static void method_trans(){ char[] arr={'a','b','c','d','e','f'};
String s=new String(arr,1,3);
sop(s);
String l1="abcdesd";
char[] chs=l1.toCharArray();
for(int x=0;x<chs.length;x++){ sop(chs[x]);
}
}
public static void method_is(){ String str="ArryDemo.java";
sop(str.startsWith("Arry"));
sop(str.endsWith("java"));
sop(str.contains("Demo")); }
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4));
//根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
//返回指定字符串最后一次出现的索引
sop(str.lastIndexOf('a')); }
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get();
method_is();
method_trans();
method_replace();
method_split();
method_sub(); } ```
### 转换
1.转大写,转小写: 2.去除字符串中两端的空格去除;
3.将两个字符串进行自然顺序的比较 ```java
class StringMethDemo{
public static void methos_7(){ String l5=" Hello Java ";
sop(l5.toLowerCase());
sop(l5.toUpperCase());
sop(l5.trim());
String l6="a1c";
String l7="aaa";
sop(l6.compareTo(l7)); }
public static void method_sub(){ String l4="abcdef";
sop(l4.substring(2));//从指定位置开始到结尾,如果交表不存在会存在字符串角标越界
sop(l4.substring(2,4));//包含头,不包含尾
}
public static void method_split(){ String l3="zhangsan,lisi,wangsu";
String[] arr=l3.split(",");
for(int x=0;x<arr.length;x++){
sop(arr[x]);
}
}
public static void method_replace(){
String l ="hello java";
String l2=l.replace('a','b');//替换是新的字符串,不是原来的字符串,原来的不变 sop(l2); }
public static void method_trans(){ char[] arr={'a','b','c','d','e','f'};
String s=new String(arr,1,3);
sop(s);
String l1="abcdesd";
char[] chs=l1.toCharArray();
for(int x=0;x<chs.length;x++){ sop(chs[x]);
}
}
public static void method_is(){ String str="ArryDemo.java";
sop(str.startsWith("Arry"));
sop(str.endsWith("java"));
sop(str.contains("Demo")); }
public static void method_get(){ String str="abcdeakpf";
//长度
sop(str.length());
//根据索引获取字符
sop(str.charAt(4));
//根据字符获取索引
sop(str.indexOf('m',3));//如果没有找到返回-1
//返回指定字符串最后一次出现的索引
sop(str.lastIndexOf('a')); }
public static void sop(Object obj){ System.out.println(obj);
}
public static void main(String[] args){
method_get();
method_is();
method_trans();
method_replace();
method_split();
method_sub();
methos_7(); } ```

java学习之String类的更多相关文章

  1. java学习笔记 --- String类

    一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...

  2. Java学习笔记——String类常用方法

    所谓的字符串就是对数组的包装,所以字符串内容无法进行更改.String在JDK1.8以前保存的是字符数组:private final char value[]; 而在JDK1.9之后保存的是字节数组: ...

  3. java学习一目了然——File类文件处理

    java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...

  4. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  5. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  6. Java学习:File类

    Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...

  7. Java学习之String对象为什么是不可变的

    转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变 ...

  8. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  9. Java常用API(String类)

    Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...

随机推荐

  1. LinkedHashMap的特殊之处

    一.前言 乍眼一看会怀疑或者问LinkedHashMap与HashMap有什么区别? 它有什么与众不同之处?  由于前面已经有两篇文章分析了HashMap,今天就看看LinkedHashMap.(基于 ...

  2. 【Python】Django【邮箱验证】 后端验证如何生成 token加密验证码 与如何解码!!!!

    1.生成token验证码方案   ,使用itsdangerous    大宝剑, 可以序列化出验证码,并能设置过期时间 安装 itsdangerous pip install itsdangerous ...

  3. 【Python】Django 的邮件引擎用法详解!!(调用163邮箱为例)

    1. send_mall()方法介绍 位置: 在django.core.mail模块提供了send_mail()来发送邮件. 方法参数: send_mail(subject, message, fro ...

  4. 放出一批jsp图书管理系统图书借阅系统源码代码运行

    基于jsp+mysql的JSP图书销售管理系统 https://www.icodedock.com/article/105.html基于jsp+Spring+Spring MVC的Spring图书借阅 ...

  5. Pyenv虚拟环境的创建(虚拟机)

    创建pyenv虚拟环境 sudo yum install openssl* 安装其所需要的库文件 git clone https://github.com/yyuu/pyenv.git ~/.pyen ...

  6. kubeadm源码分析

    k8s离线安装包 三步安装,简单到难以置信 kubeadm源码分析 说句实在话,kubeadm的代码写的真心一般,质量不是很高. 几个关键点来先说一下kubeadm干的几个核心的事: kubeadm ...

  7. java中线程安全,线程死锁,线程通信快速入门

    一:多线程安全问题 ###1 引入 /* * 多线程并发访问同一个数据资源 * 3个线程,对一个票资源,出售 */ public class ThreadDemo { public static vo ...

  8. Oracle 存储过程批量插入数据

    oracle 存储过程批量插入大量数据 declare numCount number; userName varchar2(512); email varchar2(512); markCommen ...

  9. Cocos经典游戏教程之仿皇室战争

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  10. 【0807 | Day 10】字符编码以及Python2/3编码的区别

    一.计算机基础 计算机组成:CPU.内存.硬盘 CPU:控制程序运行(从内存中取出文本编辑器的数据存入内存) 内存:运行程序 硬件:存储数据 二.文本编辑器存取文件的原理 比如计算机只能识别0和1,文 ...