表达式

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

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

语句

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

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

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

顺序结构

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

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

分支结构

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

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

循环结构

重复做一件事。

例如:在操场跑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. 使用poi实现生成excel文件

    import java.util.ArrayList; import javax.servlet.ServletOutputStream; import org.apache.poi.hssf.use ...

  2. [转] Linux下编写脚本实现Daemon

    在Linux(以Redhat Linux Enterprise Edition 5.3为例)下,有时需要编写Service.Service也是程序,一般随系统启动用户不干预就不退出的程序,可以称为Se ...

  3. Dubbo入门到精通学习笔记(十二):Dubbo消费端直连提供者(开发调试)、Dubbo服务只订阅(开发调试)、Dubbo服务只注册

    文章目录 Dubbo消费端直连提供者(开发调试) Dubbo服务只订阅(开发调试) Dubbo服务只注册 Dubbo消费端直连提供者(开发调试) Dubbo 官方文档: 用户指南 >> 示 ...

  4. vue组件通信之父组件主动获取子组件数据和方法

    ref 可以用来获取到dom节点,如果在组件中应用,也可以用来获取子组件的数据和方法. 比如,我定义了一个home组件,一个head组件,home组件中引用head组件. 此时,home组件是head ...

  5. 面向对象(五)——isinstance与issubclass、反射、内置方法

    isinstance与issubclass.反射.内置方法 一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,cla ...

  6. python :Django url /views /Template 文件介绍

    1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...

  7. 拯救 Out Of Memory,8个案例带你飞!

    来自:唐尤华 https://bloggceasy.files.wordpress.com/2015/05/outofmemoryerror2.pdf 1. Java 堆空间 发生频率:5颗星 造成原 ...

  8. C# WinfForm 控件之dev报表 XtraReport (八)动态生成报表

    功能说明:生成一个报表文件DV1,保存到本地AA.rep,再重新加载这个文件到DV2 1.布局如下图: panel1 上有三个button panel2上有个documentView dv1 pane ...

  9. python输入一个\输出2个\问题

    在Python里面,如果\后面不是一个合法的转移字符,那么,Python会打印两个\,换句话说,Python将\也当成普通字符看待,而不是转义符的标志: >>>S = 'C:\py\ ...

  10. 35-Ubuntu-组管理-01-添加组/删除组/确认组信息

    组管理 提示: 创建组/删除组的终端命令都需要sudo执行,标准用户没有权限! 序号 命令 作用 01 sudo groupadd 组名 添加组 02 sudo groupdel 组名 删除组 03 ...