1.计算机码:原码、反码和补码
计算机在实际存储数据时采用的编码规则(二进制)
a.原码:数据本身从十进制转换到二进制得到的结果
( 数值本身最左边一位是用来充当符号位:正数为0,负数为1)
b.反码:针对负数,整数不存在。符号位不变,其他位取反
c.补码:针对负数,反码+1
例如: 5的原码:00000101 -5的原码是:10000101 取反:11111010 补码:11111011
2.位运算符
位运算:取出计算机中最小的单位(位bit)进行运算
&:按位与,两个位都为1,结果为1,否则为0 var_dump($a & $b)
|:按位或:两个有一个为1,结果为1
~:按位非:一个位如果为1,则变成0,否则反之。var_dump(~$b)
^:按位异或:两个相同则为0,不同则为1
<<:按位左移:整个位32位,向左移动一位,右边补0
>>:按位右移:整个位向右移动一位,左边补符号对应内容(正数补0,负数补1)
!注意!
1.系统在进行任何位运算的时候都是使用的补码
2.运算结束后都必须转换成原码才是最终显示的数据
3.运算符的优先级
多种运算符同时存在时的运算法则
4.分支机构介绍之if分支
顺序结构:最基本的结构,所有代码默认都是从上往下依次执行
分支结构:主要是if和switch分支
5.if分支
给定一个条件,同时为该条件设置多种(两种)情况,然后通知条件判断来实现具体的执行段
基本语法
a.最简if:只有一段代码,但是可以选择是否执行
if(条件表达式){
满足条件所要执行的内容;
}
b.基础if:有两面性,满足条件或者不满足条件都有对应的执行代码
if(条件表达式){
满足条件后执行的代码段
}else{
不满足条件的代码段
}
c.复杂if结构在判断条件之后,通常就有两种结果,满足或者不满足,同时不满足内还可以再次条件判断
if(条件表达式1){
满足条件表达式1所执行的代码
}else if(条件表达式2){
不满足条件1,但是满足条件2的做执行的代码
}
if语句实例:
<?php
$day = 'sunday';
if($day == 'sunday'){
echo 'go out play';
}
?>
6.switch分支
有一组情形的存在,通过一个条件,有多个值,每一个值有对应的不同的代码要执行
switch判断方式:将条件放到分支结构内部判断
基本语法:
switch(条件表达式){
//所有条件进行判断,逐个进行
case 1:
要执行的代码;
break;
case 2:
要执行的代码;
....
}
switch实例:
switch($day){
case 1:
echo '1';
break;
case 2:
echo '2';
break;
}
7.循环结构for循环
代码在一定的控制下,可以多次执行
基本语法:
for(条件表达式1;条件表达式2;条件表达式3){
条件表达式1:定义初始化条件
条件表达式2:边界判定,限定循环的次数
条件表达式:执行条件变化
循环体;
}
for循环实例:从1到10的输出
for($i=1;$i<=10;$i++){
echo $i,'<br/>';
}
8.while循环和do-while循环
while循环基本语法:
外面初始化条件;
while(条件表达式){
循环体;
循环条件的变化;
}
do-while循环:与while不同的是,无论是否满足条件先执行一次一次再判断是否满足
do-while基本语法:
do{
循环体;
}while(条件表达式);
do-while实例:
$i =1;
do{
if($i % 2 ! = 1){
echo $i,'<br/>';
}
}while($i <= 10);