Coursera Java课程三 -- Arrays, Lists, and Structured Data Week 1–Part 1

Week 1–Part 1笔记总结


实现解码

本周是通过了解加密破解Caesar算法来学习StringBuilder, counting loop,character class,array。这个算法的基本原理是 假设源文本是英文,那加密的时候每个字母都是有固定规律的,如果设置加密的密码为字母表中第17个,通过重组成一个新的字母表,我们可以找到源文本中对应的每个新的字母。(如下图)

在这里插入图片描述

算法思路

在这里插入图片描述

知识点

  • StringBuilder
    • String 创建了之后就是不可变的。
      如图,x在s变了之后,它还是hello;而新的s已经是Hello World了,并且这个时候s已经是一个新的地址了。

    • StringBuilder的功能:
      • 类似专门给string格式的一个容器(Python中的list),把每个字母都放在一个小格子里,所以用append。
      • 输出最后的string的时候,要用 sb.toString(), 才能得到string格式的输出。否则 会得到这个object的地址信息。
        在这里插入图片描述

  • for循环 如何循序渐进(counting loop)在这里插入图片描述
    • 以分号为分界线。第一部分initialization,第二部分 guard, 第三部分increment
    • 可以在循环外面创建这个 数字i?(再去查查中文应该怎么翻译)
      • int i; for(i = 0;i<s.length();i++){...}
      • 这样的话,这个i在loop结束之后还可以继续使用!

  • character class在这里插入图片描述
    • 特别注意在创建的时候 char s= 'a'; 要用单引号,如果用了双引号那就是string了。
    • String和char一个很像但是又不一样的函数是toLowerCase(预知后事如何)
      • Str.toLowerCase()
      • Character.toLowerCase(ch)

  • Array
    • 结构是不可变的immutable。创建的时候要定义包含内容的类型和长度,内容可以之后再添加
    • 建立空array:String[] str = new String[];
    • 建立含有值的array在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值