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编程基础篇第三章
逻辑运算符 与(&)(&&),或(||)(|),非(!) &和&&的区别 &:无论&的左边真假,右边都进行运算 &&:当 ...
随机推荐
- Asp.Net_单点登录
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- SaltStack实战
SaltStack实战 #安装 安装注意几点 python-libs-2.6.6-64.el6.x86_64 conflicts with file from package python-2.6.6 ...
- Head First 设计模式 --9 迭代器模式 组合模式
迭代器模式:提供一种方法书序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 用到的设计原则:1.封装变化2.多用组合,少用继承|3.针对接口编程,不针对实现编程4.松耦合5.对扩展开放,对修改 ...
- jquery的colorbox关闭并传递数据到父窗
function closebox(para1, para2) { var k = parent;// 父窗口对象 k.document.getElementById("para1" ...
- 横向滑动的HorizontalListView滑动指定位置的解决方法
项目中用到了自定义横向滑动的控件:HorizontalListView,点击其中一项,跳转到另外一个大图界面,大图界面也是HorizontalListView,想使用setSelection方法设定 ...
- WLAN拓扑介绍-07
学完本课程后,您应该能: 描述802.11基本概念 概括WLAN基本拓扑结构 列举华为WDS组网模式 描述mesh网络模式 802.11基本元素总结 BSS(Basic Service Set):基本 ...
- logistic回归模型
一.模型简介 线性回归默认因变量为连续变量,而实际分析中,有时候会遇到因变量为分类变量的情况,例如阴性阳性.性别.血型等.此时如果还使用前面介绍的线性回归模型进行拟合的话,会出现问题,以二分类变量为例 ...
- Java 中的 request 和response 理解
request和response(请求和响应) 1.当Web容器收到客户端的发送过来http请求,会针对每一次请求,分别创建一个用于代表此次请求的HttpServletRequest对象(reque ...
- NetworkComms V3 之同步收发数据
NetworkComms网络通信框架序言 NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. NetworkComms v3的核心功能在一定程 ...
- 制造业如何基于BPM做供应链管理?
公司介绍深圳市吉祥腾达科技有限公司是中国网络产业的开航者,是中国无线网络领域的首批开拓者之一.历经10年的开拓创新,已经形成了拥有自主研发的全面产品线. 为了使公司物流.资金流和信息流实现优化整合,腾 ...