1. 分支结构

1.1 分支语句之单分支

①.语法:

if(值,如果不是布尔值会强制转换成布尔值) {
代码块;
}

②.案例:

// 案例:如果a变量的值加键盘上输入的数大于100,就打印我爱你二狗子!
var a = 30;
// prompt():页面弹出输入框的函数,可以获取用户输入内容,返回对应的字符串
var num = parseInt(prompt('可以输入一个数字'));
if (num + a > 100) {
console.log('我爱你二狗子');
}

1.2 分支语句之双分支

①.语法:

  if(值,这个值如果不是布尔值,会强转为布尔值){
代码块
}else{
代码块
}

②.案例:

  var num = parseInt(prompt('请输入一个数'));
if (num > 0) {
console.log(--num);
} else {
console.log(++num);
} // 如果双分支代码块只有一行代码,可以使用三元运算符替代
var num1 = parseInt(prompt('请输入一个数'));
num1 > 0 ? num1-- : num1++;
console.log(num1);

1.3 分支语句之多分支

①.语法:

  if(值,这个如果不是布尔值,会强转为布尔值){
代码块
}else if(值,这个如果不是布尔值,会强转为布尔值){
代码块
}else if(值,这个如果不是布尔值,会强转为布尔值){
代码块
}else{
代码块
}

②.案例:

// 输入体重判断属于什么样的体型
// 70 - 90 骨感美
// 90 - 120 性感美
// 120 - 150 微胖美
// 150 - 200 丰满美
// 200 -300 灵魂美 var weight = parseInt(prompt('输入你的体重'));
// 注意点:不可以使用 70<=weight<=90这种写法
// 原因:70<=weight 返回true或false 与后面的90比较会转换成数字0或1,与原先的语义不一致
if (weight >= 70 && weight <= 90) {
console.log('骨感美');
} else if (weight >= 90 && weight <= 120) {
console.log('性感美');
} else if (weight >= 120 && weight <= 150) {
console.log('微胖美');
} else if (weight >= 150 && weight <= 200) {
console.log('丰满美');
} else if (weight >= 200 && weight <= 300) {
console.log('灵魂美');
} else {
console.log('请输入70 - 300之间的数');
}

1.4 分支语句之 switch case

①.语法

1. key是一个值,不会进行转化
2. 从上到下,当key与value全等于的时候会进入该分支,只有遇到break才会跳出switch
如果没有匹配的case分支,会执行最后的default默认分支
switch (key) {
case value:
代码块;
break;
case value:
代码块;
break;
...
default:
break;
}

break:用来跳出循环

②.案例

    // 1.输入一个数字,判断是星期几
var day = parseInt(prompt('请输入一个(1-7)的数字'));
// 注意点
// 1、值的判断使用的是 ===
// 2、进入某个分支,只有遇到break才能跳出switch
switch (day) {
case 1:
console.log('今天是周一');
break;
case 2:
console.log('今天是周二');
break;
case 3:
console.log('今天是周三');
break;
case 4:
console.log('今天是周四');
break;
case 5:
console.log('今天是周五');
break;
case 6:
console.log('今天是周六');
break;
case 7:
console.log('今天是周日');
break;
default:
console.log('输入1到7的数字');
break;
} // 2. 输入分数,判定优良差和不及格(多分支版本 switch版本)
// 90 ~ 100 A
// 80~90 B
// 70~80 C
// 60~70 D
// 0~ 60 不及格
// 其它 提示
var score = parseInt(prompt('请输入你的分数'));
// 这种true的用法也需要注意
switch (true) {
case score >= 90 && score <= 100:
console.log('A');
break;
case score >= 80 && score <= 90:
console.log('B');
break;
case score >= 70 && score <= 80:
console.log('C');
break;
case score >= 60 && score <= 70:
console.log('D');
break;
case score >= 0 && score <= 60:
console.log('不及格');
break;
default:
console.log('请输入一个0-100的分数');
break;
} // 3.输入年龄 判定是童年少年青年中年老年
var age = parseInt(prompt('输入年龄'));
switch (true) {
case age > 0 && age <= 6:
console.log('童年');
break;
case age > 6 && age <= 18:
console.log('少年');
break;
case age > 18 && age <= 30:
console.log('青年');
break;
case age > 30 && age <= 50:
console.log('中年');
break;
case age > 50:
console.log('老年');
break;
default:
console.log('请输入正确的年龄。');
}

2. 循环结构

2.1 for 循环

①.语法

    for (初始化表达式,条件表达式,自增自减表达式){
循环体;
}

②.执行流程

    循环执行过程
1.首次执行
1-1 执行初始化表达式
1-2 执行条件表达式(符合条件执行循环体,不符合跳出循环)
1-3 执行循环体
1-4 执行自增自减表达式 2.非首次执行
2-1 执行条件表达式 (符合条件执行循环体,不符合跳出循环)
2-2 执行循环体
2-3 执行自增自减表达式

