字符串是 Java 中特殊的类,使用方法像一般的基本数据类型,被广泛应用在 Java 编程中。Java 没有内置的字符串类型,而是在标准 Java 类库中提供了一个 String 类来创建和操作字符串。

在 Java 中定义一个字符串最简单的方法是用双引号把它包围起来。这种用双引号括起来的一串字符实际上都是 String 对象,如字符串“Hello”在编译后即成为 String 对象。因此也可以通过创建 String 类的实例来定义字符串。

不论使用哪种形式创建字符串,字符串对象一旦被创建,其值是不能改变的,但可以使用其他变量重新赋值的方式进行更改。

注意:由于类和对象的的内容在第八章才会讲解,所以只要遇到类和对象的概念,知道如何操作就可以了,不需要明白为什么要这样使用。

直接定义字符串

直接定义字符串是指使用双引号表示字符串中的内容,例如“Hello Java”、“Java 编程”等。具体方法是用字符串常量直接初始化一个 String 对象,示例如下:

String str = "Hello Java";

或者

String str;

str = "Hello Java";

注意:字符串变量必须经过初始化才能使用。

例 1

下面的实例演示了直接创建字符串的几种用法。

String str = "我是一只小小鸟"; // 结果:我是一只小小鸟

String word;

word = "I am a bird"; // 结果:I am a bird

word = "

to fly

"; // 结果:

to fly

word = "Let\'s say that it\'s true"; // 结果:Let's say that it's true

System.out.println(word);

word = "北京\\上海\\广州"; // 结果:北京\上海\广州

使用 String 类定义

前面我们提到在 Java 中每个双引号定义的字符串都是一个 String 类的对象。因此,可以通过使用 String 类的构造方法来创建字符串,该类位于 java.lang 包中(关于 Java 常用的包,教程后面会详细讲解)。

String 类的构造方法有多种重载形式,每种形式都可以定义字符串。下面介绍最常用的几种形式。

注意:具有和类名相同的名称,而且没有返回类型的方法称为构造方法。重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。教程后面会详细讲解,这里了解一下就可以。

1. String()

初始化一个新创建的 String 对象,表示一个空字符序列。

2. String(String original)

初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列。换句话说,新创建的字符串是该参数字符串的副本。例如:

String str1 = new String("Hello Java");

String str2 = new String(str1);

这里 str1 和 str2 的值是相等的。

3. String(char[ ]value)

分配一个新的字符串,将参数中的字符数组元素全部变为字符串。该字符数组的内容已被复制,后续对字符数组的修改不会影响新创建的字符串。例如:

char a[] = {'H','e','l','l','0'};

String sChar = new String(a);

a[1] = 's';

上述 sChar 变量的值是字符串“Hello”。 即使在创建字符串之后,对 a 数组中的第 2 个元素进行了修改,但未影响 sChar 的值。

注意:如果你不知道数组是什么,可先阅读《Java数组简介》一节对数组大概了解之后再继续学习本节内容。

4. String(char[] value,int offset,int count)

分配一个新的 String,它包含来自该字符数组参数一个子数组的字符。offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。该子数组的内容已被赋值,后续对字符数组的修改不会影响新创建的字符串。例如:

char a[]={'H','e','l','l','o'};

String sChar=new String(a,1,4);

a[1]='s';

上述 sChar 变量的值是字符串“ello”。该构造方法使用字符数组中的部分连续元素来创建字符串对象。offset 参数指定起始索引值,count 指定截取元素的个数。创建字符串对象后,即使在后面修改了 a 数组中第 2 个元素的值,对 sChar 的值也没有任何影响。

java定义个字符串_Java定义字符串(2种方式)相关推荐

  1. java中 object创建对象_java创建对象的几种方式

    本文收集整理关于java创建对象的几种方式的相关议题,使用内容导航快速到达. 内容导航: Q1:[八喜小子]java中创建对象的方式有哪些? 创建对象那就是应该为object 类型的值吧 那是一个引用 ...

  2. java 下载 docx文件_Java文件下载的几种方式.docx

    Java文件下载的几种方式文章分类:/blogs/category/javaJava编程 Java文件下载的几种方式Java代码 public?HttpServletResponse?download ...

  3. java循环满足跳出_java跳出循环的几种方式

    java跳出循环的集中方式 目录 一.break.continue.return 二.循环标记使用 很简单的几个知识,但是久了不用就忘记了,这里记录一下,方便后面回来查看. 一.break.conti ...

  4. Java字符串反转常用的2种方式

    Java字符串反转常用的2种方式 1.利用StringBuilder封装的reverse()方法 2.利用数组进行反转 ①先将字符串转换为char类型的数组 ②对char类型数组进行反转 public ...

  5. python 遍历字符串的每一个字符_Python之字符串的遍历的4种方式

    python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...

  6. 遍历字符串的每个字符python_Python之字符串的遍历的4种方式

    python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...

  7. javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点...

    主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...

  8. python for遍历字符串_Python之字符串的遍历的4种方式

    本文主要介绍了Python之字符串的遍历的4种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. python的字符串遍历有4 ...

  9. java中为final变量赋值的几种方式

    java中为final变量赋值的几种方式 前言 使用final修饰变量,很多人第一时间想到的就是不可变.然后以为变量必须得在声明的时候就为其赋初始值,其实不然,本文将详细讲解java中使用final修 ...

  10. Java如何读取文件文本内容的几种方式汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客 package com.joshua317;imp ...

最新文章

  1. 让计算机“拥抱”常识
  2. javascript 传多个参数的正则表达式(用来获取某个参数值)
  3. Sql Server之旅——第五站 确实不得不说的DBCC命令
  4. _int64_在Linux对应对文件,linux下32位机与64位机基本数据类型长度对比
  5. NSURLSession访问HTTPS网站
  6. 【渝粤教育】国家开放大学2018年秋季 2409T中国古代文学(B)(1) 参考试题
  7. 基于c语言的学生成绩管理系统论文,C语言学生成绩管理系统论文
  8. c语言大作业超市系统设计,超市管理系统(C语言课程设计报告)
  9. OFDM载波间隔_OFDM之频域
  10. 题外-解决mac重启后git无法使用
  11. joc杂志影响因子2019_有机化学高档次杂志投稿之我见——JACS,Angew,OL等
  12. 【JAVA】easyexcel 导出excel文件带多个图片
  13. 没有执行此操作所需的足够可用空间。_一文详解 MySQL 高可用之 DRBD | 原力计划...
  14. Android开源框架PowerfulViewLibrary——PowerfulEditText的介绍和源码解析
  15. 会PLC也能玩转机器视觉(三)- BLOB斑点定位
  16. 原生js.ajax内存溢出,【JS】解决内存溢出问题
  17. rails 查询 where条件用法
  18. lane是什么意思_lane是什么意思_lane的翻译_音标_读音_用法_例句_爱词霸在线词典...
  19. Linux 各种压缩、解压命令
  20. 【图像处理】常用色彩空间

热门文章

  1. js 前端实现打印功能
  2. 高琪300集——入门
  3. Mac Wireshark 设置中文
  4. aws ecs 通过efs挂载实现动态更新firelens日志配置
  5. ActiveMQ的MQTT:WARN | Stealing link for clientId XXX From Connection Transport
  6. 常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)
  7. phyton list排序
  8. 美国乡村音乐历史[[[磁性的声音-成熟男人的味道-John Michael Montgomery]]]
  9. 大一计算机课如何做表格,电脑做表格的基本操作教程
  10. java如何导出excel_JAVA如何导出EXCEL表格