一.为什么需要迭代器 设计模式迭代器 迭代器作用于集合,是用来遍历集合元素的对象.迭代器迭代器不是Java独有的,大部分高级语言都提供了迭代器来遍历集合.实际上,迭代器是一种设计模式: 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 迭代器封装了对集合的遍历,使得不用了解集合的内部细节,就可以使用同样的方式遍历不同的集合. 暴露细节的遍历 要理解封装遍历的好处,必须理解暴露细节的遍历带来的坏处. 以下是两个不同的集合接口,第一个是自定义集合,第二个是JDK的ja…
今天没事,就下了个vs2015 preview,前段时间园子里面也在热炒这些新的语法糖,这里我们就来看看到底都会生成些什么样的IL? 一:自动初始化属性 确实这个比之前的版本简化了一下,不过你肯定很好奇,到底编译器给我们做了哪些东西呢? 1 class Student 2 { 3 public string Name { get; set; } = "ctrip"; 4 } 从这张图中可以看到,在ctor中<Name>k__backingfield=“ctrip“的赋值在b…
前言 在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,在某个代码块使用很多if else时,代码会显得较为冗余,阅读起来不够清晰. 除了if else,在开发过程中,还经常使用 逻辑运算符 && || 以及三木运算符? : 等. if else 基本使用 let name = "zhangsan"; if (name === "zhangsan") { console.log(&quo…
语法糖 接下来几篇文章要开启一个Java语法糖系列,所以首先讲讲什么是语法糖.语法糖是一种几乎每种语言或多或少都提供过的一些方便程序员开发代码的语法,它只是编译器实现的一些小把戏罢了,编译期间以特定的字节码或者特定的方式对这些语法做一些处理,开发者就可以直接方便地使用了.这些语法糖虽然不会提供实质性的功能改进,但是它们或能提高性能.或能提升语法的严谨性.或能减少编码出错的机会.Java提供给了用户大量的语法糖,比如泛型.自动装箱.自动拆箱.foreach循环.变长参数.内部类.枚举类.断言(as…
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制语句分类: 顺序结构 选择结构:if语句.switch语句 循环结构:while语句.for语句 一.顺序结构: 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的. 总的来说:写在前…
javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 三个常用对话框 alert("")警告对话框,弹出一个警告对话框 <script> alert("你好") </script> confirm("")确定对话框,弹出一个可供选择的确定对话框,点击确定返回true,点击取消返回false,可用变量接受. <script> confirm("你好") </sc…
Laravel5.6 视图用Blade语法传递变量和流程控制if 语句和循环语句 Laravel 的 View 部分是内置了两套输出系统:直接输出和使用 Blade 引擎“编译”后输出,默认情况下它们通过文件名后缀来选择:.blade.php 后缀的认为是模板视图文件,其他的 .php 文件按照 PHP 本身的方式执行.虽然 Blade 模板文件中也可以随意嵌入 PHP 代码,但如果并没有使用,系统还去进行语法解析和替换也是没有必要的,这样可以提高效率. Laravel使用的是Blade视图引擎…
原文:C#:foreach语句,yield语句 1. foreach语句 C#编译器会把foreach语句转换为IEnumerable接口的方法和属性. foreach (Person p in persons) { Console.WriteLine(p); } foreach语句会解析为下面的代码段. 调用GetEnumerator()方法,获得数组的一个枚举 在while循环中,只要MoveNext()返回true,就一直循环下去 用Current属性访问数组中的元素 IEnumerato…
顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一行在大括号内,但是从规范来讲,一般都要加大括号   3,语法: if(条件1){ // if有且只能有1次 分支1: }else if(条件2){ // else if 可以有0-n次 分支2: }else if(条件3){ 分支3: } ...... else{ // else 可以0-1次 分支…
循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循环语句可能包含如下4个部分: 1.初始化语句:一个或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行. 2.循环条件:这是一个boolean表达式,这个表达式能决定是否执行循环体. 3.循环体:这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行.如果这个代码块只有一…