(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每日总结,第六周周一的更多相关文章

  1. Java初步学习——2021.10.12每日总结,第六周周二

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了菜鸟教程Java实例,数组 1.数组的排序和元素的查找--sort和binarySearch方法 import j ...

  2. Java初步学习——2021.10.09每日总结,第五周周六

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了菜鸟教程实例部分 一.字符串 1.字符串比较--compareTo方法 public class Main { p ...

  3. Java初步学习——2021.10.05每日总结,第五周周二

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了二维数组,包括二维数组的声明,和二维数组的创建.以及获取二维数组的长度,其中要注意的是二维数组是每个元素都是一维数 ...

  4. Java初步学习——2021.10.05每日总结,第五周周三

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了对象与类,如何定义类和创建对象,以及构建方法的用法. 明天课比较多,把今天未学的例子敲一遍好了. 没有遇到什么问题.

  5. Java初步学习——2021.10.10每日总结,第五周周日

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天继续学习菜鸟教程java字符串实例 5.字符串反转--reverse方法 public class Main { pub ...

  6. Java初步学习——2021.09.23每日报告,第三周周四

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 学习数组,编写了一个随机选牌的代码.自己最开始一直想只设置一个字符串数组,利用随机数来输出,但那样对字符串赋值会比较麻烦.可 ...

  7. Java初步学习——2021.09.24每日总结,第三周周五

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学了将数组传递给方法和方法返回数组,其中传递的是数组的引用. 明天把例子做了,尽量把查找也学习了. 遇到了两个问题: 1 ...

  8. MySQL初步学习——2021.09.27每日总结,第四周周一

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 今天学习了SQL语句的分类: SQL语句很多,分为 1.DQL:数据查询语言(凡是带有select关键字的都是查询语句) 2 ...

  9. Java基础学习总结(11)——重载与重写

    首先我们来讲讲:重载(Overloading) 一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样 ...

随机推荐

  1. Go: LeetCode简单题,简单做(sort.Search)

    前言 正值端午佳节,LeetCode也很懂.这两天都是简单题,早点做完去包粽子. 故事从一道简单题说起 第一个错误的版本 简单题 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最 ...

  2. Linkerd 2.10(Step by Step)—配置代理并发

    Linkerd 2.10 系列 快速上手 Linkerd v2 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 ...

  3. go实现堆排序

    package main import "fmt" func main(){ arr:=[]int{4,8,2,1,6,9,3,5,7,8,1,4} dui(arr) fmt.Pr ...

  4. VPS系统后台性能优化实战

    作者: 刘用, 现任新东方APP团队高级软件工程师 2019年开始,新东方APP团队启动了长达半年以上的稳定性建设工作,为什么稳定性如此重要?因为随着每年30%以上的高速增长,现有的后端服务完全扛不住 ...

  5. Learning ROS: Ubuntu16.04下kinetic开发环境安装和初体验 Install + Configure + Navigating(look around) + Creating a Package(catkin_create_pkg) + Building a Package(catkin_make) + Understanding Nodes

    本文主要部分来源于ROS官网的Tutorials. Ubuntu install of ROS Kinetic # Setup your sources.list sudo sh -c 'echo & ...

  6. a、b、n为正整数且a>b,证明:若n|(a^n-b^n),则n|(a^n-b^n)/(a-b).

  7. MySQL 源码安装规范

    一 .目录规划 MySQL 的目录包括 base 目录和 data 目录,base 目录存放软件文件,每个版本的软件单 独一个目录,例如/usr/local/mysql/mysql5.6.19.dat ...

  8. 整型:int

    整型:int 整型变量的定义和输出 注意://short<=int<=long<=longlong   代码示例一:   #include<stdio.h> int ma ...

  9. Mac 安装 Android commandlinetools 各种报错的问题

    https://developer.android.com/studio/releases/platform-tools commandlinetools-mac 下载地址 解压后直接运行 sdkma ...

  10. Final Cut Pro X 10.4.7 修改长宽比, 截取某一段视频导出

    新建项目时设置过长宽比例,现在要修改 窗口 - 项目属性 - 修改 - 自定义 要注意的是,导出时也要选择一下比例 截取某一段视频导出 将鼠标移到你要截取的片段的开始处,点击快捷键 i(标记-设定范围 ...