string类的一些函数方法
1.请查看String.equals()方法的实现代码,注意学习其实现方法:
(1)源程序:
public class StringEquals {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String s1=new String("Hello");
String s2=new String("Hello");
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//true
String s3="Hello";
String s4="Hello";
System.out.println(s3==s4);//true
System.out.println(s3.equals(s4));//true
}
}
(2)结果截图
(3)结果分析:
new动态申请空间,申请的空间是不一样的,所以直接用“==”判等时他们是不等的,“==”判断地址和内容是否一样,显然地址不一样,所以显示false;而用equals时,只判断内容,内容相同,所以true;s3和s4没有用new,当字符串内容相同时,为了节省地址,就会分配一个地址,所以s3、s4无论地址还是内容都是一样的。
2.加密
(1)源代码:
import java.util.Scanner;
public class jiami {
public static void main(String args[])
{
//int a[]=null;
System.out.print("请输入一串字符串 :");
Scanner scanner=new Scanner(System.in);
String a=scanner.next();
System.out.println("加密后的是:");
for(int i=0;i<a.length();i++)
{
int b=a.charAt(i);//获取指定位置上的字符,并强制转化成int型
if((b+3<='Z'&&b+3>='A')||(b+3<='z'&&b+3>='a'))b=b+3;
else if((b+3>'z'&&b<='z'+3)||(b+3>'Z'&&b<='Z'+3))b=b-23;
System.out.print(new String(new char[]{(char)b}));//强制转换,将int型的b转化成char类型的
}
}
}
(2)设计思想:
首先输入一串字符,表示成string类型的,然后就进行加密,加密时用charAt函数将string类型的字符一个个的分别转化成int型的b,接着判断int型的b变量变化的范围,b+3<=z,就直接加3,否则就-23;最后输出变化后的字符串,将整型的b强制转化成char类型的数组,再以string的类型输出。
(3)运行结果截图
(4)程序流程图
3.验证
(1)源代码
import java.util.Scanner;
public class Stringexam {
public static void main(String args[])
{
char chara[]=new char[5];
/*System.out.print("请输入一串数:");
Scanner scanner=new Scanner (System.in);
String a=scanner.next();*/
String a=new String (" My name is ChenXiaoyang");
System.out.println("请输出a的值:"+a);
System.out.println("请输出a的长度:"+a.length());
System.out.println("请输出a的值(去掉头尾空格):"+a.trim());//会去掉首尾空格
System.out.println("请输出去掉头尾空格后a的长度:"+a.trim().length());
char b=a.charAt(2);//取下标为3的字符
System.out.println("下标为3的字符是:"+b);
a.getChars(1,5, chara,0);//获取从指定位置起的子串复制到字符数组,放在字符数组下标为0的位置
System.out.println("字符数组是:");
for(int i=0;i<chara.length;i++)
{
System.out.print(chara[i]+" ");
}System.out.println();
String a1=a.substring(0,2);System.out.println("a1的值:"+a1);//获取下标为0,1的字符串
String a2=a.substring(3, 5);System.out.println("a2的值:"+a2);//获取下标为3,4的字符串
String b3=a.replace(a1, a2);System.out.println("a1和a2互换后的值:"+b3);//a1和a2互换
System.out.println("a的值:"+a);
String a4=a.toUpperCase();//全变为大写的
System.out.println("变化后的a的值:"+a4);
String a5=a.toLowerCase();
System.out.println("再次变化后a的值:"+a5);//全变为小写的
char aa[]=a.toCharArray();
for(int j=0;j<a.length();j++)
{
System.out.print(aa[j]+" ");
}
//System.out.print("化为字符数组后的a的值:"+);//将字符串转化成数组
}}
(2)
Length():获取字串长度
charAt():获取指定位置的字符
getChars(int,int,char[],int):获取从指定位置起的子串复制到字符数组中,
四个参数的含义:
.被拷贝字符在字串中的起始位置
.被拷贝的最后一个字符在字串中的下标再加1
.目标字符数组
.拷贝的字符放在字符数组中的起始下标
replace(a1,a2):子串替换,如果()是写的查找后的字符调换就只会调换查找到的两个位置的字符,但是如果只是写的一个字符,不是查找到的就会替换掉所有的,用a2替换a1.
toUpperCase()转换为大写的
toLowerCase():转换成小写的
trim():去除头尾空格:
toCharArray():将字符串对象转换为字符数组
(3)程序截图:
string类的一些函数方法的更多相关文章
- Java String类中的intern()方法
今天在看一本书的时候注意到一个String的intern()方法,平常没用过,只是见过这个方法,也没去仔细看过这个方法.所以今天看了一下.个人觉得给String类中加入这个方法可能是为了提升一点点性能 ...
- Java——String类中的compareTo方法总结
String类的定义: java.lang 类 String java.lang.Object java.lang.String 所有已实现的接口:Serializable, C ...
- String类中的equals()方法:
String类中的equals()方法: public boolean equals(Object anObject) { //如果是同一个对象 if (this == anObject) { ret ...
- Java用代码演示String类中的以下方法的用法
用代码演示String类中的以下方法的用法 (1)boolean isEmpty(): 判断字符串是不是空串,如果是空的就返回true (2)char charAt(int index): 返回索引上 ...
- C++中string类的操作函数。
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- string类中getline函数的应用
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Javascript String类的属性及方法
String 类 Attribute and method anchor() 创建一个<a>标签的实例,将其name属性设置为被传递给此方法的字符串 big() ...
- String类的常用判断方法使用练习
选取了一些常用的判断方法进行了使用练习,后续跟新其他方法 package StringDemo; // String类的判断方法解析 // 1:boolean equals(); // 判断字符串是否 ...
- String类中一些的方法的应用
一.整理string类 1.Length():获取字串长度: 2.charAt():获取指定位置的字符: 3.getChars():获取从指定位置起的子串复制到字符数组中:(它有四个参数) 4.rep ...
随机推荐
- JVM的 GC机制和内存管理
GC机制:java垃圾回收机制,垃圾收集器线程(Garbage Collection Thread)在 JVM 处于空闲循环式,会自动回收无用的内存块. 垃圾收集算法:1.引用计数 2.根搜索 3 ...
- 本地项目 共享 到github仓库
一.安装git客户端 Window下安装Git客户端. 二.配置Intellij idea中的Git/ GitHub 选择Github,填写Host.Login和Password,然后Test是否成功 ...
- UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器
参考路径: https://blogs.sap.com/2017/11/19/sap-fiori-ui5-application-deployment/ 1.准备环境 2.上载SAP-FIORI前端服 ...
- iOS 视图间的几种通信方式
注:此处视图为广义上的视图,不限于View,ViewController之类的都算. 大致分为三种,Notification, delegate, block 例: 假设要在A视图中调起B视图,B视图 ...
- zookeeper windows7下集群搭建
模拟分布式环境!!! 搞了好几天,各种错误!!终于成功了. 环境: windows7 /centos/xsheel 安装了三个虚拟机... 1.下载zookeeper http://archi ...
- C# 如何利用反射,将字符串转化为类名并调用类中方法
首先,先随便创建一个测试类 <span style="font-family:Microsoft YaHei;font-size:18px;">public class ...
- vue:再vue-cli项目中使用window以及调用window上的方法
一: 1:在main.js中 Vue.prototype.myfunction = function() {/*你的自定义Vue方法*/} 2:在mounted(或其他生命周期中) 或者 method ...
- mysql网课部分笔记
mysql> \s 查看当前数据库的状态 \c 取消当前所输入的命令或字符 ------------------------------------------------------- m ...
- Hydra密码破译工具
Hydra简介 Hydra是著名黑客组织thc开发的一款开源的暴力密码破解工具,可以在线破解多种密码,目前已经被Backtrack和kali等渗透平台收录.除了命令行下的Hydra外,还提供了Hydr ...
- kickstart自动安装部署RHEL7
Kickstart是一种无人值守的安装方式.它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个 名为ks.cfg的文件.如果在安装过程中(不只局限于生成Kickstart安装文 ...