表达式

一个表达式可以产生一个值,有可能是运算,函数调用,

有可能是字面量,表达式可以放在任何需要值的地方。

语句

语句可以理解为一个行为,循环语句和判断语句就是典型的语句。

一个程序有很多个语句组成,一般情况下是分割成一个一个语句。

流程控制  由三种基本结构组成

顺序结构

从上到下执行的代码就是顺序结构,

程序默认就是由上到下顺序执行的。

分支结构

根据不同情况,执行对应代码。

例如:老师留了作业,做完就可以回家,没有做完就继续做。

循环结构

重复做一件事。

例如:在操场跑10圈,一圈一圈重复的来做,直到跑完10圈为止,

有一个条件,每跑完一圈都要想一下自己跑够10圈了没有。

分支结构

if 语句    if...else if...else

//
if (/*条件表达式*/) {
// 执行语句
} //
if (/*条件表达式*/) {
// 执行语句
} else {
// 否则执行语句
} //
if (/*条件表达式1*/) {
// 成立执行语句
} else if (/*条件表达式2*/) {
// 成立执行语句
} else if (/*条件表达式3*/) {
// 成立执行语句
} else {
// 否则执行语句
}

小案例1

// 求两个数的最大数

var n1 = ;
var n2 = ;
// 条件表达式
if (n1 > n2) {
// 执行语句
console.log('n1:' + n1);
} else {
// 否执行语句
console.log('n2:' + n2);
}

小案例2

// 判断一个数是偶数还是奇数

var n1 = ;
// 取余%2等于0,就是偶数
if (n1 % === ) {
console.log('是偶数');
} else {
// 否则执行语句
console.log('是奇数');
}

案例3

// 定义一个分数
var score = ;
// 条件1: 大于等90与小于等于100
if (score >= && score <= ) {
console.log('A');
// 条件2:大于等于80与小于90
} else if (score >= && score < ) {
console.log('B');
// 条件3:大于等于70与小于80
} else if (score >= && score < ) {
console.log('C');
// 条件4:大于等于60与小于70
} else if (score >= && score < ) {
console.log('D');
// 否则执行语句
} else {
console.log('E');
} ////////////以上的简写 var score = ;
if (score >= ) {
console.log('A');
} else if (score >= ) {
console.log('B');
} else if (score >= ) {
console.log('C');
} else if (score >= ) {
console.log('D');
} else {
console.log('E');
}

三元运算  表达式1?表达式2:表达式3

语法结构:  表达式1 ? 表达式2 : 表达式3

解释:当表达式1条件,成立执行表达式2,不成立执行表达式3

是对if...else语句的一种简化写法。

两个小案例认识三元运算:

// 判断是否满18岁
var age = ;
console.log(age >= ? '已成年' : '未成年'); // 已成年 // 两个数中找最大值
var n1 = ;
var n2 = ;
var max = n1 > n2 ? n1 : n2;
console.log(max);

switch语句  switch{case常量1: 语句 break;default: 语句 break;}

注意点1:  每个case块的break可以省略,代码会继续执行下一个case。

注意点2:  switch语句在比较值时使用的是全等操作符(===),

因此不会发生类型转换(例如:字符串'10'不等于数值10)。

语法结构:

// 语法结构

switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
........
case 常量n:
语句;
break;
default:
语句;
break;
}

小案例认识switch:

// 输出星期几

var day = ;
switch (day) {
case :
console.log('星期一');
break;
case :
console.log('星期二');
break;
case :
console.log('星期三');
break;
case :
console.log('星期四');
break;
case :
console.log('星期五');
break;
case :
console.log('星期六');
break;
case :
console.log('星期日');
break;
default:
console.log('不在星期范围内');
break;
}

案例2

// 把百分制转换为ABCDE

var score = ;
// 两位数转换成一位数
score = parseInt(score / );
switch (score) {
case :
case :
console.log('A');
break;
case :
console.log('B');
break;
case :
console.log('C');
break;
case :
console.log('D');
break;
default:
console.log('E');
break;
}

最后的default类似于if语句最后的else,当以上条件都不成立才执行

循环解构

while循环

while (表达式) {

// 循环体

}

// 打印1到100之间的数
var number = ; while (number <= ) { console.log(number); // 每执行循环体一次,number自身就+1
number++;
}

当表达式的条件成立则执行循环体。

do...while循环

do {

// 循环体

} while (表达式)

// 先执行一次循环体再判断条件
var number = ;
do {
// 循环体
console.log(number);
number++;
} while (number > ) // 条件不成立就停止执行循环体

先执行一次循环体,再判断表达式,如果表达式条件成立则继续执行循环体。

for 循环

for (初始化表达式; 比较表达式; 自增表达式) {

// 循环体

}

// 打印1到10之间的数字

for (var i = ; i <= ; i++) {
// 循环体
console.log(i);
}

执行顺序:初始化表达式>>>比较表达式>>>循环体>>>自增表达式

初始化表达式只执行一次!

练习例子

在控制台输出正方形:

// 打印一个10*10的正方形

