A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小江哥 于 2017-12-25 15:30 编辑

一、流程控制

什么是流程控制?
        按照一定的流程选择要执行的代码
        流程控制分为三种结构:
    顺序结构、选择(分支)结构、循环结构

1.1顺序结构

代码从上至下 一行一行进行解析!

1.2分支结构

虽然有多种选择,但是最终只会选择一个。
比如中午去吃饭:可以选择去A餐馆吃饭,也可以选择去B餐馆吃饭,但是最终只会选择一个餐馆吃饭。
if语句和switch语句

if语句分为三种分支

1.2.1单分支

语法:
   
[PHP] 纯文本查看 复制代码
if(条件表达式){[/align]     要执行的代码块
 }
结构说明:
当条件表达式成立时,才会执行代码块。
条件表达式成立指提是:得到布尔类型的值为true 就表示成立。

1.2.2双分支
语法:
[PHP] 纯文本查看 复制代码
 if(条件表达式){[/align]    执行代码块1
 }else{
 执行代码块2
 }
结构说明:
如果条件表达式成立的话就执行代码块1,反之如果不成立就执行代码块2
流程图:

1.2.3多分支

语法:
   
[PHP] 纯文本查看 复制代码
if(条件表达式1){[/align]    代码块1
 }else if(条件表达式2){
  代码块2
 } else if(条件表达式3){
  代码块3
 } else if(条件表达式n){
  代码块n
 }else{
 默认代码块    
}
结构说明:
l 第一步:先去判断条件表达式1是否成立 如果成立就执行代码块1 然后就结束if语句  如果不成立
l 第二步:判断条件表达式2是否成立  如果成立就执行代码块2 然后就结束if语句  如果不成立
l 第三步:判断条件表达式3是否成立  如果成立就执行代码块3 然后就结束if语句  如果不成立  
l 第四步:判断条件表达式n是否成立  如果成立就会执行代码块n 然后就结束if语句  如果不成立  
l 第五步:前提是有写else语句  else语句可以省略不写  上面的所有的条件表达式都不成立 就会执行else语句里面的代码块
流程图:

1.2.3switch语句

语法:
[PHP] 纯文本查看 复制代码
switch(变量名){
case 值1:
代码块1;
break;
case 值2:
代码块2
break;
case 值3:
代码块3;
break;
case 值n:
代码块n;
break;
default:
默认执行的代码块!
break;
}

结构说明:
  switch语句它是拿小括号中变量的值去与每一个case后面的值进行全等比较 如果比较成功(得到布尔true) 就会执行对应的代码块 还要去查找是否有break关键字 如果有break关键字 那么switch语句就会结束  但是如果没有break关键字 它会去往下去查找break关键字 同时会将下面的代码块进行输出 直到找到break关键字为止   如果所有的case后面的值与变量的值不相等 那么就会执行默认的代码块(default语句可以省略不写 前提是要求defalut语句有写 才会执行默认的代码块)
流程图:

案例:输出今天星期几?
思路分析:我们需要获取到当前的系统时间日期  然后从系统时间日期中获取到星期几
第一步:我们如何去获取到当前的系统时间日期  
创建一个Date对象
第二步:要从这个时间日期对象中获取到今天星期几
getDay()方法  这个方法可以从Date对象中获取到今天星期几  
0~6之间的一个整数  0表示星期天  6表示星期六

1.3循环结构
在满足一定的条件下 重复执行某些代码!
for循环、while循环、do…while循环
1.3.1for循环
语法:
   
[PHP] 纯文本查看 复制代码
for(变量初始化;条件表达式;变量更新){[/align]循环体  //重复做的事情
}
结构说明:
  •        第一步:变量初始化  定义一个变量并给其赋值  它只会执行一次
  •        第二步:判断条件表达式是否成立  如果成立就执行第三步 如果不成立就会结束for循环
  •        第三步:假设条件表达式成立  执行循环体
  •        第四步:对变量进行更新   变量更新完毕以后接下来就会重复第二步--à第三步--à第四步
  •        一直到条件表达式不成立了 然后for循环才会结束

流程图:
1:使用for循环来输出10hello
2:使用for循环来输出1100之间的数。
3:使用for循环来求1100之间的和
4:使用for循环来求1100之间的偶数的和。
5、恶心的游戏数字7
大家从小到大,都玩儿过的一个庸俗的游戏:

游戏玩儿法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。

请在控制台输出1~60之间的所有“安全数”。

比如:
1234568910111213151618192022232425262930……
6:使用for循环求4的阶乘
4*3*2*1
7:使用for循环来输出1001
死循环:当条件表达式永远成立 就会出现死循环
8:使用for循环来实现一个103列的表格并且这个表格要有隔行变色的效果
9:使用for循环输出一个9行一列的表格
10:使用for循环输出一个19列的表格
11:使用for循环输出一个99列的表格
12:使用for循环来实现99乘法表

