!非 !x 如果x不为true则返回true. 我们经常用!进行一些判断. 看实例,我们发现经过'非'处理之后,都转化成了bool值.用于if判断很有用. var_dump(!0); // bool(true) var_dump(!false); // bool(true) var_dump(!array()); // bool(true) var_dump(!null); // bool(true) var_dump(!''); // bool(true) var_dump(!'0'); //…
运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换.   //隐式转换:就是没有写parseInt().parseFloat()也能自动帮你转换类型 console.log(2 + "4"); //24 console.log(26 - "2"); //24 console.log(3 * "8"); //24…
运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换. //隐式转换:就是没有写parseInt().parseFloat()也能自动帮你转换类型 console.log(2 + "4"); console.log(26 - "2"); console.log(3 * "8"); console.log("…
javascript使用两个逻辑非运算符(!!)的原因: 在有些代码中可能大家可能会注意到有些地方使用了两个逻辑非运算符,第一感觉就是没有必要,比如操作数是true的话,使用两个逻辑非的返回值还是true,好像多此一举的行为,其实如果深究起来并非如此.先看一段代码实例: grep:function(elems,callback,inv ) { var ret=[],retVal; inv=!!inv; for(var i=0,length=elems.length;i<length;i++ ){…
socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket socket  原文: 将一个socket 设置成阻塞模式和非阻塞模式,使用fcntl方法,即: 设置成非阻塞模式: 先用fcntl的F_GETFL获取flags,用F_SETFL设置flags|O_NONBLOCK; 即: flags = fcntl(sockfd, F_GETFL, 0);    …
029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑"非"运算符 本文知识点:Java中的逻辑"非"运算符 逻辑"非"运算符表示方式 !:英文感叹号 逻辑"非"运算符表示意义 对原条件进行取反 (3<5)为true,对(3<5)取反,表达式为:!(3<5),结果为false 逻辑"非"运算符 实例 问题实例: 程序代码及其运行结果: 截止到目前…
类型的相关函数 函数的原型  :函数返回值类型 函数名(参数1类型 参数1,参数2类型 参数2--) 1, 任何一个函数,都要考虑它是否有返回值以及该返回值的类型,如果该函数没有返回值,就用void来表示! 2, 如果函数参数的类型或者函数返回值的类型有很多个,就用mixed来代替,意思就是混合类型,也叫作"伪类型" gettype   string gettype ( mixed $var ) 返回一个数据(变量或常量或表达式)的类型 var ,由于php的数据类型只有8种,一般它的…
值类型之间的相互转化 number | string | boolean 一.转换为boolean=>Boolean(a); var num = 10; var s = '123'; var b1 = Boolean(num); var b2 = Boolean(s); console.log(b1,b2); //true true var num1 = 0; var s1 = ""; var b3 = Boolean(num1); var b4 = Boolean(s1); c…
变量以及类型 变量:存储程序运行中的数据,变量有3个要素:变量名.变量类型.变量值.python属于弱类型语言,不需要声明变量类型. [root@localhost python]# ipython3 In []: a= //变量名=变量值:在堆内存中的一个区域存了一个值为1,内存分为堆内存和栈内存,栈内存的是引用.指向堆内存中的值. In []: b= In []: c=a+b In []: c Out[]: In []: a Out[]: In []: type(a) Out[]: int…
1. Python安装 在官网www.python.org下载安装程序,可以支持的操作系统linux,windows,mac. Python版本:2.x和3.x,分别有x86和x64. 在Windows系统下安装完成后,需要配置一下环境变量,方便使用Python交互式模式. https://www.python.org/ftp/python/3.7.0/python-3.7.0-amd64.exe 查看当前系统的python版本命令:python -V 2. Python特点 Python3.x…
一.运算符 (1)算术运算符  + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作) a = 10 + 5  计算 a = 'hello' + ' ' + 'world' 拼串  - 减法运算符 a = 10 - 5  计算 a = 5 - True  bool型也是int型,没有错误,输出4 a = a - 2  用变量a的值减去2,然后再赋值给a    a = 'hello' - 'h' TypeError,类型错误  * 乘法运算符(如果将字符串和数字相乘,则会对字符串进行…
JS的运算符 加 + 减 - 乘 * 除 / 取余 % 自增 ++ 自减 -- 赋值运算符 a=3 a+=3  a=a=3 a-=3   a=a-3 a*=3  a=a*2 a/=3   a=a/3 a%=3  a=a%3 a=1 连接符号+ (把多个变量拼接到一起) A=’我’:  B=‘是’: C=‘谁’ A+B+C 比较运算符 ==等于   x==8 ===恒等于 值大小和类型均一样,JS都属于弱类型语言 != 不等于 > < >= <= 逻辑运算符 &&  …
day05 1.常量 变量名全大写 2.基本运算符 ①算术运算 10/3除法 10//3取整 10*3乘法 10**3幂 ②赋值运算 增量赋值 age += 1#age = age + 1 age *= 2 age -= 1 ③交叉赋值 x = 10 y = 20 值互换的三种方法: 第一种 x,y = y,x 第二种 z =x x= y y =z 第三种 z = x+y x = z-x y = z-x ④链式赋值: z = y = x =10 ⑤解压赋值: l = [1.1,2.2,3.3,4…
0. 引言 0x1:载荷是什么?在整个入侵过程中起到什么作用? 载荷的作用在整个入侵链路的作用起到纽带的作用,它借助于目标系统提供的某些功能:组件:执行环境,将攻击者的传递的恶意payload包裹起来,并解析执行,使恶意payload发挥其作用,达到进一步入侵的目的. 在载荷之上,攻击者会利用各种方式去植入和启动载荷(例如创建服务或者创建计划任务).我们研究windows系统下各种载荷的编写方式及其原理对我们举一反三,深刻理解windows环境下渗透方式多种多样变化性的深层次原因会很有帮助. 0…
本节会介绍Python中运算符的用法,以及条件判断和循环语句的使用方法. 运算符 运算符包括算术运算符.赋值运算符.比较运算符.逻辑运算符等内容,大部分用法和C#基本一致,下面我们来看一下: 算数运算符 对Python而言,算数运算符中的加减乘和取余(+-*%)是和C#一致的,这里不再介绍,有差异的在于以下几个运算符: 单个/不是整除,//才是整除运算 指数运算使用** 2.赋值运算符 赋值运算符的用法和C#基本也一样 3.比较运算符 比较运算符和C#一模一样,如下: 4.逻辑运算符 前面的基本…
链判断运算符 ?.  业务场景: 1 // 假设data是个数组,如果data没有值,为undefinded,则直接复制会报错,因为没有length这个属性 2 3 const dateCount = data.length // 报错 4 5 // 正常的处理情况是,加个判断 6 if (data) { 7 const dateCount = data.length 8 } 9 10 11 // 使用链判断符,就可一步到位 12 const dataCount = data?.length /…
链判断运算符 如果我们要获取一个对象的深层嵌套属性,例如获取文章标题res.data.article.title,然后为了安全起见,我们肯定不能直接这样获取,万一res对象没有article属性了呢,直接原地爆炸 // 不安全 const { title} = res.data.article 绝大多数情况下我是这样获取 // 安全 const title = res&&res.data&&res.res.data.article&&res.data.art…
已知一个表 table 里面有两个字段  A1 和 A2 如何用动态语句 判断 A1 = A , A2=B 的数据是否存在,如果不存在,就添加一条数据, A1 = A , A2 = B INSERT table1 (A1,A2)SELECT 'A','B' WHERE NOT EXISTS (SELECT *                     FROM table1                    WHERE A1 = 'A'                      AND A2 …
参考<Linux/Unix系统编程手册>26.1.5,对于系统调用waitid() #include <sys/wait.h> int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); 若在option中设置WNOHANG位,与那么该系统调用就是非阻塞的,也就是说会立刻返回而不是等待子进程的状态发生变化. 如果子进程的状态(正在运行or正常退出or被信号终止or被信号停止)发生变化,则会把状态具体信息保…
1.注意 格式不能变 尤其是变量和变量表达式之间的空格:[ 空格] .[ $a == $b ] 中间的空格严格不能变:否则报错 关系运算符 关系运算符只支持数字,不支持字符串,除非字符串的值是数字. 下表列出了常用的关系运算符,假定变量 a 为 10,变量 b 为 20: #!/bin/bash #算术运算符的操作 a=100 b=200 echo "a+b=`expr $a + $b`"#注意必须$a 和 $b 中间的加号要有空格 echo "a*b=`expr $a \*…
运算步骤: 第一步:.转成二进制,即01表示的数字,如5的二进制为 0000  0101,我用八位表示. 第二步:比较二者位数上的数字 1.与运算符 与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段. 声明并初始化: int a = 10; int b = 6; 二进制: a = 0000 1010 b = 0000 0110 结算结果:  0000 0010 转化为十进制: 2 2.或运算符或运算符用符号“|”表示,其运算规律如下: 两…
题目:设计风景线 题意:给定一个无向图,图可能是非连通的,如果图中存在环,就输出YES,否则就输出图中最长链的长度. 分析:首先我们得考虑这是一个无向图,而且有可能是非连通的,那么就不能直接像求树那样来求最长链.对于本题,首先得 判断环,在这里我们就用并查集判环,因为并查集本身就是树型结构,如果要连接的两点的祖先都相同,那么就已经有环了, 这样直接输出YES,如果没有环,就应该输出最长链长度,那么我们每次可以对每一个没有访问过的节点进行两次bfs,就可以 求出,然后每次更新最大值即可. #inc…
#include <stdio.h> int main(void) { , j = , k = ; printf("%d\n", ++i || ++j && ++k); printf("%d %d %d\n", i, j, k); } 运行结果为: 左边算子优先计算 ++i = 2 被下一个 printf 读取,|| 符号只会储存左边的运算值,右边新计算的值被遗弃. 如果程序变为: #include <stdio.h> int…
程序1 #include <stdio.h> int main(void) { , j = , k = ; printf("%d\n", --j > i && ++j); printf("%d %d %d\n", i, j, k); } 结果为 程序2 #include <stdio.h> int main(void) { , j = , k = ; printf("%d\n", ++j > i…
let lunar = { tg: '甲乙丙丁戊己庚辛壬癸', dz: '子丑寅卯辰巳午未申酉戌亥', number: '一二三四五六七八九十', year: '鼠牛虎兔龙蛇马羊猴鸡狗猪', month: '正二三四五六七八九十冬腊', monthadd: [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], calendar: [0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957,…
典型的运用场景就是indexOf…
创建类 LoginDemo3 这里取反 !(n%3==0) package com.imooc.operator; import java.util.Scanner; public class LoginDemo3 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入一个整数"); Scanner sc=new Scanner(Syste…
湫湫系列故事——设计风景线 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好.  现在已经勘探确定了n个位置可以用来建设,在它们之间也勘探确定了m条可以设计的路线以及他们的长度.请问是否能够建成环形的风景线?如果不能,风景线最长能够达到多少?  其中,可以兴建的路线均是双向的,他们之间的长度均大于0.  Input 测试数据有多组,每组测试数据的第一行有两个数字n, m,其含义…
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static void main(String[] args){int a=129;int b=128…
写JS时不可避免要用到 if 与 逻辑运算符( ||, &&). 如果你经常阅读Js的第三方组件源码, 会发现有一种写法作为初始化变量的方法经常出现. var variable = variable || {}; 我第一次看到这样的代码时觉得很不可思议,在多数主流语言下(如Java,C#,C/C++)上面得到的结果值毫无疑问会是一个布尔值,且始终为true. 在看看另一句我们自己写时也常使用的 if( variable ){ somethingToDo(); } 虽然用得顺手,可是你真的知…