程序的三大結構(順序結構、選擇結構、循環結構)


一、順序結構、選擇結構、循環結構

二、順序結構

程序按照從上到下的順序執行。

三、選擇結構

 程序按照某個條件執行(出口只有一個)

1. if條件語句

    執行邏輯:對條件進行判斷,如果條件返回值為true 則執行。

  if(){ }else{}

  (1)單分支

  if(餓了){

    睡覺

    }

      (2)雙分支

    if(條件){

      code;

     }else{

      code2;

    }

  (3)多分支

    if(條件1){

     code1;

      }else if(條件2){

      code2;

      }else{

       code3;

      }

   (4)a.判斷一個整數,屬於哪個范圍:大於0,小於0,等於0;     

      var num = 10;
      if(num > 0){
        code1;
      }else if(num < 0){
        code2;
      }else{
        code3;
      }

       b.判斷一個整數是奇數還是偶數,並輸出判斷結果  

      var num = 111;
      if( num % 2 == 0 ){
        code1;
      }else if(num % 2 != 0){
        code2;
      }

     c.開發一款軟件,根據公式(身高-108)*2=體重,可以有10斤左右的浮動。來觀察測試者體重是否合適    

      var height = 200;
      var weight = 200;
      var item = ( height - 108 ) * 2;
      if( weight <= item + 10 && weight >= item - 10 ){
      console.log("標准");
      }else{
      console.log("不標准");
      }

 

2.switch分支

  對某個固定值的判斷

   (1)語法:

    switch() {

    case value: 執行的語句;

    }

  (2)case穿透。

    如果每一個case語句執行完畢之后,沒有遇到 break , 讓程序繼續往下執行。

  (3)default 其他情況

    以上case值都不滿足的情況下所執行的語句。 可以省略掉。

  (4)案例

    a.  輸入數字,顯示星期幾

      var week = 4;
      switch (week) {
      case 1: console.log("星期一");
      break;
      case 2: console.log("星期二");
      break;
      case 3: console.log("星期三");
      break;
      case 4: console.log("星期四");
      break;
      case 5: console.log("星期五");
      break;
      case 6: console.log("星期六");
      break;
      case 7: console.log("星期七");
      break;
      default: console.log("請重新輸入...");
      }

3.if判斷條件為真的條件

   a.當不為0的純數字,則返回真 ;為0,返回為假;

   b.非空字符串,返回true; 空字符串"",返回false;

   c.所有對象、數組,返回true;null、undefined 返回的是false;

   d.當一個函數存在的時候,則為真,否則為假;

 

四、循環結構

 1.定義:重復執行一段代碼(重復代碼塊);

2.作用: a.簡化代碼,處理重復的代碼

    b.遍歷數組、json對象、節點集合

3.循環的五大要素:

  a.循環變量

  b.循環變量的初始值

  c.循環的增值

  d.循環的條件

  e.循環體

4.循環的分類

  (1)while循環

    while(循環的條件){
      循環體
    }

    執行邏輯:首先進行變量判斷,如果不滿足,不進入循環體,如果滿足,進入循環體,循環體執行完畢,變量增值,再次進行判斷。

    案例:

        a.怎么實現1 - 50 的和?? 

    var i = 1;
    var sum = 0;
    while( i <= 50 ){
    sum += i;
    i++;
    }

    b.打印100以內7的倍數

    var i = 1;
    while(i <= 100){
    if(i % 7 == 0 ){
    console.log(i);
    }
    i++;
    }
    console.log(sum);

    c.打印100以內所有偶數的和

    var i = 1 ;
    var sum = 0;
    while( i <= 100 ){
    if( i % 2 == 0 ){
    sum += i;
    }
    i++;
    }
    console.log(sum);

  (2)do...while循環  

    語法:

    do{
      //循環體
    }while(i < 10);

    執行邏輯:首先進入循環體,執行一次,然后再進行變量的自增,然后再次進行判斷......

    案例:

     a.入職薪水10K,每年漲幅5%,50年后工資多少?

      var money = 10000;
      var year = 1;
      do{
        money *= 1.05;
        year++;
      }while(year <= 50);
      console.log(money);

  (3)for循環

    語法:

      for( 語句1,語句2,語句3 ){
        //循環體
       }

      語句1: 循環變量 以及 初始值
      語句2: 循環的終止條件
      語句3: 循環變量的增值

    執行邏輯:首先聲明循環變量,為變量賦值,然后進行條件判斷,如果成立,進入循環體,循環體執行完畢,循環變量增值,自增之后,再進行條件判斷......。

   案例:

   a.打印100–200之間所有能被3或者7整除的數

    for(var i = 100 ; i <= 200 ; i++){
    if(i % 3 == 0 || i % 7 == 0){
        console.log(i);
      }
    }

   b.計算100的階乘

    var product = 1;
    for(var i = 1 ; i <= 100 ; i++){
      product *= i;
    }
    console.log(product)

五、死循環

  靠自身無法終止的程序

六、循環嵌套

1.實現表格

  document.write("<table>");
  for(var i = 0 ; i < 10 ; i++){
  document.write("<tr>");
  //打印的td
  for(var k = 0 ; k < 10 ; k++){
  document.write("<td></td>");
  }
  document.write("</tr>");
  }
  document.write("</table>");

2.九九乘法表

  for(var i = 1 ; i <= 9 ; i++){
  for(var j = 1 ; j <= i ; j++){
  document.write( j + " * " + i + "=" + i * j + "&nbsp;&nbsp;&nbsp;");
  }
  document.write("<br><br>");
  }

七、循環練習

1.打印100以內所有偶數的和

  var sum = 0;
  for(var i = 1 ; i <= 100 ; i++){
  if( i % 2 == 0 ){
  sum += i;
  }
  }
  console.log(sum);

2.打印出1000-2000年中所有的閏年,並以每行四個數的形式輸(//閏年條件:非整百年,被4整除, 或者被400整除)

//添加一個計數器
  var count = 0;
  for(var year = 1000 ; year <= 2000 ; year++){
  if( year % 100 != 0 && year % 4 == 0 || year % 400 == 0 ){
  document.write(year + "&nbsp;&nbsp;&nbsp;&nbsp;");
  //每打印一個閏年,計數器加一,當計數器能被4整除的時候,打印一個換行。
  count++;
  if(count % 4 == 0){
  document.write("<br>")
  }
  }
  }

3.打印三角形(直角三角形)

for(var i = 1 ; i <= 5 ; i++){
  for(var k = 1 ; k <= i ; k++){
  document.write("<div></div>")
  }
  document.write("<br>");
  }

div和span的樣式:

div {
display: inline-block;
width: 10px;
height: 10px;
background: red;
margin: 10px;
}

span {
display: inline-block;
width: 10px;
height: 10px;
background: blue;
margin: 10px;
}

4.打印等腰三角形

//行數
for(var i = 1 ; i <= 5 ; i++){
//將等腰三角形撐到中間的元素
for(var k = 4 ; k >= i ; k--){
document.write("<span></span>");
}
//等腰三角形的實現
for(var j = 1 ; j <= 2 * i - 1 ; j++){
document.write("<div></div>");
}
document.write("<br>");
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM