php-day3

一辜御、運(yùn)算符初步

1.介紹

運(yùn)算符連接操作數(shù)或者表達(dá)式蚀腿。

1)分類

  • 按照操作數(shù)的數(shù)目:
    單目運(yùn)算符: 操作數(shù)只有一個(gè) ++ --
    雙目運(yùn)算符: 操作數(shù)只有兩個(gè) + - * /
    三目運(yùn)算符: ?:
    條件判斷贬芥?表達(dá)式1:表達(dá)式2
    吃了么?喝點(diǎn)飲料:來(lái)塊面包
    滿足條件,返回表達(dá)式1好芭,否則返回表達(dá)式2
  • 按照功能來(lái)分:
    算術(shù)運(yùn)算符: + - * / % (加減乘除 取余)
    賦值運(yùn)算符: = ,賦值運(yùn)算表達(dá)式的值也就是所賦的值
    image.png

    自操作 ++ -- += -= *= /= %=
    a +=2a = $a +2;
    比較運(yùn)算符: > < >= <= == === != !==
    邏輯運(yùn)算符: && || 逸月!
    位運(yùn)算符:& | ~ ^ << >>
    條件運(yùn)算符: 栓撞?:
    字符串連接符: . (相當(dāng)于js里面的+)
    錯(cuò)誤抑制符 :@

2)運(yùn)算符的優(yōu)先級(jí)

①算術(shù)運(yùn)算: 先乘除后加減。
②算術(shù)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符
③()去改變運(yùn)算的優(yōu)先級(jí)

二碗硬、運(yùn)算符進(jìn)階

1.特殊的運(yùn)算符

1)字符串連接符

. 遇到較長(zhǎng)的字符串可以先拼接再輸出


image.png

image.png

image.png

3)錯(cuò)誤抑制符

@放在表達(dá)式之前瓤湘,忽略錯(cuò)誤信息
可以放在變量,常量及函數(shù)的調(diào)用之前恩尾。


image.png

image.png

2.算術(shù)運(yùn)算符

1)加減乘除

  +   -  *  /   

2)取余運(yùn)算符%

1/2 0 1 1 是被除數(shù)弛说, 2 是除數(shù)
取余的結(jié)果,取決于被除數(shù)的符號(hào)翰意,與除數(shù)的符號(hào)無(wú)關(guān)木人。


image.png

3.自操作運(yùn)算符

++ ,--冀偶, +=醒第,-=,*= 等

1)++ -- 兩種使用方法

image.png

4.賦值運(yùn)算符

1)功能

將右側(cè)表達(dá)式的結(jié)果賦值給左側(cè)的變量进鸠。

2)右結(jié)合性

a =b = c =100; 第一步c= 100;
第二步 b =c;
第三步 a =b

5.比較運(yùn)算符

1)介紹

< >= <= == != ===(全等) !==(不全等)
比較結(jié)果: true 或者false
特例:
如果兩個(gè)布爾值之間的比較稠曼。


image.png

2)除全等和不全等之外的比較運(yùn)算符的運(yùn)算原則

不同類型之間的比較,會(huì)出現(xiàn)類型的自動(dòng)轉(zhuǎn)換客年。
①字符串之間的大小比較遵循的原則
使用字符編碼比較(ASCII碼)霞幅;第一個(gè)字符能比較出來(lái)結(jié)果漠吻,后面的字符不進(jìn)行 比較。
②不同類型之間相互比較遵循的原則
如果比較的數(shù)據(jù)中有布爾值司恳,轉(zhuǎn)為布爾值進(jìn)行比較途乃。
否則,有數(shù)字值扔傅,就轉(zhuǎn)為數(shù)字值進(jìn)行比較耍共。
否則,如果兩邊都是純數(shù)字的字符串铅鲤,轉(zhuǎn)為數(shù)字進(jìn)行比較划提。
否則,就按字符串比較邢享。


image.png

3)===(全等)與==(等于)的區(qū)別

===判斷類型和值全部相等鹏往,才是全等
== 只判斷值,不判斷類型骇塘。


image.png

6.邏輯運(yùn)算符

與(&& and) 或(||, or) 非(R谅摹) 異或(xor)

