Java初步学习——2021.10.11每日总结,第六周周一
(1)今天做了什么; (2)明天准备做什么? (3)遇到的问题,如何解决?
今天继续学习菜鸟教程Java实例 字符串
9.字符串小写转大写——toUpperCase方法
public class Main
{
public static void main(String[] args)
{
String str = "string runoob";
System.out.println("原始字符串为: "+str);
System.out.println("转换为大写为: "+str.toUpperCase());
}
}
10.比较字符串区域是否相等——regionMatches方法
/*
regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);
regionMatches(int toffset,String other,int ooffset,int len);
上述两个方法用来比较两个字符串中指定区域的子串。
入口参数中,用toffset和ooffset分别指出当前字符串
中的子串起始位置和要与之比较的字符串中的子串起始地址;
len 指出比较长度。前一种方法可区分大写字母和小写字母,
如果在 boolean ignoreCase处写 true,表示将不区分大小写,写false则表示将区分大小写。
而后一个方法认为大小写字母有区别。
*/
public class Main
{
public static void main(String[] args)
{
String first_str = "Welcome to Microsoft";
String second_str = "I work with microsoft";
boolean match1 = first_str.regionMatches(11,second_str,12,9);
boolean match2 = first_str.regionMatches(true, 11, second_str, 12, 9);
System.out.println("区分大小写返回值:" + match1);
System.out.println("不区分大小写返回值:"+ match2);
}
}
11.字符串性能比较测试
public class Main
{
public static void main(String[] args)
{
long startTime = System.currentTimeMillis();
for(int i = 0; i < 50000 ; i++)
{
String str1 = "hello";
String str2 = "hello";
}
long endTime = System.currentTimeMillis();
System.out.println("直接赋值花费的时间为:"+(endTime - startTime)+"毫秒");
long startTime1 = System.currentTimeMillis();
for(int i = 0; i < 50000; i++)
{
String str1 = new String("hello");
String str2 = new String("hello");
}
long endTime1 = System.currentTimeMillis();
System.out.println("使用String对象创建字符串花费的时间为:"+(endTime1 - startTime1)+"毫秒");
}
}
由此可见直接使用字面量创建字符串性能高。
12.字符串优化——intern方法
public class Main
{
public static void main(String[] args)
{
String variables[] = new String[50000];
for(int i = 0; i < 50000; i++)
{
variables[i] = "s" + i;
}
long startTime = System.currentTimeMillis();
for(int i = 0; i < 50000; i++)
{
variables[i] = "hello";
}
long endTime = System.currentTimeMillis();
System.out.println("直接使用字符串:" + (endTime - startTime) + "ms");
long startTime1 = System.currentTimeMillis();
for(int i = 0; i < 50000; i++)
{
variables[i] = new String("hello");
}
long endTime1 = System.currentTimeMillis();
System.out.println("使用new关键字:" + (endTime1 - startTime1) + "ms");
long startTime2 = System.currentTimeMillis();
for(int i = 0; i < 50000; i++)
{
variables[i] = new String("hello");
variables[i] = variables[i].intern();
}
long endTime2 = System.currentTimeMillis();
System.out.println("使用字符串对象的intern方法:" + (endTime2 - startTime2) + "ms");
}
}
明天把字符串实例写完,并进行数组实例。
不太知道intern方法的作用,简单看了看博客发现确实比较复杂,这两天解决后再专门在软工第一学期错题集发表博客吧。
Java初步学习——2021.10.11每日总结,第六周周一的更多相关文章
- Java初步学习——2021.10.12每日总结,第六周周二
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了菜鸟教程Java实例,数组 1.数组的排序和元素的查找--sort和binarySearch方法 import j ...
- Java初步学习——2021.10.09每日总结,第五周周六
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了菜鸟教程实例部分 一.字符串 1.字符串比较--compareTo方法 public class Main { p ...
- Java初步学习——2021.10.05每日总结,第五周周二
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了二维数组,包括二维数组的声明,和二维数组的创建.以及获取二维数组的长度,其中要注意的是二维数组是每个元素都是一维数 ...
- Java初步学习——2021.10.05每日总结,第五周周三
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了对象与类,如何定义类和创建对象,以及构建方法的用法. 明天课比较多,把今天未学的例子敲一遍好了. 没有遇到什么问题.
- Java初步学习——2021.10.10每日总结,第五周周日
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天继续学习菜鸟教程java字符串实例 5.字符串反转--reverse方法 public class Main { pub ...
- Java初步学习——2021.09.23每日报告,第三周周四
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 学习数组,编写了一个随机选牌的代码.自己最开始一直想只设置一个字符串数组,利用随机数来输出,但那样对字符串赋值会比较麻烦.可 ...
- Java初步学习——2021.09.24每日总结,第三周周五
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了将数组传递给方法和方法返回数组,其中传递的是数组的引用. 明天把例子做了,尽量把查找也学习了. 遇到了两个问题: 1 ...
- MySQL初步学习——2021.09.27每日总结,第四周周一
(1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了SQL语句的分类: SQL语句很多,分为 1.DQL:数据查询语言(凡是带有select关键字的都是查询语句) 2 ...
- Java基础学习总结(11)——重载与重写
首先我们来讲讲:重载(Overloading) 一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样 ...
随机推荐
- 使用Xshell连接虚机安装的vyOS
本文主要讲解:使用虚机(Vitual Box)安装的vyOS,如何使用Xshell来通过ssh方式连接. 首先咱们安装vyOS 1.安装vyOS 先用Vitual Box安装vyOS镜像. 接下来的操 ...
- pgsql基本介绍
join on 与数学原理 pgsql切换数据库 直接输入 \C youdatabasename 即可 \d 表名 -- 得到表结构 select * from tablename查看表的数据 相信有 ...
- 已知三角形ABC为锐角三角形,求 sinA + sinB·sin(C/2) 的最大值。
已知三角形ABC为锐角三角形,求 sinA + sinBsin(C/2) 的最大值. 解:Δ := sinA + sinB·sin(C/2) = sin(B+C) + sinB·sin(C/2) = ...
- Python安装环境配置和多版本共存
Python安装环境配置和多版本共存 1.环境变量配置: (1) 右键点击"计算机",然后点击"属性" (2) 然后点击"高级系统设置" ( ...
- vue 嵌入倒计时组件( 亲测可用 )
由于花费了我不少时间才找到的组件,所以记录一下,后面方便自己好找一些,也算是分享出来给各位前端一起用. npm 下载npm install vue2-flip-countdown --save tem ...
- Redis的配置文件
- 针对Autocad 2014 第二次安装不上的问题
针对Autocad 2014 第二次安装不上的问题 1. 以下为卸载过程,不用管. 2. 卸载完之后,右击"开始",点击"运行",得到下图: 并输入:&qu ...
- word域实现动态填充信息附件下载
1.问题描述:在页面上一些下载附件功能,点击触发执行下载操作时候,有些电脑的浏览器可以,有些电脑的浏览器下载不了,电脑打开弹出的下载框下载的不是一个文件,而是一个如jspx后缀名的页面,jspx后缀是 ...
- 解决vscode可以编译通过c++项目,但头文件有红色波浪线的问题
解决vscode可以编译通过c++项目,但头文件有红色波浪线的问题 一.问题描述 我是在Ubuntu 16.04的环境下,用vscode写代码的,一般不使用vscode自带的编译环境,而是用cmake ...
- TS基础笔记
TS优势 更好的错误的提示,开发中及时发现问题:编辑器语法提示更完善:类型声明可以看出数据结构的语义,可读性更好; TS环境搭建 1.安装node;2.npm install typescript@3 ...