表达式

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

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

语句

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

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

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

顺序结构

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

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

分支结构

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

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

循环结构

重复做一件事。

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

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

分支结构

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

  1. //
  2. if (/*条件表达式*/) {
  3. // 执行语句
  4. }
  5.  
  6. //
  7. if (/*条件表达式*/) {
  8. // 执行语句
  9. } else {
  10. // 否则执行语句
  11. }
  12.  
  13. //
  14. if (/*条件表达式1*/) {
  15. // 成立执行语句
  16. } else if (/*条件表达式2*/) {
  17. // 成立执行语句
  18. } else if (/*条件表达式3*/) {
  19. // 成立执行语句
  20. } else {
  21. // 否则执行语句
  22. }

小案例1

  1. // 求两个数的最大数
  2.  
  3. var n1 = ;
  4. var n2 = ;
  5. // 条件表达式
  6. if (n1 > n2) {
  7. // 执行语句
  8. console.log('n1:' + n1);
  9. } else {
  10. // 否执行语句
  11. console.log('n2:' + n2);
  12. }

小案例2

  1. // 判断一个数是偶数还是奇数
  2.  
  3. var n1 = ;
  4. // 取余%2等于0,就是偶数
  5. if (n1 % === ) {
  6. console.log('是偶数');
  7. } else {
  8. // 否则执行语句
  9. console.log('是奇数');
  10. }

案例3

  1. // 定义一个分数
  2. var score = ;
  3. // 条件1: 大于等90与小于等于100
  4. if (score >= && score <= ) {
  5. console.log('A');
  6. // 条件2:大于等于80与小于90
  7. } else if (score >= && score < ) {
  8. console.log('B');
  9. // 条件3:大于等于70与小于80
  10. } else if (score >= && score < ) {
  11. console.log('C');
  12. // 条件4:大于等于60与小于70
  13. } else if (score >= && score < ) {
  14. console.log('D');
  15. // 否则执行语句
  16. } else {
  17. console.log('E');
  18. }
  19.  
  20. ////////////以上的简写
  21.  
  22. var score = ;
  23. if (score >= ) {
  24. console.log('A');
  25. } else if (score >= ) {
  26. console.log('B');
  27. } else if (score >= ) {
  28. console.log('C');
  29. } else if (score >= ) {
  30. console.log('D');
  31. } else {
  32. console.log('E');
  33. }

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

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

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

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

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

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

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

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

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

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

语法结构:

  1. // 语法结构
  2.  
  3. switch (expression) {
  4. case 常量1:
  5. 语句;
  6. break;
  7. case 常量2:
  8. 语句;
  9. break;
  10. case 常量3:
  11. 语句;
  12. break;
  13. ........
  14. case 常量n:
  15. 语句;
  16. break;
  17. default:
  18. 语句;
  19. break;
  20. }

小案例认识switch:

  1. // 输出星期几
  2.  
  3. var day = ;
  4. switch (day) {
  5. case :
  6. console.log('星期一');
  7. break;
  8. case :
  9. console.log('星期二');
  10. break;
  11. case :
  12. console.log('星期三');
  13. break;
  14. case :
  15. console.log('星期四');
  16. break;
  17. case :
  18. console.log('星期五');
  19. break;
  20. case :
  21. console.log('星期六');
  22. break;
  23. case :
  24. console.log('星期日');
  25. break;
  26. default:
  27. console.log('不在星期范围内');
  28. break;
  29. }

案例2

  1. // 把百分制转换为ABCDE
  2.  
  3. var score = ;
  4. // 两位数转换成一位数
  5. score = parseInt(score / );
  6. switch (score) {
  7. case :
  8. case :
  9. console.log('A');
  10. break;
  11. case :
  12. console.log('B');
  13. break;
  14. case :
  15. console.log('C');
  16. break;
  17. case :
  18. console.log('D');
  19. break;
  20. default:
  21. console.log('E');
  22. break;
  23. }

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

循环解构

while循环

while (表达式) {

// 循环体

}

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

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

do...while循环

do {

// 循环体

} while (表达式)

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

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

for 循环

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

// 循环体

}

  1. // 打印1到10之间的数字
  2.  
  3. for (var i = ; i <= ; i++) {
  4. // 循环体
  5. console.log(i);
  6. }

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

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

练习例子

