1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也可为空,就可以使用可空类型,即用可空类型修饰符"?"来表示,表现形式为"T?"例如:int? 表示可空的整形,DateTime? 表示可为空的时间.T? 其实是System.Nullable(泛型结构)的缩写形式,也就意味着当你用到T?时编译器编译 时会把T?编译成Sy…
之前更新了一段时间有关Swift语言的博客,连续更新了有6.7篇的样子.期间间更新了一些iOS开发中SQLite.CollectionViewController以及ReactiveCocoa的一些东西.时隔两月,还得继续更新Swift语言的东西不是.在去年翻译<Swift编程入门经典>(Swift1.0版本,基于Xcode6)这本书时,系统的搞了搞Swift语言,接下来的一段时间内打算持续更新一下相关Swift语言的一些东西, 不过现在已经是Swift2.0版本了,区别还是不小的.并且目前在…
JavaScript也是一种编程语言.并不是Java的分支哦. 可以直接在浏览器中运行的编程语言. JavaScript 的历史故事: 1.JavaScript语言与名称的由来(Netscape,Sun Java) 最开始是叫LiveScript的~有一个小故事,有兴趣的朋友可以去百度一下. 2.微软的Explorer和JScript JavaScript 概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端. 特点: 1.交互性(它可以做的就是信息的动态交互) 2.安全性…
这两天有同事说我挺久没更新文章了,不过最近一段时间确实有点忙,一直在忙着两个活动中心的改版,没什么时间来更新文章.今天终于抽空可以写一写. JavaScript 现在每年都会发一个新版本,里面也会新增一些操作更加便利.高效的运算符.今天我们就来盘点下几个高效的魔法运算符. 1. 可选链运算符 之前当我们想要使用某个结构比较深的属性,同时又无法确定所有的父级一定存在时,我们需要进行一连串的判断,例如一个数据结构: const student = { score: { math: 98, }, };…
[数据结构-线性表1.2] 链表与 LinkedList<T> [注:本篇文章源码内容较少,分析度较浅,请酌情选择阅读] 关键词:链表(数据结构)    C#中的链表(源码)    可空类型与特性(底层原理 源码)    迭代器的实现(底层原理)    接口IEqualityCompare<T>(源码)    相等判断(底层原理) 链表,一种元素彼此之间具有相关性的数据结构,主要可分为三大类:单向链表.双向链表.循环链表.其由"链"和"表"组…
一.C++输入和输出概述 1.1.流和缓冲区 C++程序把输入和输出看作字节流.输入时,程序从输入流中抽取字节:输出时,程序将字节插入到输出流中.对于面相文本的程序,每个字节代表一个字符,更通俗地说,字节可以构成字符或数值数据的二进制表示.输入流中的字节可能来自键盘,也可能来自存储设备(如硬盘)或其他程序.输出流中的字节可以流向屏幕.打印机.存储设备或其他程序.流充当了程序和流源或流目标之间的桥梁.这使得C++程序可以以相同的方式对待来自键盘的输入和来自文件的输入.C++程序只检查字节流,而不需…
通过学习<C语言基础视频教程>,可以让你对C语言有一个基础的了解,并且会编写一些基础的程序,本次视频主要讲解的内容有: 1. 数字的进制转换 2. 变量.运算符和表达式 3. 流程控制语句 4. 数组 5. 指针 6. 函数 7. 复杂类的确认 8. 字符串 9. 位运算 10. 结构体和枚举 11. 动态内存分配 12. 预处理 13. 文件操作 希望观看此视频能让你的C语言水平得到提升,谢谢您对千锋互联的支持. 第01讲-数字的进制转换(1) 本视频主要讲解进制的概念和含义,比较常用的一些…
关键字 包:package(包).import(导入) 类:class(类).enum(枚举).interface(接口).extends(继承).implements(实现) 方法:void(空).return(返回) 对象:new(实例化).this(引用本类).super(调用父类).instanceof(运算符:用来判断对象类型) 循环:do(做).while(循环).for(循环) 分支:if(如果).else(否则).switch(开关).case(情况下).break(跳出).co…
Atitit避免出现空指针异常解决方案 1. Null的问题1 2. 强制区分一般引用vs 可空引用 vs 强制引用,或者说非空引用2 3. ?运算符(问号运算符) !感叹号运算符避免出现空指针异常,2 4. Java 8中的Optional类2 4.1.1. 为什么使用Optional要比常见的null检查强?3 5. 另一个救星! Objects.requireNonNull3 5.1.1. 为什么比if(myObj!=null)要好?3 6. 参考4 1. Null的问题 含空引用的编程语…
注释 单行注释: // 单行注释 多行注释: /* 多行 注释 */ 历史上 JavaScript 可以兼容 HTML 注释,因此 <!-- 和 --> 也可以是单行注释. x = 1; <!-- x = 2; --> x = 3; 只有 x = 1 会执行,其它部分都被注释掉了. 但是 --> 只有在行首才会被当成注释,否则会当作正常的运算. function countdown(n) { while (n --> 0) console.log(n); } count…
el-checkbox-group这个组件与其他复选框不一样,我当初也是半天不知道怎么操作 页面使用v-model绑定 size就是等比例缩小放大,v-ror循环应该看的懂.重要的是@chage到我们写的类 <el-checkbox-group v-model="checked" size="medium"> <el-checkbox-button v-for="city in cities" :label="city…
equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { return (this == obj); } 我们知道所有的对象都拥有标识(内存地址)和状态(数据),同时“==”比较两个对象的的内存地址,所以说使用Object的equals()方法是比较两个对象的内存地址是否相等,即若object1.equals(object2)为true,则表示equals1和eq…
(1).C#语法中一个个问号(?)的运算符是指:可以为 null 的类型. MSDN上面的解释: 在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型以及日期类型的功能特别有用.例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义. (2).C#语法中两个问号(??)的运算符是指null 合并运算符,合并运算符为类型转换定义了一个预设值,以防可空类型的值为Null. MSDN上面的解释: ?? 运算符称为 null 合并运算符…
(1).C#语法中一个个问号(?)的运算符是指:可以为 null 的类型. MSDN上面的解释: 在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型以及日期类型的功能特别有用.例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义. (2).C#语法中两个问号(??)的运算符是指null 合并运算符,合并运算符为类型转换定义了一个预设值,以防可空类型的值为Null. MSDN上面的解释: ?? 运算符称为 null 合并运算符…
public class Demo1 { public static void main(String[] args) { boolean t = false | true; System.out.println(t); t |= false; System.out.println(t); t = t&false; System.out.println(t); t &= false; System.out.println(t); t = t^true; System.out.println…
有同学给子恒老师留言, 说在php源代码中看到有两个问号?? 不知道是什么意思. 其实两个问题??是php7新推出的表达式, c = a ?? b; 表示如果a非空,则c = a, 如果a为空,则 c = b: 两个问号表达式 php7以前经常使用到三元运算表达式, $name = issset($_POST['name']) ? $_POST['name'] : 'qinziheng'; 现在使用双问号表达式就行了 $name = $_POST['name'] ?? 'qinziheng';…
js运算符单竖杠“|”的作用 很多朋友都对双竖杠“||”,了如指掌,因为这个经常用到.但是大家知道单竖杠吗?今天有个网友QQ问我,我的 javascript实用技巧,js小知识 , 这篇文章里面,js整数的操作运用了单竖杠,问我单竖杠是啥意思? 我看了一下之前的那篇文章,只写了用法,但是并没有解释.好吧,我现在就给大家简单的介绍一下: 之前文章,在js整数操作的时候,相当于去除小数点,parseInt.在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil() 注: 1.…
1.pyc简介 python程序在运行时也有编译过程,编译后会产生.pyc文件.这是一种由python虚拟机执行的二进制文件(字节码),用于保存内存中PyCodeObject,以便加快程序的加载运行.这个文件可以跨平台,但与python版本高度相关(文件名中带有版本信息),不同版本的.pyc内容不同. 怎么见证.pyc文件的存在呢? 方法1: 在python程序中通过import调用其他程序运行时,python会自动生成一个与被调用的python程序文件相关的.pyc文件出来.linux平台和w…
在js开发应用中我们通常会碰到“|”与“||”了,那么在运算中“|”与“||”是什么意思呢?   在js整数操作的时候,相当于去除小数点,parseInt.在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil() 注: 1. Math.ceil()用作向上取整.2. Math.floor()用作向下取整.3. Math.round() 我们数学中常用到的四舍五入取整. console.log(0.6|0)//0console.log(1.1|0)//1console.l…
在 2020 年的最后一天,博客园发起了一个开源项目:基于 .NET 的博客引擎 fluss,我抽空把源码下载下来看了下,发现在属性的定义中,有很多地方都用到了 null!,如下图所示: 这是什么用法呢?之前没有在项目中用过,所以得空就研究了一下. 以前,! 运算符用来表示 "否",比如不等于 !=.在 C# 8.0 以后,! 运算符有了一个新意义-- null 包容运算符,用来控制类型的可空性.要了解 null 包容运算符,首先就要了解可为 null 的引用类型. 可为 null 的…
RSEG是段选择指令,要想明白它的意思就要了解段的意思.段是程序代码或数据对象的存储单位.程序代码放到代码段,数据对象放到数据段.段分两种,一是绝对段,一是再定位段.绝对段在汇编语言中指定,在用L51联接的时候,地址不会改变.用于如访问一个固定存储器的i/o,或提供中断向量的入口地址.而再定位段的地址是浮动的.它的地址有L51对程序模块连接时决定,C51对源程序编译所产生的段都是再定位段,它都有段名和存储类型.绝对段没有段名.说了这么多,大家可能还是不明白段是什么意思.别急,接着往下看.例如,你…
var num = 1;   var str = '1';   var test = 1;   test == num   //true 相同类型 相同值   test === num  //true 相同类型 相同值   test !== num  //false test与num类型相同,其值也相同, 非运算肯定是false     num == str   //true 把str转换为数字,检查其是否相等.   num != str   //false  == 的 非运算   num ==…
$id = isset($_GET['id']) ? $_GET['id'] : ''; ?> 这是一个php的三元运算符 (条件) ? (值1):(值2); 解释:如果条件成立(为真),则执行冒号前边的"值1",否则执行冒号后面的"值2". isset()函数是检测变量是否设置,$_GET['id']是通过get方法传过来的值.这句话的意思就是:如果$_GET['id']已经被设置,即已经有值了,则$id=$_GET['id'];如果$_GET['id']没…
1.字符函数 CONCAT('a','-','b','-','c')效果等同于CONCAT_WS('-','a','b','c') FORMAT()的返回结果是字符型,会对操作数四舍五入,如:SELECT FORMAT(723.216,2)的结果是保留小数后两位,723.22 LEFT('MySQL',2)意思是取MySQL的前两个字符,即'My' LENGTH()会将空格的长度也计算在内 TRIM()除了可以删除空格,还可以删除指定字符: TRIM(LEADING '?'  FROM '??M…
1.@ 这个东东看似和邮件有关啊,但是在C#的世界里,可跟邮件没有一毛钱关系,它是string的女朋友(当然了string有N多女友),二者结合就可以发挥作用了.你可以给它起个名字,叫做“逐字字符串”,或者别的什么东东都行,这都不重要,关键你要会泡它~ 在处理字符串时,那些个字符串转义字符我们可伤不起,一个个的记又记不住,用了还要查,麻烦的不行,那@就是为解决这个而诞生的,直接让字符串原样输出有木有?什么sql字符串了,还有路径啥了的,统统搞定 string sql = @"select * f…
本人转载自: ①http://msdn.microsoft.com/zh-cn/practices/dd391752.aspx ②http://jhxk.iteye.com/blog/439888 在C# 中有个较为重要,而常被一些人忽视的符号—— 问号(? ).在这里整理一下它在C# 的几种情况: 1.     可空类型修饰符“T?” : 可空类型的基础类型可以是任何非可空值类型或任何具有struct 约束的类型参数(Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为…
算术运算符 加减乘除(+.-.*./)就不说了. 求余运算符% 描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数 注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可能是小数. double a = 5.2; double b = 3.1; double mod = a%b; System.out.println(mod);//值为2.1 自增运算符++ 自增运算符++有两个要点: ++是单目运算符只能操作一个操作数 ++只能操作在数值型(整数.浮点型)的变量上…
(搞自:Java经典入门教程) http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyLwuWChpWiYC3hQhzpws5fV2fuH-k1zp4iXh6AFVkpibvtDfLpBvwp1tC 六:运算符 1:算术运算算术运算是指:+.-.*./ 等基本运算需要注意的是:%是求mod运算:整数的除法要小心:5/2 = 2 // 不是 2.5 2:比较运算比较运算是指:>.<.&…
运算符是程序中用于数值运算的操作符,C 语言的运算符可分为 算术运算符.关系与逻辑运算符 和 位操作运算符 这 3 类. 2.6.1 算术运算符 算术运算符用来完成基本的数值运算,如 加.减.乘.除,它们可用于所有的数据类型.如下表所示,列出了C语言所有的算术运算符.其中,“-”运算符即能表示两个操作数的减法运算,又能对一个操作数进行取反运算,将正数变为负数,或将负数变为正数.取模运算是取得两数相除的余数. 2.6.2 自增 和 自减 自增和自减体现了 C 语言语法的简洁,自增就是在原值的基础上…
1.问号?表示该变量可以为空 int? a=new int?(); Console.Writeline(a);//a是null 等价于: int? a=null; 也等价于下面这行,表示该变量默认为null. int? a; 2. 双问号表示如果为双问号左边的变量为null,则取右边的值,否则取左边变量的值. c=a??b; 等价于: c=(a==null)?b:a; 但有几点需要注意1) a,b必须是相同类型,且a可以为空(a要么是object,string等引用类型,要么是int?或floa…