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 ...
随机推荐
- formatter 操作列表的合并
{field:'22',title:'操作',width:250,align:'center',sortable:true,formatter : function(value, row, index ...
- Zipkin — 微服务链路跟踪.
一.Zipkin 介绍 Zipkin 是什么? Zipkin的官方介绍:https://zipkin.apache.org/ Zipkin是一款开源的分布式实时数据追踪系统(Distributed ...
- Apache禁止访问网站子目录的方法
在PHP网站开发中,基于WEB服务器和PHP网站程序代码的安全考虑,我们需要对相关的目录或者文件访问权限进行控制,以防止意外情况的发生,那么我们如何来实现这种功能呢?我们可以通过Apache来实现禁止 ...
- css盒子模型 css3盒子相关样式
1.内边距(内边距在content外,边框内) 内边距属性: padding 设置所有边距 padding-bottom 底边距 padding-left ...
- $.ajax和$.load的区别
http://lib.csdn.net/article/jquery/35614?knId=646
- FusionCharts使用JavaScript渲染图表(不用Flash)
FusionCharts可以让用户只使用JavaScript建立图表(而不是使用Flash),只需要添加另一行代码,如下所示: FusionCharts.setCurrentRenderer('jav ...
- https验证新发现-老知识
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier); 可以设置https全局的域名校验规则 HttpsURLConnecti ...
- 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:9.观察者模式
欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 前言 在一个程序的迭代过程中,复杂度渐渐上升,可能会出现一些跨模块的调用的需求,若是直接得到引用来进行使用,会导致模 ...
- unhandled event loop exception解决方案
今天突然遇到这个问题,打开ADT就报unhandled event loop exception, 原因是ATI显卡的HydraDM.exe HydraDM64.exe进程somehow跟ADT起了冲 ...
- 数据字典的设计--3.首页添加删除表格(JS实现)
页面效果: JS代码: 1.添加表格 function insertRows(){ //获取表格对象 var tb1 = $("#dictTbl"); var tempRow = ...