var str = '';
// 外层循环控制行数
for (var i = ; i < ; i++) {
// 内层循环控制每行中字符的个数
for (var j = ; j < ; j++) {
// 拼接正方形
str = str + '* ';
// 以上的简写str += '* ';
}
// 控制换行
str += '\n';
}
// 打印
console.log(str);

打印九九乘法表:

// 拼接完的字符串
var str = '';
// 外层循环控制行数
for (var i = ; i <= ; i++) {
// 内层循环控制每行有几组
for (var j = i; j <= ; j++) {
// 拼接
str += i + '*' + j + '=' + i * j + '\t';
}
// 换行
str += '\n';
}
console.log(str);

打印直角三角形:

var str = '';
for (var i = ; i < ; i++) {
// 内层循环与外层循环建立联系
for(var j = i; j < ; j++) {
str += '* ';
}
// 换行
str += '\n';
}
console.log(str);

求1~100之间所有数的乘积:

// 接收这个乘积
var num = ;
for (var i = ; i <= ; i++) {
num *= i;
}
console.log(num);

break和continue

break:终止循环

continue:跳出当次循环,继续下一次循环

break例子:求整数50到200的第一个能被7整除的数

for (var i = ; i <= ; i++) {
if (i % === ) {
console.log(i); // 56
// 终止循环
break;
}
}

continue例子:求整数1到100的累加值,但要跳过所有个数为3的数

// 总数
var sum = ;
for (var i = ; i <= ; i++) {
// 判断是否是个数为3的数
if (i % === ) {
// 跳出当次循环
continue;
} else {
// 累加
sum += i;
}
}
console.log(sum); //

job

有本金10000,年利率是千分之一,计算5年后获得的本金是多少

// 本金
var money = ;
// 利率
var rate = 0.003;
// 累加5次
for (var i = ; i <= ; i++) {
money += money * rate;
}
console.log(money); // 10150.90270405243

兔子规律:1,1,2,3,5,8,13,21..十个月后有多少只

// n1和n2是两个月的兔子的数量
var n1 = ;
var n2 = ;
// n3变量的值是n1+n2的结果
var n3;
// 由于两个月数量已知,所以我们从第三个月开始算起
for (var i = ; i <= ; i++) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
}
console.log(n3);

ECMAScript1.2 表达式|语句|break|continue的更多相关文章

  1. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  2. js中退出语句break,continue和return 比较(转)

    原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...

  3. js中退出语句break,continue和return 比较 (转载)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  4. js中退出语句break,continue和return 比较 (转)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  5. javascript中退出语句break,continue和return 比较

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止. 首先:break和continue两个 ...

  6. 跳出语句 break continue

    break 使用场景:终止switch或者循环 在选择结构switch语句中 在循环语句中 离开使用场景的存在是没有意义的 public static void main(String[] args) ...

  7. 跳转语句—break,continue,goto

    #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...

  8. js的break语句,continue语句,return语句

    js的break语句,continue语句,return语句. 用的时候很容易混淆,有过一次泪奔的经历. break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch ...

  9. JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结

    JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...

随机推荐

  1. 收集python2代码转python3遇到的问题

    在程序中做python版本判断 sys.version_info # sys.version_info(major=2, minor=7, micro=16, releaselevel='final' ...

  2. AcWing 142. 前缀统计 字典树打卡

    给定N个字符串S1,S2…SNS1,S2…SN,接下来进行M次询问,每次询问给定一个字符串T,求S1S1-SNSN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106106,仅包含小写字母. ...

  3. WebBug靶场基础篇 — 02

    本篇以第一人称记录这个关卡的第 1-5 关. 由于我记录的过程有点偏向于思考,所以截图截的多 = =!所以文章有点长... 下午一觉醒来,已经 4 点多了,然后开电脑,在虚拟机里,铺了铺靶场,但是毕竟 ...

  4. Spring源码剖析3:Spring IOC容器的加载过程

    本文转自五月的仓颉 https://www.cnblogs.com/xrq730 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https ...

  5. 搜索引擎优化 TF_IDF之Java实现

    实现之前,我们要事先说明一些问题: 我们用Redis对数据进行持久化,存两种形式的MAP: key值为term,value值为含有该term的urlkey值为url,value值为map,记录term ...

  6. [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】

    低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...

  7. *&m与m的区别

    int *a;int * &p=a; 把 int * 看成一个类型,a就是一个整型指针,p 是a的别名 #include<iostream> using namespace std ...

  8. 1.1 React 介绍

    1.1.1 React 是什么 React IS A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES 来自:React 官方网站 狭义来讲 React ...

  9. 如何上传代码至GitHub

    环境准备: git GitHub账号 步骤: 1.登录github创建一个新的项目  参数说明: Repository name: 仓库名称 Description(可选): 仓库描述介绍 Publi ...

  10. 剑指offer——49礼物的最大价值

    题目描述 在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0).你可以从棋盘的左上角开始拿格子里的礼物,并每次向左或者向下移动一格,知道到达棋盘的右下角.给定一个棋盘及其上面 ...