String java问题随笔
1.字符串加密
设计思想:
每个字符都能够转化为整数型,也能将整数型转化为字符类型,这样我们在加密时候由于向后推3个,所以可以将字符转换为整形,然后加3,之后在将运算完的变量转化为字符后输出,就可以实现字符串加密。
程序流程图:
输入字符串-》将字符串分解为字符-》字符转换为整形-》整形加3-》转化为字符-》输出。
源代码:import java.util.*;
public class zifu {
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
System.out.println("please input str:");
String str = scanner.next();
int i;
char chars[] = str.toCharArray();
for(i = 0;i < str.length();i++)
{
chars[i] = (char) (chars[i] + 3);
}
str = String.valueOf(chars);
System.out.println("请输入加密后的字符串:"+str);
}
}
程序运行截图
2.String.equals()方法
equals()函数的最高层参数是Object对象,他的源码是:
[java] view plain copy
- public boolean equals(Object obj) {
- return (this == obj);
- }
可以看出返回的是两个对象是否相等的布尔值。
String中的equals被重写了。源码如下:
[java] view plain copy
- public boolean equals(Object anObject) {
- if (this == anObject) {
- return true;
- }
- if (anObject instanceof String) {
- String anotherString = (String) anObject;
- int n = value.length;
- if (n == anotherString.value.length) {
- 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. }
“==”判断的是两个对象是否一致,即内容和地址,而equals()只比较内容;比如判断s1和s2的内容格式s1.equals(s2);
3.整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Length()用来求字符串的长度,返回值为字符串的长度。
charAt()取该字符串某个位置的字符,从0开始,为char类型
getChars()将这个字符串中的字符复制到目标字符数组
replace()将原string 中的元素或子串替换。返回替换后的string
toUpperCase()将字符串string中字符变为大写
toLowerCase()将字符串string中字符变为小写
trim()去除字符串的头为空格
toCharArray()将字符串转换为字符数组
String java问题随笔的更多相关文章
- Java基础 随笔整理
Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...
- SpringBoot报错:nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.tuyrk.test.User matching [java.lang.Long, java.lang.String, java.lang.String]
错误提示: Caused by: org.apache.ibatis.executor.ExecutorException: No constructor found in com.tuyrk._16 ...
- java.lang.String & java.lang.StringBuilder
java.lang.String & java.lang.StringBuilder String 成员方法 作用 public charAr(int index) 返回给定位置的代码单元 p ...
- Failed to bind properties under 'logging.level' to java.util.Map<java.lang.String, java.lang.String>
org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'log ...
- No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.lang.String>]
java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...
- Java冒泡随笔
package homework; import java.util.Scanner; public class ArraySort { /** * @param args */ public sta ...
- Java学习随笔5:Java多线程编程
1. 线程是程序中单独顺序的控制流,线程本身依靠程序进行运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境. 2. 进程是执行中的程序,一个进程可以包含一个或多个线程,但至少要包含一个线程 ...
- Java学习随笔4:Java的IO操作
1. IO流的作用是读写设备上的数据,如硬盘文件.内存.键盘.网络等.根据数据走向,可分为:输入流和输出流:根据处理的数据类型,可分为:字节流和字符流.字节流可以处理所有类型的数据,如MP3.图片.视 ...
- Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...
随机推荐
- python3+Appium自动化08-数据配置yaml
yaml简介 yaml是一种简洁的非标记语言.yaml以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读 由于实现简单,解析成本低,yaml特别适合在脚本语言中使用.现有的语言实现: ...
- (转)Linux系统stat指令用法
<Linux系统stat指令用法> 原文:https://www.cnblogs.com/linux-super-meng/p/3812695.html stat指令:文件/文件系统的详 ...
- asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用: @Html.Partial 对应 @{Html.RenderParti ...
- Java使用Zxing生成、解析二维码工具类
Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法. 1.二维码的生成 (1).将Zxing-core.jar 包加入到classpath下. (2). ...
- .net笔试题一(简答题)
1. 简述 private. protected. public. internal 修饰符的访问权限答:private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类 ...
- Ashx增删改查_动软
1.首先展示列表 ashx 讲究的是个替换 这些就是属于ashx麻烦的地方 public void ProcessRequest(HttpContext context) { context.Resp ...
- chroot 的应用
http://www.williamlong.info/archives/3864.html http://my.oschina.net/u/1590519/blog/342576
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第十二天(非原创)
文章大纲 一.课程介绍二.Ngnix基础知识学习三.Ngnix在淘淘商城中使用四.参考资料下载五.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工程.Sv ...
- Day5 CSS基本样式和C3选择器
Day5 CSS基本样式和C3选择器 一.背景属性 1.背景颜色 background-color:transparent(默认值,透明); 颜色的取值: ...
- 如何避开JavaScript浮点数计算精度问题(如0.1+0.2!==0.3)
不知道大家在使用JS的过程中有没有发现某些浮点数运算的时候,得到的结果存在精度问题:比如0.1 + 0.2 = 0.30000000000000004以及7 * 0.8 = 5.60000000000 ...