java-String基础篇
一、String字符串理解
java字符串类,包含了字符串的值和实现字符串相关操作的一些方法
1、String字符串可分静态字符串和动态字符串
静态初始化字符串:String s1 = "hello";
动态初始化字符串:String s2 = new String("hello");
2、静态初始化与动态初始化的区别
二、String字符串常用方法
charAt(int index) //返回指定下标的字符(从零开始)
getBytes() //返回字节数组
字符串和字符数组的转换
public class string001 {
public static void main(String[] args)
{
String str1= "xiaoluo"; //定义一个字符串
char c[] = str1.toCharArray(); //toCharArray:将前面的name字符串转换为一个数组
for (int i=0;i<c.length;i++)
{
System.out.print(c[i]+"\t"); //循环取出数组中的每一个元素
}
System.out.println(""); //换行
String str2 = new String(c); //将全部数组转换至一个字符串
String str3 = new String(c,0,3); //将0-3个元素转换至一个字符串
System.out.println(str2);
System.out.println(str3);
}
}
//x i a o l u o
//xiaoluo
//xia
字符串中取出指定位置的字符
public class String002 {
public static void main(String[] args)
{
String str1 = "xiaoluo"; //声明一个字符串
System.out.println(str1.charAt(3));//charAt方法:取出字符串下标为3的元素
}
}
//o
将一个字符串变成一个byte数组,同时将一个byte数组变成一个字符串
字符串可以通过getBytes()方法将String变成一个byte数组,然后可以通过String的构造方法将一个字节数组从新变为字符串
public class String003 {
public static void main(String[] args)
{
String str1 ="beijing"; //声明一个字符串
byte b[] =str1.getBytes(); //通过getBytes:将字符串转换为一个字节数组
System.out.println(new String(b)); //将整个字节数组转换为一个字符串
System.out.println(new String(b,1,3));//将字节数组b中下标为1-3的元素转换为字符串
}
}
//beijing
//eij
获取一个字符串所占长度
通过调用length方法获取了字符串的长度
public class StringLength {
public static void main(String[] args)
{
String str1 = "beijing"; //声明一个字符串
System.out.println("str1字符串长度为:"+str1.length());//通过length获取字符串长度
}
}
//str1字符串长度为:7
注意:length和length()区别?
先明确一点,任何方法的调用后面必须带()才是实现,而length是取数组长度,元素后没有带()括号,而字符串调用length是一个方法,方法的调用后面必须带()
indexOf方法查找指定的字符串中是否存在某个元素
public class String_indexOf {
public static void main(String[] args)
{
String str1 = "qwertyuioepe";//声明一个字符串
System.out.println(str1.indexOf("w"));//通过indexOf方法查找字符串中是否存在w元素存在位置
System.out.println(str1.indexOf("e",4));//通过indexOf方法查找e元素是否存在并从第四个元素开始查找第一个e
System.out.println(str1.indexOf("b"));//字符串中不存在的元素返回-1
}
}
//1
//9
//-1
去除左右两边空格
trim()方法去除字符串中多余空格
public class String_indexOf {
public static void main(String[] args)
{
String str1 = " qwertyuioepe ";//声明一个字符串
System.out.println(str1.trim());//trim方法:去除字符串中左右两边的空格
System.out.println(str1);
}
}
//qwertyuioepe
// qwertyuioepe
字符串截取
通过substring()方法截取指定的字符串或字符串之间的元素
public class String_indexOf {
public static void main(String[] args)
{
String str1 = "qwertyuioepe";//声明一个字符串
System.out.println(str1.trim());//trim方法:去除字符串中左右两边的空格
// System.out.println(str1);
System.out.println(str1.substring(4));//substring方法:从四个元素开始截图后面的元素
System.out.println(str1.substring(0,4));//结果下标为0-4之间的元素
}
}
//qwertyuioepe
//tyuioepe
//qwe
按照指定的字符串拆分字符串
在Stringzing通过split()方法可以进行字符串的拆分操作,拆分的数据将Yui字符串数组的形式返回,如下是按照空格进行拆分并将拆分的字符串保存在一个列表
public class String_indexOf {
public static void main(String[] args)
{
String str1 = "hello world";//声明一个字符串
String str2[] = str1.split(" ");//按照空格对str1中字符串进行拆分并将拆分的元素保存在一个列表
for(int i=0;i<str2.length;i++) //循环输出str2[]中所有元素
{
System.out.println(str2[i]);
}
}
}
//hello
//world
判断字符串以某某开头或某某结尾
startsWith:判断字符串以某某开头
endsWith:判断字符串以某某结尾
public class String_indexOf {
public static void main(String[] args)
{
String str1 = "***hello world";//声明一个字符串
String str2 = "nihao***";
if(str1.startsWith("***"))
{
System.out.println("(***hello world)以***开头");
}
if(str2.endsWith("***"))
{
System.out.println("(nihao***)以***结尾");
}
}
}
//(***hello world)以***开头
//(nihao***)以***结尾
指定字符串进行替换
在String中使用replaceAll可对字符串中存在字符进行指定行替换
public class String_indexOf {
public static void main(String[] args) {
String str1 = "hello world";//声明一个字符串
String str2 = str1.replaceAll("w","W");//replaceAll方法:将w元素替换成W
System.out.println(str2);
}
}
//hello World
java-String基础篇的更多相关文章
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- java 线程基础篇,看这一篇就够了。
前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. ...
- JDBC-使用Java连接数据库-基础篇
这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下. Java连接数据库大约需要五大步骤: 创建数据库 ...
- java面试基础篇(三)
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些 ...
- java面试基础篇(二)
上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) ...
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- JAVA格物致知基础篇:用JAX-RS和Jersey打造RESTful Service
随着服务器的处理能力越来越强,业务需求量的不断累积,越来越多的公司开始从单一服务器,单一业务承载变成了多服务器,多业务承载的快速扩展的过程中.传统的方法很难满足和应付这种业务量的增长和部署方式的改变. ...
- Java编程基础篇第六章
构造方法 一:概念: 给对象的数据(属性)进行初始化 二:特点: a.方法名与类同名(字母大小写也要一样) b.没有返回值类型 c.没有具体的返回值 return 三:构造方法重载: 方法名相同,与返 ...
- Java编程基础篇第五章
数组概述 概念:数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器.数组既可以存储基本数据类型,也可以存储引用数据类型.应用场景:为了存储同种数据类型的多个值 数组定义格式 格式1:元素类型 ...
- Java编程基础篇第三章
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当 ...
随机推荐
- 学习JQ
目前我对jq的了解还很少,只知道jq比js简单很多,只需引入一个js文件,然后,在js中很多行才能实现的代码,jq中或许一行就搞掂了,比如根据类名获取元素,$(".类名")即可,对 ...
- SPSS数据分析—卡方检验
t检验和方差分析主要针对于连续变量,秩和检验主要针对有序分类变量,而卡方检验主要针对无序分类变量(也可以用于连续变量,但需要做离散化处理),用途同样非常广泛,基于卡方统计量也衍生出来很多统计方法. 卡 ...
- javascript复习总结
改变HTML内容:document.getElementById(id).innerHTML = new HTML; 改变HTML属性:document.getElementById(id).inne ...
- E:Sudoku
总时间限制: 2000ms 内存限制: 65536kB描述Sudoku is a very simple task. A square table with 9 rows and 9 columns ...
- foundation框架—结构体
Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...
- LeetCode 175 Combine Two Tables mysql,left join 难度:0
https://leetcode.com/problems/combine-two-tables/ Combine Two Tables Table: Person +-------------+-- ...
- java内存泄露的理解与解决(转)
Java内存管理机制 在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期.从申请分配.到使用.再到最后的释放.这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记 ...
- PHP中file_put_contents追加时换行
很多时候记录日志需要换行.不建议使用\r\n,因为:在windows中\r\n是换行在Mac中\r是换行在Liunx中\n是换行 但是PHP提供了一个常量来匹配不同的操作系统,即: file_put_ ...
- java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
今天在使用动态代理时,遇到了如下问题,报错 java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice 下面是完整的报错信息: 一月 , :: ...
- Linux I2C总线控制器驱动(S3C2440)
s3c2440的i2c控制器驱动(精简DIY),直接上代码,注释很详细: #include <linux/kernel.h> #include <linux/module.h> ...