当前位置 : IT培训网 > Java开发 > Java教程 > 对Java字符串(String)的认识

对Java字符串(String)的认识

时间:2016-08-03 15:54:40  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
标签(Tag):   java(716)java字符串(1)
可能很多人不理解,什么是java字符串呢,尤其是java的初学者对string的认识更迷茫。今天大内IT培训网小编就来给大家介绍一下吧!

可能很多人不理解,什么是java字符串呢,尤其是java的初学者对string的认识更迷茫。今天IT培训网小编就来给大家介绍一下吧!

从表面上看,字符串就是双引号之间的数据,例如“IT培训网”、“http://www.itpxw.cn”等。在Java中,可以使用下面的方法定义字符串:

    String stringName = "string content";

例如:

String url = "http://www.itpxw.cn";

String webName = "IT培训网";

 

字符串可以通过“+”连接,基本数据类型与字符串进行“+”操作一般也会自动转换为字符串,例如:

public class Demo {

    public static void main(String[] args){

        String stuName = "小明";

        int stuAge = 17;

        float stuScore = 92.5f;

      

        String info = stuName + "的年龄是 " + stuAge + ",成绩是 " + stuScore;

        System.out.println(info);

    }

}

运行结果:

小明的年龄是 17,成绩是 92.5

 

String字符串与数组有一个共同点,就是它们被初始化后,长度是不变的,并且内容也不变。如果要改变它的值,就会产生一个新的字符串,如下所示:

String str = "Hello ";

str += "World!";

这个赋值表达式看起来有点像简单的接龙,在str后面直接加上一个“World!”字符串,形成最后的字符串“Hello World!”。其运行原理是这样的:程序首先产生了str1字符串,并在内存中申请了一段空间。此时要追加新的字符串是不可能的,因为字符串被初始化后,长度是固定的。如果要改变它,只有放弃原来的空间,重新申请能够容纳“Hello World!”字符串的内存空间,然后将“Hello World!”字符串放到内存中。

 

实际上,String 是java.lang包下的一个类,按照标准的面向对象的语法,其格式应该为:

String stringName = new String("string content");

例如:

String url = new String("http://www.itpxw.cn");

但是由于String特别常用,所以Java提供了一种简化的语法。

 

使用简化语法的另外一个原因是,按照标准的面向对象的语法,在内存使用上存在比较大的浪费。例如String str = new String(“abc”);实际上创建了两个String对象,一个是”abc”对象,存储在常量空间中,一个是使用new关键字为对象str申请的空间。

字符串操作

 

String对象有很多方法,可以方便的操作字符串。

1) length() 方法

 

length() 返回字符串的长度,例如:

String str1 = "IT培训网";

String str2 = "cnitedu";

System.out.println("The lenght of str1 is " + str1.length());

System.out.println("The lenght of str2 is " + str2.length());

输出结果:

The lenght of str1 is 3

The lenght of str2 is 10

 

可见,无论是字母、数字,还是汉字,每个字符的长度都是1。

2) charAt() 方法

 

charAt() 方法的作用是按照索引值获得字符串中的指定字符。Java规定,字符串中第一个字符的索引值是0,第二个字符的索引值是1,依次类推。例如:

String str = "123456789";

System.out.println(str.charAt(0) + "    " + str.charAt(5) + "    " + str.charAt(8));

输出结果:

1    6    9

3) contains() 方法

 

contains() 方法用来检测字符串是否包含某个子串,例如:

String str = "cnitedu";

System.out.println(str.contains("yuan"));

输出结果:

true

4) replace() 方法

 

字符串替换,用来替换字符串中所有指定的子串,例如:

String str1 = "The url of cnitedu is www.itpxw.cn!";

String str2 = str1.replace("cnitedu", "IT培训网");

System.out.println(str1);

System.out.println(str2);

输出结果:

The url of cnitedu is www.itpxw.cn!

The url of IT培训网 is www.IT培训网.net!

 

注意:replace() 方法不会改变原来的字符串,而是生成一个新的字符串。

5) split() 方法

 

以指定字符串作为分隔符,对当前字符串进行分割,分割的结果是一个数组,例如:

import java.util.*;

public class Demo {

