第六讲 字符串

1、equals()

  equals是根类Obeject中的方法。源代码如下:

public boolean equals(Object obj) {
    return (this == obj);
}

可见默认的equals方法,直接调用==,比较对象地址。

  不同的子类,可以重写此方法,进行两个对象的equals的判断。

  String类源码中重写的equals方法如下,

public boolean equals(Object anObject) {
     2         if (this == anObject) {
     3             return true;
     4         }
     5         if (anObject instanceof String) {
     6             String anotherString = (String) anObject;
     7             int n = value.length;
     8             if (n == anotherString.value.length) {
     9                 char v1[] = value;
    10                 char v2[] = anotherString.value;
    11                 int i = 0;
    12                 while (n-- != 0) {
    13                     if (v1[i] != v2[i])
    14                             return false;
    15                     i++;
    16                 }
    17                 return true;
    18             }
    19         }
    20         return false;
    21     }

总结:

  (1)String类中的equals首先比较地址,如果是同一个对象的引用,可知对象相等,返回true。

  (2)若果不是同一个对象,equals方法挨个比较两个字符串对象内的字符,只有完全相等才返回true,否则返回false。

2、Length(a):获取字串长度,a为一个字符串

3、charAt():获取指定位置的字符

定义和用法

charAt() 方法可返回指定位置的字符。

请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串。

stringObject.charAt(index)index必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

提示和注释

注释:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

4、getChars(1,2,3,4):获取从指定位置起的子串复制到字符数组中(它有四个参数,在示例中有介绍)

四个参数的含义:
         1.被拷贝字符在字串中的起始位置
         2.被拷贝的最后一个字符在字串中的下标再加1
         3.目标字符数组
         4.拷贝的字符放在字符数组中的起始下标将
5、replace():子串替换

stringObject.replace(regexp/substr,replacement)

参数

regexp/substr:     必需。规定子字符串或要替换的模式的 RegExp 对象。

请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。

replacement          必需。一个字符串值。规定了替换文本或生成替换文本的函数。

返回值

一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

说明

字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些    子 串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

6、toUpperCase()、 toLowerCase():大小写转换

toUpperCase()将小写转化为大写字符串;

toLowerCase()将大写转化为小写字符串。
7、trim():去除头尾空格:空格算字符

Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉

8、toCharArray():将字符串对象转换为字符数组

返回值:

它返回一个新分配的字符数组,其长度是这样的字符串的长度,且其内容被初始化为包含由该字符串所表示的字符序列。

9.字串加密

package homework;
import javax.swing.JOptionPane;
public class mima {
    public static void main(String[] args){
        String str=JOptionPane.showInputDialog("输入密码明文");//输入明文
        String s="";
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)>=97&&str.charAt(i)<=118)
                s=s+(char)(str.charAt(i)+3);//当字符在a~w时,直接后移,ASCII码加3
            else
                if(str.charAt(i)>=119&&str.charAt(i)<=122)
                    s=s+(char)(str.charAt(i)-23);//当字符为x~z时,返回到前面几个,ASCII码减23
                else
                    s=s+str.charAt(i);//其他字符不变
        }
        JOptionPane.showMessageDialog( null, s,
                 "密文",
                 JOptionPane.INFORMATION_MESSAGE );
    }

}

时间: 2024-11-02 10:10:30

第六讲 字符串的相关文章

第六讲 map

2.  map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响.对于迭代器来说,可以修改实值,而不能修改key. 3.  map的功能 自动建立Key - value的对应.key 和 value可以是任意你需要的类型. 根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次. 快速插入Key - Value 记录. 快速删除记录 根据Key 修

UI第六讲.UISegmentControl的使用,UISliser的使用,UIImageView的使用,UIControl的作用

一.UISegmentedControl的使用(分段控件) UISegmentedControl是iOS中的分段控件. 每个segment都能被点击,相当于集成了若干个button.通常我们会点击不同的segment来切换不同的view. 示例图: 常用方法: 示例代码: 基本的UISegmentControl的用法,同时通过其addtarget/action方法实点击切换view背景色的效果 效果图:点击UISegmentControl的item,切换背景色 二.UISlider的使用(滑块控

16位汇编第六讲汇编指令详解第二讲

16位汇编第六讲汇编指令详解第二讲 1.比较指令 CMP指令 1.CMP指令是将目的操作数减去源操作数,按照定义相应的设置状态标志 2.CMP指令执行的功能与SUB指令(相减指令)一样,但是不同的是CMP指令之根据结果设置标志位 而不修改值 可以操作的指令格式 CMP reg,imm/reg/mem CMP mem,imm/reg 上面是CMP指令的语法,具体的也可以查询帮助文档,inter手册 inter手册查的办法 第一个框代表了CMP指令的所有语法 比如 reg,reg 表示可以比较寄存器

(笔记)斯坦福机器学习第六讲--朴素贝叶斯

本讲内容 1. Naive Bayes(朴素贝叶斯) 2.Event models(朴素贝叶斯的事件模型) 3.Neural network (神经网络) 4.Support vector machines(支持向量机) 1.朴素贝叶斯 上讲中的垃圾邮件问题有几个需要注意的地方: (1)  一个单词只有出现和不出现两种可能,因此每个特征x只有两个取值 (2) 特征向量x的个数应该等于词典的长度,比如  将该算法一般化: (1) 让 可以取更多的值 此时  服从多项式分布,而不再是伯努利分布.一种

Stanford机器学习---第六讲. 怎样选择机器学习方法、系统

原文见http://blog.csdn.net/abcjennifer/article/details/7797502  添加了一些自己的注释和笔记 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Stand

机器学习基石第六讲:theory of generalization

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 机器学习基石第六讲继续讨论"学习是否可行的问题". Restriction of Break Point 继续前面的讨论,我们看mH(N)是否会有一个很小的增长速度.回顾前面的四种成长函数及其break point.我们知道k是一个成长函数的break point,那比k大的值全是break point. mH(N)是一个hypothesis在N个数据点上可以产生的dic

通达OA 培训课程第六讲课件 实际开发案例讲解(图文)

第六讲主要结合过去开发的一些实际典型应用案例来给大家进行一下通达的开发过程及开发成果,通过本课程的学习使学员能够更好的将前面学习的内容进行贯穿整合,从而真正掌握开发技能.

《上古天真论》第六讲文字版

上古天真论篇第六讲 主讲:徐文兵  主持:梁  冬 播出时间:2009-01-10  23:00—24:00 经文:帝曰:人年老而无子者,材力尽邪?将天数然也? 岐伯曰:女子七岁,肾气盛,齿更发长.二七而天癸至,任脉通,太冲脉盛,月事以时下,故有子.三七,肾气平均,故真牙生而长极. 梁冬:大家好,欢迎收听今天的国学堂之发现中医太美之<黄帝内经>之<上古天真论>.在过去的一段时间里呢,我们得以有幸啊,和厚朴中医学堂的徐文兵老师一起来逐字逐字地体会了<黄帝内经>的精妙,我都

蓝鸥零基础学习HTML5第六讲 CSS的常见样式

蓝鸥零基础学习HTML5第六讲 CSS的常见样式 CSS的常见样式 1.css文本样式的设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div { font-size:160px; font-family: "sans-Seri