大家一起和snailren学java-(13)字符串

  “好久没有写这个系列了。其实也有在看,不过觉得一些很基本的都写上来没意思。现在打算的是将整本书看完后,最后整合为一篇blog,筛选出一些平时没有注意到的或者更深入的理解”

  在写程序中,字符串String的操作是非常多的。在平时用字符串就只用了一部分特性。这次我们来看看关于字符串主要有哪些操作方式。主要从以下几个方面讲解:String本身特性、String格式化输出、正则表达式、扫描输入类Scanner类。

一、String

  我们在定义一个String对象的时候,比如String test = "snailren is so handsome".在以前我们就讲过,字符串的内容保存在静态存储区,test对象在堆。因此我们无法对String的内容进行修改。其他的String方法都是新创建的一个String。

  在Java中,没有C++中的那种重载运算符(好开心)。仅仅就只有“+”和“+=”进行了重载。这两个重载非常好理解,可以用于String类型的连接。在连接字符串的时候,java编译器在实现的时候新建了一个StringBuilder类,调用该对象的append方法来实现的“+”的效果。

  对于String、StringBuffer、StringBilder的选择,可以参考如下:“引用:

当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。对于三者使用的总结:1.如果要操作少量的数据用 = String                    2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder                    3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer”

 在对
时间: 2025-01-09 08:58:00

大家一起和snailren学java-(13)字符串的相关文章

跟王老师学Java三大特性(一):案例 QuickHit:需求分析

项目案例:QuickHit:需求分析 主讲教师:王少华   QQ群号:483773664 学习目标 学会用面向对象思想来进行需求分析 一.需求 根据输入速率和正确率将玩家分为不同级别 级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高 规定时间内完成规定次数的输入,正确率达到规定要求,则升级 玩家最高级别为6级.初始级别一律为1级 用户错误输入一次,游戏结束 二.面向对象分析 (一) 发现类 玩家(Player)类 游戏(Game)类 级别(Level)类 (二)发现类的属性 1.玩家

Java 之字符串(7)

什么是 Java 中的字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串.其实,在前面的章节中我们就已经使用了字符串, 例如我们在控制台中输出的 "Hello World" . "imooc"等. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: Java 中字符串的不变性 String 对象创建后

跟王老师学Java三大特性(三):案例 QuickHit:确认输入并输出结果

案例 QuickHit:确认输入并输出结果 主讲教师:王少华   QQ群号:483773664 学习目标 完成Game类中的printResult方法的编写 一.需求说明 确认用户输入并输出结果 二.思路分析 确认玩家输入是否正确 如果输入不正确,则直接输出错误信息并退出程序 如果输入正确 如果超时,则直接输出错误信息并退出程序 如果不超时 计算玩家当前积分 计算 玩家已用的时间 输出当前玩家的级别.当前积分.已用时间: 判断用户是已经闯过最后一关并处理 三.参考代码 1 2 3 4 5 6 7

Rhythmk 一步一步学 JAVA (21) JAVA 多线程

1.JAVA多线程简单示例 1.1 .Thread  集成接口 Runnable 1.2 .线程状态,可以通过  Thread.getState()获取线程状态: New (新创建) Runnable (可以运行) Blocked  (被阻塞) Waiting  (等待) Timed waiting (计时等待) Terminated  (被终止) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Rhythmk 一步一步学 JAVA (20) JAVA enum常用方法

JAVA 枚举定义常用方法: 1.static Enum valueOf(Class enum,String name) 返回指定name的枚举类型 2.Static Enum values[] 返回枚举常量集合 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

学java教程之String类

学编程吧学java教程之String类发布了,欢迎通过xuebiancheng8.com来访问 java类中的String类应该是用的最多的一个类,我们时时刻刻都离不开String类,时时刻刻都在用,面试的时候经常考,比方说问String类是不是基本数据类型.答案是否定了,String类不是基本数据类型,只不过String类和基本数据类型的用法很相似. 下面来看String类的用法. String str= “abc”;//定义了一个字符串abc String str1= new String(

Rhythmk 一步一步学 JAVA (22) JAVA 网络编程

1.获取主机信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 @Test     public void GetDomainInfo() throws UnknownHostException {         String domain = "www.baidu.com";         InetAddress netAddress = InetAddress.getByName(domain);         // 获取

如何用java获得字符串的ASCII值

使用Integer.valueOf就可以直接将char类型的数据转为十进制数据表现形式. int value=Integer.valueOf('1');//49int value=Integer.valueOf('a');//97 如下所示: ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9.标点符号, 以及在美式英语中使用的特殊控制字符.其中: 0-31及1

[Java]#从头学Java# Java大整数相加

重操旧业,再温Java,写了个大整数相乘先回顾回顾基本知识.算法.效率什么的都没怎么考虑,就纯粹实现功能而已. 先上代码: 1 package com.tacyeh.common; 2 3 public class MyMath { 4 5 public static String BigNumSum(String... n) { 6 int length = n.length; 7 StringBuilder result = new StringBuilder(); 8 //这里判断其实不需

初学Java:我为什么来学Java?

从8月1日到现在,两周过去了,报名培训班学习Java也过去两周了.今天开通了我的博客,以后在这里记录自己的学习经过. 我是小董,今年23岁,来自四川省阿坝州茂县,土生土长的农村人.经历了农村的贫穷落后,当然现在也没有富裕:经历了小学上学要走1个多小时路程的辛苦:经历了爸妈出门打工而成为留守儿童的孤独:经历了08年汶川地震的恐惧:经历了13年特大泥石流的后怕,也经历了从学习成绩优秀变为成绩不合格.经历不多,也谈不上精彩,甚至还平凡. 2012年6月高考,9月去了西昌,在西昌预科教育学院读了一年预科