    public static void main(String[] args){

        String str = "wei_xue_yuan_is_good";

        String strArr[] = str.split("_");

        System.out.println(Arrays.toString(strArr));

    }

}

运行结果:

[wei, xue, yuan, is, good]

 

以上仅仅列举了几个常用的String对象的方法,如果想要了解更多的java知识,请关注IT培训网。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
Java教程
1、Java 概述
1.1 Java语言概述
1.2 Java虚拟机以及跨平台原理
1.3 Java的主要就业方向
1.4 Java的不同版本
1.5 Java开发环境搭建
1.6 第一个Java程序示例
1.7 Java类和对象的概念
1.8 Java类库及其组织结构
1.9 Java import
2、Java 语法基础
2.1 Java数据类型以及变量的定义
2.2 Java数据类型转换
2.3 Java运算符
2.4 Java流程控制
2.5 Java数组的定义和使用
2.6 Java字符串(String)
2.7 Java StringBuffer与StringBuider
2.8 强调一下编程风格
3、Java 类与对象
3.1 Java类的定义及其实例化
3.2 Java访问修饰符
3.3 Java变量的作用域
3.4 Java this关键字详解
3.5 Java方法重载
3.6 Java类的基本运行顺序
3.7 Java包装类、拆箱和装箱详解
3.8 再谈Java包
3.9 源文件的声明规则
4、Java 继承和多态
4.1 继承的概念与实现
4.2 Java super关键字
4.3 继承中的方法的覆盖和重载
4.4 多态和动态绑定
4.5 instanceof 运算符
4.6 多态对象的类型转换
4.7 Java static关键字
4.8 Java final关键字
4.9 Java Object类
5、面向对象高级特性
5.1 Java内部类及其实例化
5.2 内部类的分类
5.3 抽象类的概念和使用
5.4 接口的概念和使用
5.5 接口和抽象类的区别
5.6 Java 泛型
5.7 泛型通配符和类型参数的范围
6、异常处理
6.1 异常处理基础
6.2 异常类型Java语言中常见的异常类型有哪些
6.3 未被捕获的异常
6.4 try和catch的使用
6.5 多重catch语句的使用
6.6 try语句的嵌套
6.7 throw:异常的抛出
6.8 throws子句
6.9 finally块
6.10 Java的内置异常
6.11 创建自己的异常子类
6.12 断言
7、线程编程
7.1 线程的概念
7.2 Java线程模型
7.3 主线程
7.4 创建线程
7.5 创建多线程
7.6 isAlive()和join()的使用
7.7 线程优先级
7.8 线程同步
7.9 线程间通信
7.10 线程死锁
7.11 线程的挂起、恢复和终止
8、输入输出(IO)操作
8.1 输入输出基本概念
8.2 面向字符的输入流
8.3 面向字符的输出流
8.4 面向字节的输入输出流
8.5 面向字节流的应用
8.6 文件与目录管理
8.7 文件的随机读写
8.8 文件的压缩处理
9、常用类库、向量与哈希
9.1 Java基础类库
9.2 Object类
9.3 Java语言包(java.lang)简介
9.4 日期和时间类
9.5 向量及其应用
9.6 哈希表及其应用
10、图形界面(GUI)设计
10.1 图形界面设计基础
10.2 框架窗口
10.3 标签、按钮和按钮事件
10.4 面板
10.5 布局设计
10.6 文本框和文本区
10.7 文本框和文本区的输入输出
10.8 选择框和单选按钮
10.9 列表和组合框
10.10 菜单
10.11 对话框
10.12 滚动条
10.13 鼠标事件
10.14 键盘事件
11、图形、图像与多媒体
11.1 绘图基础
11.2 设置字型和颜色
11.3 绘图模式
11.4 Graphics类的绘图方法
11.5 Graphics2D类的绘图方法
11.6 图像处理基础
11.7 图像缓冲技术
11.8 多媒体基础
12、网络与数据库编程
12.1 IP地址和InetAddress类
12.2 统一资源定位符
12.3 套接字(Socket)
12.4 数据库连接
12.5 几个重要的类和接口
12.6 数据库查询
12.7 数据库更新
12.8 插入记录
12.9 修改记录
12.10 删除记录