1)運(yùn)算原則

  • 與 :全真為真,其余為假
    true && true 結(jié)果 true
    true && false 結(jié)果 false
    false && false 結(jié)果 false

  • 或 :全假為假款违,其余為真
    true || true 結(jié)果 true
    true || false 結(jié)果 true
    false || false 結(jié)果 false

  • 非 : 非真即假唐瀑,非假即真
    !true false
    !false true;

  • 異或 :相同為假,不同為真
    true xor true 結(jié)果 false
    false xor false 結(jié)果 fasle
    true xor false 結(jié)果 true

2)短路運(yùn)算

或運(yùn)算的短路運(yùn)算:
第一個(gè)表達(dá)式返回為true插爹。后面的表達(dá)式不執(zhí)行哄辣。


image.png

與運(yùn)算的短路運(yùn)算:
第一個(gè)條件為false,進(jìn)行短路運(yùn)算,后面的表達(dá)式不執(zhí)行赠尾。


image.png

3)短路運(yùn)算案例 常量定義

image.png

4)邏輯運(yùn)算符的優(yōu)先級(jí)

&&力穗,|| > = > and,or

7.條件運(yùn)算符(三元運(yùn)算符)?:

1)語(yǔ)法

條件表達(dá)式气嫁?表達(dá)式1:表達(dá)式2
條件成立当窗,返回表達(dá)式1,否則寸宵,返回表達(dá)式2

2)應(yīng)用

image.png

image.png

8.位運(yùn)算符(了解)

& | ~ ^ << >>

1)計(jì)算原則

& 按位與崖面,表示兩位都是1的時(shí)候返回1,否則返回0
| 按位或梯影,表示兩位都是0的時(shí)候返回0巫员,否則返回1
~ 按位非,非0即1甲棍,非1即0
^ 按位異或疏遏,兩位不一樣的時(shí)候返回1,相同的時(shí)候返回0
<< 按位左移 將整個(gè)字節(jié)向左移動(dòng),右邊(低位)補(bǔ)0
>> 按位右移 將整個(gè)字節(jié)向右移動(dòng)财异,正數(shù)左邊用零填充,負(fù)數(shù)的左邊用1填充
PHP 實(shí)現(xiàn)了有符號(hào)數(shù)唱遭,最高位為符號(hào)位(1表示負(fù)數(shù)戳寸,0表示正數(shù)),其余31位數(shù)值位拷泽。

2)按位與疫鹊、或、異或舉個(gè)例子

  • 按位與

1 & 0 => 0
1 &1 => 1
0 &1 => 1
0 &0 => 0
6&5


image.png

十進(jìn)制 4

  • 按位或

1 | 0 => 1
1 | 1 => 1
0 |1 => 1
0 &0 => 0
6|5


image.png
  • 按位異或
    相同為0 不同為1
    1 ^ 0 => 1
    1 ^1 => 0
    0 ^1 => 1
    0 ^0 => 0
    6|5


    image.png
image.png

3)移位運(yùn)算符

<< 向左移位司致,>> 向右移位
正數(shù)拆吆,向左移位,高位移出脂矫,低位補(bǔ)0
向右移位枣耀,低位移出,高位補(bǔ)0
負(fù)數(shù):向左移位庭再,高位移出捞奕,低位補(bǔ)0
向右移位,低位移出拄轻,高位補(bǔ)1

三颅围、計(jì)算機(jī)碼

在計(jì)算機(jī)底層,整數(shù)以二進(jìn)制存儲(chǔ)恨搓,占4個(gè)字節(jié)院促,32個(gè)二進(jìn)制位。
PHP 實(shí)現(xiàn)了有符號(hào)數(shù)斧抱,最高位為符號(hào)位(1表示負(fù)數(shù)常拓,0表示正數(shù)),其余31位數(shù)值位夺姑。
位運(yùn)算使用的是計(jì)算機(jī)補(bǔ)碼墩邀。

1)原碼

最高位位符號(hào)位, 0 正 1負(fù) 數(shù)值位31位


image.png

2)反碼

正數(shù)的反碼等于原碼
負(fù)數(shù)的反碼等于原碼的數(shù)值位按位取反


image.png

3)補(bǔ)碼

正數(shù)的補(bǔ)碼等于其反碼(等于其原碼)
負(fù)數(shù)的補(bǔ)碼等于反碼數(shù)值位+1


image.png

