表达式

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

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

语句

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

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

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

顺序结构

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

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

分支结构

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

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

循环结构

重复做一件事。

例如:在操场跑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. XSS的原理分析与解剖:第四章(编码与绕过)*******************未看**********************

    0×01前言 很抱歉,这第四章被我推了几个月,今天是元旦难得有空,就把第四章写下.我先把主要使用的编码说下,介绍完会说下绕过. 本文建议与<杂谈如何绕过WAF>一同阅读. 0×02 URL ...

  2. “今日头条杯”首届湖北省大学程序设计竞赛--F. Flower Road

    题目链接:点这 github链接:(包含数据和代码,题解):点这 链接:https://www.nowcoder.com/acm/contest/104/E来源:牛客网 题目描述 (受限于评测机,此题 ...

  3. Hdu-4757 Tree(可持久化字典树+lca)

    题目链接:点这 我的github地址:点这     Problem Description   Zero and One are good friends who always have fun wi ...

  4. eclipse的快捷键(常用)

    ctrl+shift+r 全局查找java类 ctrl +h       全局查找包含某某内容的文件位置 ctrl +alt+h  右击方法名 选择open call hierarchy

  5. 用 Flask 来写个轻博客 (1) — 创建项目

    目录 目录 前言 扩展阅读 部署开发环境 创建 Github 项目 前言 一步一步的实现一个 Flask 轻博客项目启动,最新的代码会上传到 Github. 扩展阅读 欢迎使用 Flask - vir ...

  6. Unity5.2.1上Android真机调试环境配置

    下载SDK,JDK安装,配置JAVA环境 1.下载SDK,下载adt-bundle-windows-x86_64-20131030.zip,下载地址:http://pan.baidu.com/shar ...

  7. 【二叉树】二叉树常用算法的C++实现

    常见算法有: 1.求二叉树的最大深度 2.求二叉树的最小深度 3.二叉树的层次遍历 4.二叉树的前序遍历 5.二叉树的中序遍历 6.二叉树的后序遍历 7.求二叉树的节点个数 8.求二叉树的叶节点个数 ...

  8. SQL Serve2008的一些操作

    今天花了一下午的时间在熟悉SQL serve的一些操作,在此记录下学习到的东西: 首先创建数据库: use master --设置当前数据库为master,以便方便访问表sysdatabases if ...

  9. Feign 系列(04)Contract 源码解析

    Feign 系列(04)Contract 源码解析 [TOC] Spring Cloud 系列目录(https://www.cnblogs.com/binarylei/p/11563952.html# ...

  10. 初识微服务框架ServiceComb

    https://blog.csdn.net/zengdongwen/article/details/93486257 后续跟进学习.