java学习之String类
标签(空格分隔): 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类的更多相关文章
- java学习笔记 --- String类
一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...
- Java学习笔记——String类常用方法
所谓的字符串就是对数组的包装,所以字符串内容无法进行更改.String在JDK1.8以前保存的是字符数组:private final char value[]; 而在JDK1.9之后保存的是字节数组: ...
- java学习一目了然——File类文件处理
java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习:File类
Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...
- Java学习之String对象为什么是不可变的
转自:http://www.2cto.com/kf/201401/272974.html,感谢作者的总结 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变 ...
- Java学习:Properties类
Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...
- Java常用API(String类)
Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...
随机推荐
- ~~面向对象进阶——__name__=="__main__"~~
进击のpython 面向对象进阶--__name__=="__main__" 前面我们在讲模块的时候,其实还有一个知识点没有很好的讲 那就是main和name 可能你们在看一些代码 ...
- 熟悉软件的生命周期AND测试工程师的工作流程
1.软件的生命周期 *软件生命周期(SDLC)是软件开始研制到最终被废弃不用所经历的各个阶段.在不同阶段里,由不同的组织.个人和资源进行着明确的任务. 2.生命周期的模型 *常见的生命周期模型有:瀑布 ...
- 从windows10迁移到Linux Deepin
如题, 这几天从windows系统迁移到deepin的linux系统花了很多时间, 以致最近都没时间来博客园.现在将这几天的成果分享出来, 顺便也做个记录.先不多说, 上一张新系统界面. 其实在装de ...
- 2019上半年总结——Github上那些Java面试、学习相关仓库
分享一下最近逛Github看到了一些对于Java面试以及学习有帮助的仓库,这些仓库涉及Java核心知识点整理.Java常见面试题.算法.基础知识点比如网络和操作系统等等. 知识点相关 1.JavaGu ...
- 数字麦克风PDM信号采集与STM32 I2S接口应用(二)
在使用STM32的数字麦克风I2S接口时,计算采样率让人头疼,芯片手册上没有明确的说法,而手册上的计算方法经过测试确和实验不符.借助搜索引擎,大部分资料都是来自于开发板卖家或开发板论坛,主要是咪头采集 ...
- 夯实Java基础(十四)——Java8新的日期处理类
1.前言 Java8之前处理日期一直是Java程序员比较头疼的问题,从Java 8之后,Java里面添加了许多的新特性,其中一个最常见也是最实用的便是日期处理的类——LocalDate.LocalDa ...
- Spring入门编程问题集锦Top10
我写的一篇文章,希望对spring初学者有所帮助: 1.如何学习Spring? 你可以通过下列途径学习spring: ①. spring下载包中doc目录下的MVC-step-by-step和samp ...
- .netcore持续集成测试篇之搭建内存服务器进行集成测试一
系列目录 在web项目里,我们把每一层的代码的单元测试都通过并不代表程序能正常运行,因为这个过程缺失了http管道,很多时候我们还还需要把项目布在iis环境中或者在vs里启动iis express服务 ...
- Jmeter 01 Jmeter下载安装及入门
jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域.--百度百科 下载 下载 ...
- vSphere Web Client 监控 esxi 主机硬件状态
开启插件能对 vcenter 管理的 esxi 主机的硬件状态进行监控. 以下操作均在 vcenter 主机上操作. 0x00 修改配置 文档中关于启用脚本插件支持的说明: Enabling Scri ...