Lesson 2
周末重新学习了一下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的更多相关文章
- 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 ...
- Lesson: The "Hello World!" Application
Lesson: The "Hello World!" Application The sections listed below provide detailed instruct ...
- [小北De编程手记] : Lesson 06 玩转 xUnit.Net 之 定义自己的FactAttribute
xUnit.Net本身提供了标记测试方法的标签Fact和Theory.在前面的文章<Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动>中,也对它 ...
- [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)
上一篇文章<[小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)>向大家介绍了xUnit.Net 共享数据的方式.Test Case的构造函数 ...
- [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动
关于<玩转 xUnit.Net>系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多).上一篇<Lesson 01 玩转 xUnit.Ne ...
- [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述
谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...
- [小北De编程手记] : Lesson 08 - Selenium For C# 之 PageFactory & 团队构建
本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建.<Selenium For C#>系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读 ...
- [小北De编程手记] : Lesson 07 - Selenium For C# 之 窗口处理
在实际的自动化测试过程中,我们会遇见许多需要对窗口进行处理的情况.比如,点击删除某条信息的时候系统会显示一个Alert框.或者点击某个超链接时会在浏览器中打开一个新的页面.这一篇,来和大家分享一下Se ...
- [小北De编程手记] : Lesson 06 - Selenium For C# 之 流程控制
无论你是用哪一种自动化测试的驱动框架,当我们构建一个复杂应用程序的自动化测试的时候.都希望构建一个测试流程稳定,维护成本较低的自动化测试.但是,现实往往没有理想丰满.而这一篇,我会为大家讲解我们在使用 ...
- [小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建
在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识. ...
随机推荐
- java.lang.NoClassDefFoundError 错误解决思路
Process: com.oppo.reader, PID: 20472 java.lang.NoClassDefFoundError: com.zhangyue.iReader.PDF2.ui.PD ...
- SSM框架学习思维导图
SSM框架学习思维导图 2017年08月11日 20:17:28 阅读数:1141 放上前段时间学习SSM框架以及Spring.SpringMVC.MyBatis的学习结果,输出思维导图一共四幅图.这 ...
- 分分钟搞定redis
随着科技不断的发展,使用到的技术也是更新换代,大家都知道当一个程序用户量上来之后,必然是要做数据缓存的,那么如何去实现的呢,在之前我们一直使用memcache去做数据缓存,现在众所周知主流的缓存技术已 ...
- 容器基础(七): 使用docker compose部署程序
配置 在上一节的基础上, 增加如下的docker-compose.yml文件, 然后用docker-compose up命令启动容器进行部署: version: " services: s ...
- 官方文档 恢复备份指南八 RMAN Backup Concepts
本章内容 Consistent and Inconsistent RMAN Backups Online Backups and Backup Mode Backup Sets Image Copie ...
- 给曾经是phper的程序员推荐个学习网站
如果你原来是一个php程序员,你对于php函数非常了解(PS:站长原来就是一个php程序员),但是现在由于工作或者其他原因要学习python,但是python很多函数我们并不清楚,在这里我给大家推荐一 ...
- 【转】cocos2dx 3.x 集成protobuf
http://www.cnblogs.com/chevin/p/6001872.html vs2013+cocos2dx 3.13.1 这篇博文是集成Lua版本的protobuf,集成C++版本的过程 ...
- To Chromium之浏览器外框UI(2)
之前一些文章本来是草稿状态,一次性全release出来了,排版上可能看上去不太舒服,等哪一天研究下改改排版. Here继续chromium的UI,看看,浏览器的外壳是怎么被画出来的:) 可以先关注下几 ...
- thinkphp include处理加载重复出现的html页面
在网站设计经常用大量使用的html模板,例如header(一般是menu层甚至还带有图片轮播).left(后台管理页面比较常见的导航).footer(结尾层,一般也是小型的menu),使用includ ...
- ActiveMQ使用详解---相关概念
一.前言 公司之前使用activeMQ做过一款用于系统之间传递信息的工具,最近才正式投入生产使用,这期间出现了一些比较奇怪的问题,最终发现是没有清晰的了解activeMQ的相关配置以及一些相关概念,借 ...