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编程基础篇第三章
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当 ...
随机推荐
- Cube Mapping
Cube map技术说到底就是用一个虚拟的立方体(cube)包围住物体,眼睛到物体某处的向量eyevec经过反射(以该处的法线为对称轴),反射向量reflectvec射到立方体上,就在该立方体上获得一 ...
- 用substr()截取中文出现乱码的解决方法
截取中文字符串时出现乱码(使用substr()函数) 程序一:PHP截取中文字符串方法 function msubstr($str, $start, $len) { $tmpstr = &quo ...
- Naive Bayes理论与实践
Naive Bayes: 简单有效的常用分类算法,典型用途:垃圾邮件分类 假设:给定目标值时属性之间相互条件独立 同样,先验概率的贝叶斯估计是 优点: 1. 无监督学习的一种,实现简单,没有迭代,学习 ...
- Linux系统资源监控命令
转自http://www.51testing.com/html/16/271416-149128.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运行常规用户进程CPU运行niced ...
- Java—常用数据类型
1 Vector类 Vector类似于一个数组,但与数组相比在使用上有以下两个优点. (1) 使用的时候无需声明上限,随着元素的增加,Vector的长度会自动增加. (2) Vector提供额外的方 ...
- Java之美[从菜鸟到高手演变]之设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- 读javascript高级程序设计01-基本概念、数据类型、函数
一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与 ...
- input框限制只能输入正整数,逻辑与和或运算
推荐下自己刚写的项目,请大家指正:童话之翼 有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字.小数点.英文字母.汉字等代码. 例如,输入大于0的正整数 代码如下: < ...
- apache下自定义404错误页面
404页面的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开. 很多开源系统包括CMS系统.Blog系统等不提供404页面或提供的404页面并未达到SE ...
- BZOJ1880: [Sdoi2009]Elaxia的路线
题意:求最短路最长公共距离. 考虑每一条边,如果满足dis(s1,u)+len+dis(v,t1)==dis(s1,t1) && dis(s2,u)+len+dis(v,t2)==di ...