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

Week 1–Part 2&3

解密 Caesar cipher

解密原理:
1) 【已知key】可以解密即使一行字,就用encrypt by 26-key
2) 【未知key】在文本有大量单词的情况下,根据该语言出现频率最高的字母和该文本出现频率最高的字母匹配,列出原始字母表和加密的字母表,就可以找到加密的key是什么。
- frequency analysis 字母频率分析
- 已知的 在英语中,字母e出现的频率最高。列出之后就会发现 encryt key = max Index - 4(这个是e的位置)。 如果max index 小于4的话 , encryt key = 26- (4-max index)
在这里插入图片描述

知识点
  • 主函数main()【再看一下和test的区别!】

    • 任何应用程序的主要入口点,class中第一个被读取的方法。
    • 写法:public static void main(String[] args){…}
      • static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
      • 参数String[] args目前还没用到
  • 如何读取输入的内容

    • 1) 互动环境中用Scanner class:可以按行,按整数,按小数依次读取下一个在这里插入图片描述
      2) 其他办法: https://www.geeksforgeeks.org/ways-to-read-input-from-console-in-java/
      —如果不是在互动环境中,读取密码用console class比较好

Part 3 Object Oriented Programming面向对象编程设计

三大特征:
封装: 我写了一个求绝对值的函数,现在要给别人用,但是别人不需要知道我到底是用什么方法求的,直接用就可以。
继承:增加代码的可重用性,拓展,修改。在想要拓展功能的时候不必重写整个对象,只需继承了然后在写新的属性,方法就好了
多态:能够去重写继承对象的方法,被利用的最多的例子莫过于ToString()方法
常见语言:C#,java,C++,Python

知识点:
  1. instant variables/fields在这里插入图片描述
    以前是在encrypt的时候,再传加密的密码。但是按道理来说,每一个对象都应该是有自己的密码。所以在创建的时候就把密码传入这个对象。
  2. public vs private
    public:any code can access public fields or methods.
    private: only code inside this class can access private fields or methods.
    有一些方法是另一个方法过程中的一步,这些方法就可以设置为private
  3. constructor
    三个特征:和class同名,没有return type,可以没有参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值