③.总结

    1. 首次执行和非首次执行 区别在于是否执行初始化表达式
2. 循环的此时看i 每次循环中的i都会变化
3. 循环的结束条件,条件表达式的值为false

④.案例

    // 打印1-100之间的整数
for (var i = 1; i <= 100; i++) {
// console.log(i);
} // 打印1-100之间的偶数
for (var index = 1; index <= 100; index++) {
if (index % 2 == 0) {
// console.log(index);
}
} // 计算1到100的和
var sum = 0;
for (var i = 1; i <= 100; i++) {
sum += i;
}
// console.log(sum); // 计算1-100之间所有偶数的和
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
// console.log(sum); // 计算100的阶乘 1*2....*100
var sum = 1;
for (var i = 1; i <= 100; i++) {
sum *= i;
}
// console.log(sum); // 打印三位数位上有3或者7的数字
for (var i = 100; i < 1000; i++) {
var x = parseInt(i / 100);
var y = parseInt(i / 10 % 10);
var z = i % 10;
if (x == 3 || x == 7 || y == 3 || y == 7 || z == 3 || z == 7) {
// console.log(i);
}
} // 求100 - 999之间的水仙花数
for (var i = 100; i <= 999; i++) {
var x = parseInt(i / 100);
var y = parseInt(i / 10 % 10);
var z = i % 10;
if (x * x * x + y * y * y + z * z * z == i) {
console.log(i);
}
}

(三).JavaScript的分支结构和循环结构的更多相关文章

  1. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

  2. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套

    ------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...

  3. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  4. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  5. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  6. java顺序结构、循环结构、选择结构

    java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...

  7. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

  8. java第三课:分支结构、循环结构

    分支结构 1.if后面可以不加{},但是不建议,容易产生误解2.写程序的时候先防屌丝测试,再写逻辑,否则会出错3.if:一条分支 if else:两条分支 if...else if...:多条分支(结 ...

  9. JS基础-----JS中的分支结构及循环结构

    [分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ...

  10. C#学习笔记11:C#中的顺序结构、分支结构、循环结构

    顺序结构: 代码从Main()函数开始运行,从上到下,一行一行的执行,不漏掉代码. Int a=6; int b=5; int c=a+b; Console.Write(c); 分支结构: 代码有可能 ...

随机推荐

  1. git clone 指定分支/指定commit

    方法一 下载整个branch及历史记录,文件较大,耗时 git clone --depth 1 [git-url] -b [branch-name] git reset --hard [commit- ...

  2. Linux安装证书

    Linux安装 vCenter root CA: 1.访问vCenter管理页面,下载"下载受信任的根 CA 证书" 2.压缩文件内带有数字作为扩展名(.0..1 等)的文件是根证 ...

  3. echarts——横向柱状堆叠图

    var data = { data: [[320], [120], [220], [150]], legend: ['华为', '中兴', '烽火', '瑞斯'], } var option; var ...

  4. R7-1 字符排队

    R7-1 字符排队 分数 15 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 本题要求编写程序,将给定字符串中的字符,按照ASCII码顺序从小到大排序后输出. 输入格式: 输入是一个以回车结 ...

  5. Python 面试题整理

    一.语言特性 1.什么是Python?使用Python有什么好处?Python和其他语言的区别? Python是一种编程语言,它有对象,模块,线程,异常处理和自动内存管理. 好处:开源.简洁.简单.方 ...

  6. TCP 粘包/拆包的原因及解决方法?

    TCP是以流的方式来处理数据,一个完整的数据包可能会被TCP拆分成多个包进行发送,也可能把多个小的包封装成一个大的数据包.由于TCP数据包之间没有边界保护,所以当发生粘包或拆包时,接收端难以从数据流中 ...

  7. c#遍历一个对象的字段信息

    c#遍历对象字段 场景:有一个对象作为导出word段落的数据.每一个字段就代表一个段落,可以对相应段落数据设置样式(字体.颜色.加粗--) 参考文献:(12条消息) C#获取实体类字段信息Proper ...

  8. 关于 verilator 中 config.vlt 等配置文件的使用

    参考网页:https://verilator.org/guide/latest/exe_verilator.html#configuration-files 注意,在使用 config.vlt 配置文 ...

  9. Mysql数据库基础第三章:DML语言

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...

  10. 第四章:基本Git概念(重点)

    本章通过讨论Git的基本架构组成和一些重要概念,来探讨Git的不同之处和原因. 一: 基本概念 1.版本库. 1]Git版本库只是一个简单的数据库,包含所有用来维护与管理项目的修订版本和历史记录. 2 ...