周末重新学习了一下java,有了些新的体会

1、关于jdk, jre,and  JVM:

Jdk: java development kit,面向开发人员的java开发工具包

Jre:java runtime environment,面向java应用程序使用者,运行环境

JVM:java virtual machine,相当于是翻译,帮助实现跨平台,用java所写的文件先被eclipse 等编译成JVM所识别的 .class 文件,然后JVM再将该文件转换为适用于各种平台的机器码。其实java\jdk1.8.0_11\jre\bin中文件集合相当于是JVM

2、关于面向对象的三个重要属性

 Encapsulation(封装):无法直接访问类的成员变量,而是通过一些get set方法,间接访问数据域;

Polymorphism(多态):静态绑定,动态绑定,通常通过继承来实现多态,通常通过重定义(override)父类的方法来实现,从个人理解来说,是因为子类同时可以看做是‘父类’,或子类包含父类,因此父类的引用可以指向子类的实体,并且可调用子类中重定义的函数。

Inheritance(继承):java不允许多重继承,但可以通过定义接口(interface)来实现多重继承。

3、关于CLR:

CLR常用简写词语,CLR是公共语言运行库(Common Language Runtime)和JVM一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。

4、step into and step over:

step into就是单步执行,遇到子函数就进入并且继续单步执行;

step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。

5、关于此次课堂中,了解到的同java或c++,不太一样,或者是自己不太熟悉的总结:

1)bool类型:同java但与c++不同,c++中保存的是整形值,而c#与java中都只有true 与false;

2)Object类:为所有类的基类,可以被赋予任何值;

3)装箱拆箱转换:

example:

装箱:int i = 123;

Object obj = i; // 在堆中动态生成一个新的引用实例

拆箱:int j = (int)obj;

4)is 运算符

例:

int i = 2;

String s = “China”;

if(i is object){

......

}

if(s is string){

.......

}

5)dynamic 关键字 (var)

dynamic number = 10;

Console.Writeline(number);

6)控制台应用程序格式化输出

Console.WriteLine({N [,M][:格式化字符串]} { ... }  ....  ,var1,var2,  ...  );

N : >= 0 ,表示输出变量的序号

M:表示输出变量的变量所占宽度和对齐方向。正数右对齐,负数则是左对齐。

格式化字符串:

D 或 d       十进制格式

E 或 e       指数格式

F 或 f       Fixed point 固定精度格式

P 或 p       Percentage 百分号格式

7)跳转中的goto语句

for(int i 。。。)

{

for( int j 。。。)

{

if(j == 3)

goto stop;

}

}

stop Console.WriteLine(“Stop!”);

8)二维数组定义有区别

int [  ,  ] list;

int [  ,  ] list = new int [3][2]{ {2,3},{4,5},{6,7}};

练习的归并排序

Lesson 2的更多相关文章

  1. Lesson 18 He often does this!

    Text After I had had lunch at a village pub, I looked for my bag. I had left it on a chair beside th ...

  2. Lesson: The "Hello World!" Application

    Lesson: The "Hello World!" Application The sections listed below provide detailed instruct ...

  3. [小北De编程手记] : Lesson 06 玩转 xUnit.Net 之 定义自己的FactAttribute

    xUnit.Net本身提供了标记测试方法的标签Fact和Theory.在前面的文章<Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动>中,也对它 ...

  4. [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)

    上一篇文章<[小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)>向大家介绍了xUnit.Net 共享数据的方式.Test Case的构造函数 ...

  5. [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动

    关于<玩转 xUnit.Net>系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多).上一篇<Lesson 01 玩转 xUnit.Ne ...

  6. [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述

    谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...

  7. [小北De编程手记] : Lesson 08 - Selenium For C# 之 PageFactory & 团队构建

    本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建.<Selenium For C#>系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读 ...

  8. [小北De编程手记] : Lesson 07 - Selenium For C# 之 窗口处理

    在实际的自动化测试过程中,我们会遇见许多需要对窗口进行处理的情况.比如,点击删除某条信息的时候系统会显示一个Alert框.或者点击某个超链接时会在浏览器中打开一个新的页面.这一篇,来和大家分享一下Se ...

  9. [小北De编程手记] : Lesson 06 - Selenium For C# 之 流程控制

    无论你是用哪一种自动化测试的驱动框架,当我们构建一个复杂应用程序的自动化测试的时候.都希望构建一个测试流程稳定,维护成本较低的自动化测试.但是,现实往往没有理想丰满.而这一篇,我会为大家讲解我们在使用 ...

  10. [小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建

    在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识. ...

随机推荐

  1. MAVEN的项目升级

    今天我们来介绍一下版本依赖的问题 1.如果是admin的话,他要依赖于service的版本,则service的版本依赖于core的版本, 如果是本地编译,这我直接更新admin的就可以了,然后直接跑就 ...

  2. 关于springboot 打包问题 jar包和 war包

    起因:项目开发完成   需要打包部署了  发现自己不会打包 那么开始网上学习打包? 那么怎么来打包那? 我们以前没有采用springboot 时候我们都是直接将项目打成war包形式  然后放到tomc ...

  3. 海思NB-IOT的SDK添加AT指令方法

    1. 首先打开app_at_cmd_parse.c文件,在文件的末尾找到,可在中间添加需要的代码 /查询电信自注册结果 {AT_FLAG_VISIABLE | AT_FLAG_LOGABLE, &qu ...

  4. PowerPC为什么会没落,我自己的反思学习总结

    PowerPC为什么会没落? Intel通过酷睿,拉大优势,使得苹果抛弃PowerPC   PowerPC当年异常强大,曾经是Xbox的处理器,是Mac的处理器,占据了服务器的半壁江山:当时刚刚接触C ...

  5. qt 编译unresolved external symbol的错误解决

    题外问题:.rc文件报错,里面引用的.h文件打不开. 方法:rc文件移除,然后重新添加就可以: unresolved external symbol的原因: 1.没有添加编译生成的moc文件,添加对应 ...

  6. Qt QPainter::end: Painter ended whith 2 saced states

    在使用Qt  QPainter 的时候,有时会遇到“QPainter::end: Painter ended whith 2 saced states” 这时由于我们在使用的QPanter.trans ...

  7. KMP板子+Trie板子

    KMP算法是一个字符串匹配算法,最直白的用法就是在一个长度为n的字符串T中查找另一个长度为m字符串P的匹配(总之就是用于文本中进行单个字符串的匹配). 对于这个问题,暴力算法是很好做的,直接对于T的每 ...

  8. 第18讲——string类

    关键字:string类  字符串  C-风格字符串  C库字符串函数 字符串:存储在内存的连续字节中的一系列字符. C++处理字符串的方式有两种: 来自C语言,常被称为C-风格字符串: 基于strin ...

  9. 微信公众号开发java框架:wx4j(MaterialUtils篇)

    wx4j-MaterialUtils的使用 函数说明:上传永久视频素材 参数:文件路径.视频描述(通过setter填充内容即可) 返回值:微信服务器返回的json字符串 public static S ...

  10. Python-爬取"我去图书馆"座位编码

    原文地址:http://fanjiajia.cn/2018/11/22/Python-%E7%88%AC%E5%8F%96%E2%80%9D%E6%88%91%E5%8E%BB%E5%9B%BE%E4 ...