(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测试--main测试

    目录 简介 示例 简介 子测试的一个方便之处在于可以让多个测试共享Setup和Tear-down.但这种程度的共享有时并不满足需求,有时希望在整个测试程序做一些全局的setup和Tear-down,这 ...

  2. Learning ROS: Recording and playing back data

    本文主要部分来源于ROS官网的Tutorials. Description: This tutorial will teach you how to record data from a runnin ...

  3. 24点游戏(24 game)的C++编程求解实现

    什么是24点游戏 24点游戏,英文叫做24 game,是对给定的4个非负整数进行加减乘除运算,要求每个数都要被用到且仅用到一次,并得到最终的运算结果为24.比如3.8.3.8这四个数,可以找出唯一的一 ...

  4. MySQL alter table时执行innobackupex全备再看Seconds_Behind_Master

    1.场景描述 早上7:25 接到Report中心同学告警,昨天业务报表数据没有完整跑出来,缺少500位业务员的数据,并且很快定位到,缺少的是huabei_order库上的数据.Report中心的数据是 ...

  5. Vue 组件通信方案

    父组件--> 子组件 1. 属性设置 父组件关键代码如下: <template> <Child :child-msg="msg"></Child ...

  6. 提交Spark作业遇到的NoSuchMethodError问题总结

    测试应用说明 测试的Spark应用实现了同步hive表到kafka的功能.具体处理流程: 从 ETCD 获取 SQL 语句和 Kafka 配置信息 使用 SparkSQL 读取 Hive 数据表 把 ...

  7. Servlet生命周期和方法

    一.五个生命周期方法,有三个很重要,初始化方法.提供服务方法和销毁方法 1.三个主要方法 2.另外两个重写的成员方法只做了解 二.生命周期详解 其中,每次刷新页面都是一次对servlet访问: 页面访 ...

  8. input 只可以输入时分秒

    在html5的time中,只有时.分,没有秒. 例如<input type="time" name="user_date" /> 属性加上 step ...

  9. Redis核心原理与实践--列表实现原理之ziplist

    列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入.弹出数据,可以充当栈和队列的角色. > LPUSH fruit apple (integer) 1 > RPUSH ...

  10. C# 获取应用程序内存

    double usedMemory = 0;             Process p = Process.GetProcesses().Where(x => x.ProcessName.Co ...