例子:-6 >> 2
①-6 補(bǔ)碼數(shù)值位 111,1111,1111,,1111,1111,,1111,1111,1010
②-6 >>2 補(bǔ)碼低位移出盏浙,高位補(bǔ)1
1111,1111,1111,,1111,1111,1111,111,1110
③-6 >>2 反碼 補(bǔ)碼-1
1111,1111,1111,,1111,1111,1111,111,1101
④-6 >>2 原碼 = 反碼的數(shù)值位眉睹,按位取反
0000,0000,0000,0000,0000,0000,000,0010
⑤原碼數(shù)值位轉(zhuǎn)成十進(jìn)制 2
⑥加上符號(hào)位 -2
-6 >> 2 => -2

-6<<2
①-6 補(bǔ)碼數(shù)值位 111,1111,1111,,1111,1111,,1111,1111,1010
②-6<<2 補(bǔ)碼 高位移出,低位補(bǔ)零废膘。
11111,1111 ,...,1111,101000
③-6<<2 反碼 =補(bǔ)碼-1 11111,1111 ,...,1111,100111
④-6<<2 原碼 反碼按位取反 00000,0000,...,0000,011000
轉(zhuǎn)成十進(jìn)制 16+8=24
加上符號(hào)位 -24

四竹海、流程控制

1.程序語(yǔ)言的三大流程控制

1)順序結(jié)構(gòu)

程序自上而下執(zhí)行

2)分支(選擇結(jié)構(gòu))

滿足指定條件,執(zhí)行指定代碼
if else
switch case 語(yǔ)句

3)循環(huán)結(jié)構(gòu)

滿足一定條件丐黄,循環(huán)執(zhí)行指定的代碼斋配。
for while do while

2.(了解)流程圖的基本符號(hào)

1)符號(hào)

開始,流程走向,流程艰争,選擇(判斷)坏瞄,結(jié)束


image.png

2)兩整數(shù)能否整除的流程圖

image.png

五、分支結(jié)構(gòu)

1.if語(yǔ)句

1)條件執(zhí)行 if else

if(條件判斷){
語(yǔ)句塊1
}else{
         語(yǔ)句塊2
}
image.png

思考題:
①雞翁一值錢五甩卓,雞母一值錢三鸠匀,雞雛三值錢一。百錢買百雞逾柿,問雞翁缀棍、雞母、雞雛各幾何机错?
--張建丘《算經(jīng)》

//法一:
for ($i = 0; $i <= 20; $i++) {//不能超過20爬范,否則錢數(shù)會(huì)超過100
    for ($j = 0; $j <= 33; $j++) {//不能超過33,否則錢數(shù)會(huì)超過100
        for ($k = 0; $k <= 100; $k++) {
            if ($i + $j + $k == 100 && $i * 5 + $j * 3 + $k/3 == 100) {
                echo '雞翁:' . $i . '<br/>';
                echo '雞公:' . $j . '<br/>';
                echo '雞雛:' . $k . '<br/><br/>';
            }
        }
    }
}
//法二:
$i=0;
while($i<=20){
    $j=0;
    while($j<=33){
        $k=0;
        while ($k <= 100) {
            if ($i + $j + $k == 100 && $i * 5 + $j * 3 + $k/3 == 100) {
                echo '雞翁:' . $i . '<br/>';
                echo '雞公:' . $j . '<br/>';
                echo '雞雛:' . $k . '<br/><br/>';
            }
            $k++;
        }
        $j++;
    }
    $i++;
}

image.png

num1 = 48num2 = 38 求最大公約數(shù)弱匪。
image.png

2)if elseif else

if(條件1)
{
語(yǔ)句塊1
}elseif(條件2){
語(yǔ)句塊2
}...
else{
語(yǔ)句塊n
}

3)案例:判斷成績(jī)青瀑,給出成績(jī)的等級(jí)提示

$score = 99;
if($score >= 90){
    echo "優(yōu)秀";
}elseif($score >= 80){
    echo "良好";
}elseif($score >= 70){
    echo "可以";
}elseif($score >= 60){
    echo "及格";
}else{
    echo "不及格";
}

2.switch語(yǔ)句

1)語(yǔ)法

switch(表達(dá)式){
case 值1:
     語(yǔ)句塊1;
break;
case 值2:
     語(yǔ)句塊2;
   break;
........
default :
    語(yǔ)句塊n;
break;
}

2)說明

