(三).JavaScript的分支结构和循环结构
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的分支结构和循环结构的更多相关文章
- Chrome弹窗的简单应用(选择结构与循环结构)
★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ...
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...
- Java程序流程控制:判断结构、选择结构、循环结构
本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...
- 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)
选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...
- 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述
039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...
- java顺序结构、循环结构、选择结构
java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- java第三课:分支结构、循环结构
分支结构 1.if后面可以不加{},但是不建议,容易产生误解2.写程序的时候先防屌丝测试,再写逻辑,否则会出错3.if:一条分支 if else:两条分支 if...else if...:多条分支(结 ...
- JS基础-----JS中的分支结构及循环结构
[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语 ...
- C#学习笔记11:C#中的顺序结构、分支结构、循环结构
顺序结构: 代码从Main()函数开始运行,从上到下,一行一行的执行,不漏掉代码. Int a=6; int b=5; int c=a+b; Console.Write(c); 分支结构: 代码有可能 ...
随机推荐
- CentOS7 minimal 安装 VMware Tools(自带脚本安装)
1.安装相关组件 yum -y install perl gcc make kernel-headers kernel-devel net-tools 2.新建挂载目录 mkdir -p /mnt/c ...
- TP5 事务处理加锁
首先,数据库类型要是InnoDB,其次,加锁必须跟事务同时使用,还有,查询的时候都必须带锁,比如: db('sms')->lock(true)->where(['id'=>1])-& ...
- 解决Ubuntu下的的“system program problem detected”问题
解决Ubuntu下的的"system program problem detected"问题 1.删除crash文件 sudo rm /var/crash/*2.关闭pop up功 ...
- java技术系列(一) Enum
Enum的本质是类,继承自Enum类. enum直接使用==进行比较就可以. 类型的静态values方法,返回左右的枚举实例. ordinal方法返回enum声明中枚举常亮的位置. enum可以继承接 ...
- 解决GitHub网页githubusercontent地址无法访问问题
问题 解决GitHub网页githubusercontent地址无法访问问题 解决方法: 参考链接:https://zhuanlan.zhihu.com/p/107691233 注意 安装有火绒的,可 ...
- 2019-2020-1 20199318《Linux内核原理与分析》第九周作业
第8章 进程的切换和系统的一般执行过程 一.学习总结 Linux系统的一般执行过程: 最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程. (1)正在运行的用户态进程X; (2)发生中断 ...
- 1.1 WCF SOA架构和webservice
1.什么是SOA? SOA全称:面向服务架构(service Oriented Architecture),它是一种组件架构模式. 一.定义 1.WebService:严格来说是行业标准,不是技术,使 ...
- rhel8.0配置本地 yum 源
1.首先挂载cdromcat >> /etc/fstab <<EOF/dev/sr0 /media iso9660 ...
- Linux环境下将.net6项目部署到docker
1.创建一个ASP.NET Core Web应用(MVC) 注意点:建议不用勾选单选框"启用Docker(E)",因为勾选后,涉及到Docker-Desktop的安装,可能会引起本 ...
- Django+VUE.js实现图片上传
vue里的代码 <template> <div> 添加商品<input v-model="name"><br> 价格<inpu ...