1.3.2 while循环

语法:
[PHP] 纯文本查看 复制代码
变量初始化
while(条件表达式){
//循环体
变量更新
}
结构说明:
当条件表达式成立的时候就执行循环体,反之如果条件表达式不成立就结束while循环!
流程图:
使用while循环输出1-100之间能够被3整除的数。

1.3.3 do..while循环

语法:
[PHP] 纯文本查看 复制代码
do{
//循环体
}while(条件表达式);
 
结构说明:
先执行一次循环体,然后再来判断条件表达式是否成立。如果条件表达式成立就继续执行循环体,如果不成立就会结束do while循环。
不管条件表达式是否成立,do while循环都会执行一次循环体。
流程图:
使用do while来求1-100之间能够被3整除的数的平均值
思路:
1. 需要得到1-100之间的所有的数
2. 再来得到能够被3整除的所有的数
3. 得到被3整除的所有的数的和以及其个数
4. 拿总和除以其个数就可以得到平均值

二、循环的终止

典型的,当条件表达式不成立了,那么循环体就会终止执行。也可以称之为循环它寿终正寝了。
循环提前终止:本来条件表达式是成立了,循环体还可以继续的往下执行,但是我们可以使用一些关键字让其提前终止。


break和continue 循环终止的关键字

2.1break

终止,当在循环体中遇到了break关键字以后,整个循环语句就会直接结束。不会再执行。

2.2continue

继续,它会终止当前循环体,那么继续执行下一次循环体。

三、三个常用的系统函数

3.1parseInt()

作用:从一个字符串提取整数!
提取规则:如果字符串第一个字符不是数字 就会返回NaN ,它会遇到非数字就停止提取!

3.2parseFloat()

作用:从一个字符串提取小数!
提取规则:如果字符串第一个字符不是数字 就会返回NaN ,它如果遇到除.以外的非数字就会停止提取!

3.3isNaN

作用:先将一个变量的数据类型强制的转换为Number  如果是NaN就会得到true  如果是一个数字的话就是得到false

四、数组

4.1什么是数组?

数组是一组数据有序的集合。数组它是属于复合数据类型。至少可以存储一个值。

4.2 为什么要使用数组?


4.3 数组的相关概念

4.3.1数组元素

指数组中的每一个数据!我们就把它们称之为数组元素

4.3.2数组下标

每一个数组元素都对应着一个数组下标  数组的下标是从0开始  第一个数组元素的下标是0,第二个数组元素的下标为1  第三个数组元素的下标为2  依此类推!

4.3.3如何访问数组里面的元素

格式:
数组变量名[

4.3.4数组的长度

数组的长度:数组中元素的总个数
如何去计算数组的长度:
    数组变量名.length  
数组变量名其实就是一个数组对象  
对象.属性  
JS中 数组对象下面有一个length的属性  这个属性可以得到数组的长度

4.4 定义数组

4.4.1使用[]来定义数组

4.4.2使用new关键和Array()方法来定义数组
注意:
  在工作中一般都是使用[]来创建数组  基本上不会使用new关键字和Array方法来创建






16 个回复

倒序浏览
6666,基础决定上层建筑
回复 使用道具 举报
腿长代码写的也好
回复 使用道具 举报 1 0
充满了对知识的渴望
回复 使用道具 举报
66666666666666666666666666666666
回复 使用道具 举报
棒棒哒
回复 使用道具 举报
赞赞的!
回复 使用道具 举报
不明觉厉!棒棒哒!
回复 使用道具 举报
咸鱼666 来自手机 中级黑马 2017-12-19 14:57:37
9#
66666666666666666
回复 使用道具 举报
棒棒哒
回复 使用道具 举报
从此学好 来自手机 中级黑马 2017-12-19 15:10:39
11#
顶,么么哒
回复 使用道具 举报
从此学好 来自手机 中级黑马 2017-12-19 15:11:16
12#
顶顶顶。。。
回复 使用道具 举报
许言 来自手机 中级黑马 2017-12-19 15:11:18
13#
顶顶顶顶顶已顶
回复 使用道具 举报
小年青 来自手机 中级黑马 2017-12-19 15:13:10
14#
贼有用6666666666666666
回复 使用道具 举报
Rocket_冷风 来自手机 中级黑马 2017-12-19 15:19:01
15#
了却我内心对知识的渴望
回复 使用道具 举报
大神,请接受我渴望的目光
回复 使用道具 举报
nhm 来自手机 中级黑马 2017-12-19 17:03:54
17#
6666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马