使用switch里面的表達(dá)式,和case的表達(dá)式中的值進(jìn)行比較痢法。相等時(shí)執(zhí)行相應(yīng)的語(yǔ)句塊狱窘。直到最后〔聘椋可以添加break語(yǔ)句蘸炸,實(shí)現(xiàn)指執(zhí)行一個(gè)case的語(yǔ)句塊。
多個(gè)case 可以共用一個(gè)語(yǔ)句塊尖奔。

3)案例 成績(jī)等級(jí)提示

switch(floor($score/10)){
    case 10:
    case 9:
        echo "優(yōu)秀";
        break;
    case 8:
        echo "良好";
        break;
    case 7:
        echo "可以";
        break;
    case 6:
        echo "及格";
        break;
    default:
        echo "不及格"; 
}

//break是結(jié)束整個(gè)循環(huán)體:
當(dāng)j=2時(shí)搭儒,程序?qū)?huì)跳出內(nèi)層for循環(huán),執(zhí)行If(i==5)break;語(yǔ)句
//continue是結(jié)束單次循環(huán):
當(dāng)j=2時(shí)提茁,程序?qū)?huì)跳出當(dāng)前循環(huán)淹禾,不會(huì)打印j=5,而是接著執(zhí)行循環(huán),執(zhí)行j=3的情況
for ($i=0; $i < 10; $i++) {
    for ($j=0; $j < 4; $j++) {
        if ($j==2) {
            continue;
        }
        echo "<br>";
        echo $i,$j;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茴扁,一起剝皮案震驚了整個(gè)濱河市铃岔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌峭火,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卖丸,死亡現(xiàn)場(chǎng)離奇詭異纺且,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)稍浆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門载碌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猜嘱,“玉大人,你說我怎么就攤上這事嫁艇±柿妫” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵步咪,是天一觀的道長(zhǎng)腕让。 經(jīng)常有香客問我,道長(zhǎng)歧斟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任偏形,我火速辦了婚禮静袖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俊扭。我一直安慰自己队橙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布萨惑。 她就那樣靜靜地躺著捐康,像睡著了一般。 火紅的嫁衣襯著肌膚如雪庸蔼。 梳的紋絲不亂的頭發(fā)上解总,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音姐仅,去河邊找鬼花枫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛掏膏,可吹牛的內(nèi)容都是我干的劳翰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼馒疹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼佳簸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起颖变,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤生均,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后悼做,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疯特,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年肛走,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漓雅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖邻吞,靈堂內(nèi)的尸體忽然破棺而出组题,到底是詐尸還是另有隱情,我是刑警寧澤抱冷,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布崔列,位于F島的核電站,受9級(jí)特大地震影響旺遮,放射性物質(zhì)發(fā)生泄漏赵讯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一耿眉、第九天 我趴在偏房一處隱蔽的房頂上張望边翼。 院中可真熱鬧,春花似錦鸣剪、人聲如沸组底。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)债鸡。三九已至,卻和暖如春铛纬,著一層夾襖步出監(jiān)牢的瞬間厌均,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工饺鹃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莫秆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓悔详,卻偏偏與公主長(zhǎng)得像镊屎,于是被迫代替她去往敵國(guó)和親茄螃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子归苍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一、運(yùn)算符初步 1.介紹 運(yùn)算符連接操作數(shù)或者表達(dá)式溺忧。 1)分類 按照操作數(shù)的數(shù)目:?jiǎn)文窟\(yùn)算符: 操作數(shù)只有一個(gè)...
    滿天繁星_28c5閱讀 348評(píng)論 0 0
  • 一、復(fù)習(xí)昨天所學(xué)內(nèi)容 1.常用快捷鍵 2.注釋 3.標(biāo)識(shí)符 數(shù)字垄懂、字母草慧、_組成冠蒋,數(shù)字不能開頭(python大小寫敏...
    魅影_0d2e閱讀 1,072評(píng)論 0 2
  • 1.變量 1.1聲明變量(定義變量) 變量就是在程序中用來(lái)保存數(shù)據(jù)的容器 在python中是個(gè)假的聲明识窿,語(yǔ)法:變量...
    2333_11f6閱讀 303評(píng)論 0 0
  • python基礎(chǔ) 第一節(jié) 快捷鍵 1.快捷鍵: ctrl+/注釋/取消注釋ctrl+s 保存control+c...
    不忘初心_c590閱讀 232評(píng)論 0 2
  • 1.recode 1.常用快捷鍵ctrl + sctrl + cctrl + vctrl + x - 剪切ctr...
    Gary134閱讀 268評(píng)論 0 0