在控制台输出正方形:

  1. // 打印一个10*10的正方形
  2.  
  3. var str = '';
  4. // 外层循环控制行数
  5. for (var i = ; i < ; i++) {
  6. // 内层循环控制每行中字符的个数
  7. for (var j = ; j < ; j++) {
  8. // 拼接正方形
  9. str = str + '* ';
  10. // 以上的简写str += '* ';
  11. }
  12. // 控制换行
  13. str += '\n';
  14. }
  15. // 打印
  16. console.log(str);

打印九九乘法表:

  1. // 拼接完的字符串
  2. var str = '';
  3. // 外层循环控制行数
  4. for (var i = ; i <= ; i++) {
  5. // 内层循环控制每行有几组
  6. for (var j = i; j <= ; j++) {
  7. // 拼接
  8. str += i + '*' + j + '=' + i * j + '\t';
  9. }
  10. // 换行
  11. str += '\n';
  12. }
  13. console.log(str);

打印直角三角形:

  1. var str = '';
  2. for (var i = ; i < ; i++) {
  3. // 内层循环与外层循环建立联系
  4. for(var j = i; j < ; j++) {
  5. str += '* ';
  6. }
  7. // 换行
  8. str += '\n';
  9. }
  10. console.log(str);

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

  1. // 接收这个乘积
  2. var num = ;
  3. for (var i = ; i <= ; i++) {
  4. num *= i;
  5. }
  6. console.log(num);

break和continue

break:终止循环

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

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

  1. for (var i = ; i <= ; i++) {
  2. if (i % === ) {
  3. console.log(i); // 56
  4. // 终止循环
  5. break;
  6. }
  7. }

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

  1. // 总数
  2. var sum = ;
  3. for (var i = ; i <= ; i++) {
  4. // 判断是否是个数为3的数
  5. if (i % === ) {
  6. // 跳出当次循环
  7. continue;
  8. } else {
  9. // 累加
  10. sum += i;
  11. }
  12. }
  13. console.log(sum); //

job

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

  1. // 本金
  2. var money = ;
  3. // 利率
  4. var rate = 0.003;
  5. // 累加5次
  6. for (var i = ; i <= ; i++) {
  7. money += money * rate;
  8. }
  9. console.log(money); // 10150.90270405243

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

  1. // n1和n2是两个月的兔子的数量
  2. var n1 = ;
  3. var n2 = ;
  4. // n3变量的值是n1+n2的结果
  5. var n3;
  6. // 由于两个月数量已知,所以我们从第三个月开始算起
  7. for (var i = ; i <= ; i++) {
  8. n3 = n1 + n2;
  9. n1 = n2;
  10. n2 = n3;
  11. }
  12. 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. Delphi 实现简易语音发音(基于TTS方式)

    uses Comobj; procedure TForm1.Button1Click(Sender: TObject); var voice: OLEVariant; begin voice := C ...

  2. iOS 7 认识 TextKit

    本文由 伯乐在线 - 和谐老约翰 翻译自 Max Seelemann.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. iOS7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit( ...

  3. nodejs 内存泄漏

    This looks OK at first glance. We could think that theThing get's overwritten with every invocation ...

  4. 一个小BUG引发的思考。(论开发与测试之间的那点事)

    标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...

  5. Installing GCC 简单方法

    Installing GCC This page is intended to offer guidance to avoid some common problems when installing ...

  6. C#之winform 猜拳小游戏

    C#之winform 猜拳小游戏 1.建立项目文件 2.进行界面布局 2.1 玩家显示(控件:label) 2.2  显示玩家进行选择的控件(控件:label) 2.3 电脑显示(控件:label) ...

  7. UVA 356 - Square Pegs And Round Holes

    题目:在一个2n*2n的网格中间画一个直径为2n-1的圆,问圆内部的格子以及和圆相交的格子个数. 思路:只要考虑1 / 4圆的点就行,用点到原点距离与半径比较,当格子左下方和右上方都在格子里时,格子在 ...

  8. 解压lzma格式的img文件报“Filename has an unknown suffix, skipping”怎么办

    1 确认img文件是什么压缩格式 file 文件名 2 报标题错误怎么办? mv initrd.img initrd.img.xz xz -d initrd.img.xz cpio -ivd < ...

  9. java反射机制以及应用

    JAVA反射机制+动态运行编译期不存在的JAVA程序 一.有关JAVA反射 在运行期间,在不知道某个类A的内部方法和属性时,能够动态的获取信息.获取类或对象的方法.属性的功能,称之为反射. 1.相关类 ...

  10. WordTEX

    https://www.andrew.cmu.edu/user/twildenh/wordtex/