前端学习日记js2:运算符-条件-循环结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //内嵌式一般写于head的title标签下面

        //弱数据类型语言:(javascript等)
        // 1.变量可以存放任意数据类型的数据(var 变量名)
        // 2.运算时会进行隐式转换

        //强数据类型语言:(java,c等)
        // 1.定义不同数据类型的数据必须用特定的关键词

        //编程代码组成:
        // 1.表达式:有运算结果的式子
        // 2.语句:结尾带分号,语句可包含表达式

        //1.算术运算符:+,-,*,/,%(取余/取模)
        //1.1+:数值相加,字符相连
        // var num = prompt("请输入一个数字", 60);//参数一般为string,数值不符合该函数规范
        // var num1 = prompt("请输入一个数字", "10");
        // var num2=Number(prompt("请输入一个数字","60"));
        //+相当于调用Number()
        // var num3=+prompt("请输入一个数字","60");
        // console.log(num);
        // console.log(num1);
        // console.log(num2);
        // console.log(num3);


        //2.比较运算符:
        // 2.1会隐式转换(只判断内容/数值):>,<,>=,<=,==,!=;
        // 2.2不会隐式转换(判断1.数据类型和2.内容/数值):===,!==
        // console.log(1=="a");//false
        // console.log(1=="1");//true

        // console.log(1==="a");//false
        // console.log(1==="1");//false


        //3.赋值运算符:=,+=,-=,*=,/=,%=
        // var num=1,ber=3;
        // num+=1;//num=num+1;
        // ber-=2;//ber=ber-2;
        // console.log(num);//num=1+1=2
        // console.log(ber);//ber=3-2=1


        //4.一元运算符(自增/自减运算符):++,--
        // 4.1符号在后:先赋值后运算
        // var num=1,ber=num++;
        // console.log(ber);//ber=num=1;num++=num+1=1+1=2;

        // 4.2符号在前:先运算后赋值
        // var num=1,ber=--num;
        // console.log(ber);//--num=num-1=1-1=0;ber=num=0
        // var num = 10, result = num++ + ++num;//result=10 + 12(11+1)=22
        // console.log(num, result);//12 22


        //5.逻辑运算符:&&与,||或,!非(结果为true/false)
        // 且:一假则假。
        // 如果数据1为假,数据1就是最终结果。     
        // 如果数据1为真,数据2就是最终结果

        //或
        // 数据1 || 数据2 1>0 || 2<1 true || false true
        // 或:一真则真。
        // 如果数据1为真,数据1就是计算结果。     
        // 如果数据1为假,数据2才是计算结果

        // 非 - 取反
        // !逻辑非的运算,最终的结果一定是布尔类型
        // !!false == true
        // 运算过程:
        // 1.如果数据类型是布尔类型,直接取反
        // 2.如果数据类型不是布尔类型,先把数据隐式转换成布尔类型,再取反。 
        // 非的运算结果,肯定是布尔类型。
        // 逻辑运算符也可以用来进行数值运算
        // var num=2,ber=0;
        // console.log(num && ber);//0
        // console.log(ber && num);//0
        // console.log(!num && ber);//false

        //逻辑运算符
        // console.log(num || ber);//2
        // console.log(num || !ber);//2

        // console.log(true && false);//false
        // console.log(true || false);//true

        // console.log(1>0 || 0>1);//true
        // console.log(!1);//false
        // console.log(2*4>9 && 3/1<0);//false

        // var year=2019;
        // var a=(year % 4===0) && ( year % 400!==0)||(year % 100!==0);
        // console.log((year % 4===0));//f
        // console.log(( year % 400!==0));//t
        // console.log((year % 4===0) && ( year % 400!==0));//f
        // console.log((year % 100!==0));//t
        // console.log((year % 4===0) && ( year % 400!==0)||(year % 100===0));//t
        // console.log(a);//t

        // 1. ()  括号优先级最高 
        // 2. 一元运算符 ++,--,! 
        // 3. 算数运算符 先*/%后+‐ 
        // 4. 关系运算符 > >= < <=
        // 5. 相等运算符 ==,!=,===,!== 
        // 6. 逻辑运算符 先 && 后|| 
        // 7. 赋值运算符 = 

        //分支结构解决问题:分情况处理,比较判断。
        //if结构:
        // 1.if(){}
        // 2.if(){}else{}
        // 3.if(){}else if(){}...else{}
        // var str="1";
        // // if(str===1 || str==="1"){
        // if(str==1){
        //     console.log("ok");
        // }else{
        //     console.log("?");
        // }

        //练习:
        //1.if-else结构判断年龄是否大于18
        // var str=prompt("请输入年龄");
        // if(+str>18){
        //     alert("可以谈恋爱");
        // }else{
        //     alert("好好学习,多敲代码");
        // }

        //2.if-else结构判断两个数字的最大值
        // var num1=prompt("请输入第一个数字");
        // var num2=prompt("请输入第二个数字");
        // if(num1>num2){
        //     alert("最大值:"+num1);
        // }else{
        //     alert("最大值:"+num2);
        // }

        //3.if-else结构判断奇偶数
        // var num=prompt("请输入一个数字");
        // if(num % 2 == 0){
        //     alert("这是一个偶数");
        // }else{
        //     alert("这是一个奇数");
        // }

        //4.if-else结构求三个数字的最大值
        //1.
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // if(num1 >= num2 && num1 >= num3){
        //     alert("最大值:"+num1);
        // }else if(num2 >= num1 && num2 >= num3){
        //     alert("最大值:"+num2);
        // }else if(num3 >= num2 && num3 >= num1){
        //     alert("最大值:"+num3);
        // }else{
        //     alert("请输入数字!");
        // }


        //2.
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // if (num1 >= num2) {
        //     if (num1 >= num3) {
        //         alert("最大值:" + num1);
        //     } else {
        //         alert("最大值:" + num3);
        //     }
        // } else if (num2 >= num3) {
        //     alert("最大值:" + num2);
        // } else{
        //     alert("最大值:" + num3);
        // }

        //3.
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // var max=0;
        // if(num1 >= num2 ){
        //     max=num1;
        // }else{
        //     max=num1;
        // }
        // if(max >= num3 ){
        //    alert("最大值:" + max);
        // }else{
        //     alert("最大值:" + num3);
        // }

        //4.
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // if (num1 >= num2) {
        //     if (num1 >= num3) {
        //         alert("最大值:" + num1);
        //     } else {
        //         alert("最大值:" + num3);
        //     }
        // } else {
        //     if (num2 >= num3) {
        //         alert("最大值:" + num2);
        //     } else {
        //         alert("最大值:" + num3);
        //     }
        // }

        //5.
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // if(num1 >= num2 ){
        //     num2=num1;
        // }else{
        //     num1=num2;
        // }
        // if(num1 >= num3 ){
        //    alert("最大值:" + num1);
        // }else{
        //     alert("最大值:" + num3);
        // }


        //if-else结构:
        // var num = +prompt("请输入一个数字");
        // if (num >= 0 && num < 60) {
        //     alert("不及格");
        // } else if (num >= 90 && num <= 100) {
        //     alert("优秀");
        // } else if (num >= 80 && num < 90) {
        //     alert("良好");
        // } else if (num >= 60 && num < 80) {
        //     alert("及格");
        // } else {
        //     alert("格式不正确,请输入0-100之间的数字");
        // }
        // var num1 = +prompt("请输入第一个数字");
        // var num2 = +prompt("请输入第二个数字");
        // var num3 = +prompt("请输入第三个数字");
        // var max=0;
        // if(num1 >= num2 ){
        //     max=num1;
        // }else{
        //     max=num1;
        // }
        // if(max >= num3 ){
        //    alert("最大值:" + max);
        // }else{
        //     alert("最大值:" + num3);
        // }

        //switch-case结构:
        //1.swtich(true){
        //  case 表达式1:
        //  。。。
        //  break;//跳出判断
        //  case 表达式2:
        //  。。。
        //  break;
        //  。。。
        //  default ://default是指除了所有的case外的情况下
        //  。。。
        //  break;
        // }

        //2.swtich(变量/表达式){
        //  case 变量值1/表达式1:
        //  。。。
        //  break;
        //  case 变量值2/表达式2:
        //  。。。
        //  break;
        //  。。。
        //  default :
        //  。。。
        //  break;
        // }
        // var num = +prompt("请输入一个数字");
        // switch (true) {
        //     case num >= 90 && num <= 100 :
        //         alert("优秀");
        //         break;
        //     case num >= 80 && num < 90 :
        //         alert("良好");
        //         break;
        //     case num >= 60 && num < 80 :
        //         alert("及格");
        //         break;
        //     case num >= 0 && num < 60 :
        //         alert("不及格");
        //         break;
        //     default :
        //         alert("格式不正确,请输入0-100之间的数字");
        //         break;
        // }
        // var num = +prompt("请输入一个数字");
        // switch (true) {
        //     case num >= 90 && num <= 100 :
        //         alert("优秀");
        //         break;
        //     case num >= 80 && num < 90 :
        //         alert("良好");
        //         break;
        //     case num >= 60 && num < 80 :
        //         alert("及格");
        //         break;
        //     case num >= 0 && num < 60 :
        //         alert("不及格");
        //         break;
        //     default :
        //         alert("格式不正确,请输入0-100之间的数字");
        //         break;
        // }

        //3.三元表达式
        //a ? b : c
        //a为true执行b
        //a为false执行c

        //判断三数最大值
        // var num1,num2,num3;
        // console.log((num1>num2 ? num1 : num2) > num3 ? (num1>num2 ? num1 : num2) : num3);


        //循环-三要素:
        //1.起点
        //2.终点
        //3.计数器
        //①循环初值/起点:循环从什么时候开始
        //②循环控制条件表达式:满足什么条件要循环
        //③循环体:每次循环要做什么

        //1.while(条件){循环体}//先判断条件再执行循环体
        // var x = 2;
        // while (x < 2) {
        //     console.log(x);
        //     x++;
        // }

        //1.do{循环体}while(条件)//先执行一次循环体再判断条件
        // var x = 1;
        // do {
        //     console.log(x);
        //     x++;
        // } while (x < 1)

        //练习
        //1.输出10次我想玩游戏了
        // var x = 1;
        // while (x<=10){
        //     console.log("我想玩游戏了");
        //     x++;
        // }

        //2.计算1-100所有整数的和
        // var x = 1,sum1=0;
        // while (x<=100){
        //     sum1+=x;
        //     x++;
        // }
        // console.log(sum1);

        //3.求6的阶乘
        // var x = 1,sum2=1;
        // while (x<=6){
        //     sum2*=x;
        //     x++;
        // }
        // console.log(sum2);

        //4.求1-100之间的偶数和
        // var x = 0,sum3=0;
        // while (x<=100){
        //     sum3+=x;
        //     x+=2;
        // }
        // console.log(sum3);

        //5.求1-100之间的奇数和
        //1.
        // var x = 1,sum4=0;
        // while (x<=100){
        //     sum4+=x;
        //     x+=2;
        // }
        // console.log(sum4);
        //2.
        // console.log(sum1-sum3);

        //6.求1-100间能被7整除的数
        // var x = 7;
        // while (x<=100){
        //     console.log(x);
        //     x+=7;
        // }


        //for循环
        // for(初值/起点;条件;计时器){循环体}
        // 顺序:for(1;2/5/8/。。;4/7/10/。。){3/6/9/。。}
        // for(var i=1;i<=10;i++){
        //     console.log(i);
        // }
        //1.五角星方阵:五排★,每排五个★
        //★★★★★
        //★★★★★
        //★★★★★
        //★★★★★
        //★★★★★
        // for (var i = 1; i <= 5; i++) {
        //     for (var j = 1; j <= 5; j++) {
        //         document.write("★");
        //     }
        //     document.write("<br/>");
        // }
        //
        // document.write("<br/>");

        //2.正三角形
        //★
        //★★
        //★★★
        //★★★★
        //★★★★★
        // for (var i = 1; i <= 5; i++) {
        //     for (var j = 1; j <= i; j++) {
        //         document.write("★");
        //     }
        //     document.write("<br/>");
        // }
        //
        // document.write("<br/>");

        //3.倒三角形
        //★★★★★
        //★★★★
        //★★★
        //★★
        //★
        // for (var i = 5; i >= 1; i--) {
        //     for (var j = 1; j <= i; j++) {
        //         document.write("★");
        //     }
        //     document.write("<br/>");
        // }
        //
        // document.write("<br/>");

        //4.等腰三角形
        //    ★
        //   ★★
        //  ★★★
        // ★★★★
        //★★★★★
        // for (var i = 1; i <= 5; i++) {
        //     for (var b = 4; b >= i; b--) {
        //         document.write("&nbsp; ");
        //     }
        //     for (var j = 1; j <= i; j++) {
        //         document.write("★ ");
        //     }
        //     document.write("<br/>");
        // }
        //
        // document.write("<br/>");


        //break作用是:中断循环,循环结束。
        // 1 ‐ 6层的电梯,123楼都有人按,后面没人按,电梯停止即可 
        // for (var i = 1; i <= 6; i++) {
        //     console.log(i);
        //     if (i === 3) {
        //         // 电梯如果到达三楼,不需要继续运行
        //         break;
        //     }
        // }

        //continue:继续循环;continue 后面的所有代码不执行了,直接进入下一次循环。
        // for (var i = 1; i <= 6; i++) {
        //     if (i === 3) {
        //         // 继续循环,continue 后面的代码不会执行,直接进入下一次循环             
        //         continue;
        //     }
        //     console.log(i);
        // }
        //1.计算1-100间除外能被4整除的数之后,余下的数的总和
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 4 === 0) {
                continue;
            }
            sum += i;
        }
        console.log(sum);

        //2.输出1-50间5的倍数
        for (var i = 1; i <= 50; i++) {
            if (i % 5 !== 0) {
                continue;
            }
            console.log(i);
        }

        //3.判断用户输入的是否为"q"或"Q",如果是,推出弹框,否则一直弹框
        // var key = prompt("输入q,不然你会很蓝瘦!");
        // while (true) {
        //     if (key === "q" || key === "Q") {
        //         break;
        //     }else{
        //         key = prompt("都叫你输入q的啦,就是不听话!");
        //     }
        // }
        while (true) {
            var key = prompt("输入q,不然你会很蓝瘦!");
            if (key === "q" || key === "Q") {
                break;
            }
        }


        //无限循环/死循环:
        //1.for的无限循环:
        // for(;;){}
        for(;;){
            var key = prompt("输入q,不然你会很蓝瘦!");
            if (key === "q" || key === "Q") {
                break;
            }
        }

        //2.while的无限循环:
        // //while (true) {}
        while (true) {
            var key = prompt("输入q,不然你会很蓝瘦!");
            if (key === "q" || key === "Q") {
                break;
            }
        }
    </script>

</head>

<body>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值