第2天:JavaScript基础(运算符、案例、循环、冒泡以及prompt提示输入框)

 

一元运算在前在后的区别

      加加

    var num1 = 10;
    //++在后面 先参与运算 再自加1
    var sum1 = num1++ +10;
    console.log("sum1的值:"+sum1);//20
    console.log("num1的值:"+num1);//11

var num2 = 10;
var sum2 = ++num2 + 10;
//++在前面 先自身加1 再参与运算
console.log("sum2的值:"+sum2)//21
  console.log("num2的值:"+num2)//11

减减

var num1 = 10;
    //--在后面 先参与运算 再自减1 
    var sum1 = num1-- +10;
    console.log("sum1的值:"+sum1);//20
    console.log("num1的值:"+num1);//9
    var num2 = 10;
    //--在前面 先减1 再参与运算
    var sum2 = --num2 + 10;
    console.log("sum2的值:"+sum2);//19
    console.log("num2的值"+num2);//9

判断是否闰年

 //普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);
//世纪闰年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年);
   var year = 2000;
    if(year%4==0&&year%100!=0||year%400==0){
        console.log("闰年")
    }
    else{
        console.log("平年")
    }

计算利率

  //存入银行本金10000,年利率是千分之三,
    //将本金和利息相加做新的本金,计算5年后
    //获得的本金是多少
    var money = 10000;//本金
    var rate =0.003//千分之三
    for(var i=0;i<5;i++){
        //money=money+money*rate;
        money+=money*rate;
    }
    //parseInt()取整
    console.log(parseInt(money

斐波那契数列

  // 有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了
    // 一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一
    // 对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。
    // 假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)
    // 能繁殖成多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21)

    var numM1 = 1;//第一个月
    var numM2 = 1;//第二个月
    var sumM1 = 0;//第三个月
    for(var i=3;i<=12;i++){
        sumM1=numM1+numM2;//第三个月的
        numM1=numM2;//第二个月的等于numM2
        numM2=sumM1;//第三个月的等于sumM1
        //....以此类推
    }
    console.log(sumM1)//144
break关键字:如果在循环中使用,遇到break,则跳出当前所在循环
  //找出100~200之间第一个能被7整除的数,结束循环
    for(var i=100;i<=200;i++){
        if(i%7==0){
            console.log("找了是哪个数"+i)
            break;//退出循环
        }
    }
continue:在循环中如果遇到continue关键字,直接开始下一次循环
//求200-300之间所有的奇数的和(用continue)
    var sum=0;
    var i=200;
    while(i<=300){
        //如果被2整除的数
        if(i%2==0){
            //自身加1,continue执行下一次循环
            i++;
            continue;
        }
        sum+=i;
        i++;
    }
    console.log(sum);//12500
求整数1~100的累加值,但要求跳过所有个位为3的数
 var sum=0;
   var i=1;
   while(i<=100){
       //如果个位数为3的跳过
       if(i%10==3){
           i++;
           continue;
       }
       sum+=i;
       i++;
   }
   console.log(sum)//4570
   console.log(13%10==3)//true
求一组数组的最大值和总和以及平均值
 
 var arr=[10,20,30,40,50];
    var sum=0;
    //求总和
    for(var i=0;i<arr.length;i++){
        sum+=arr[i]
    }
    console.log(sum);//150
    console.log(sum/arr.length)//30
    //求最大值
    var max=arr[0];
    for(var i=0;i<arr.length;i++){
        if(max<arr[i]){
            max=arr[i]
        }
    }
    console.log(max)//50

 求最小值

    //求最小值
    var myArray = new Array();
    myArray = [10,20,30,40,50,60,70,80,90,100];
    //预设数组中某值为最大值
    var maxNum =myArray[0];
    //循环遍历
    for(var i=0;i<myArray.length;i++){
        //判断
        if(maxNum>myArray[i]){
            maxNum=myArray[i]
        }
    }
    console.log(maxNum)//10

倒序遍历

 //倒序遍历
    var myArray =[10,20,30,40,50,60,70,80,90,100];
    for(var i=myArray.length-1;i>=0;i--){
        console.log(myArray[i]);
    }
//100,90,80,70,60,50,40,30,20,10

把数组的每个元素用|拼接到一起

//把数组中的每个元素用|拼接到一起
    var names = ["卡卡西","黑崎一护","凤姐","数组","马丁路德金"]
    var str="";
    for(var i=0;i<names.length-1;i++){
      str+= names[i]+"|"
    }
    console.log(str+names[names.length-1]);
    //卡卡西|黑崎一护|凤姐|数组|马丁路德金
去掉数组中重复的0,把其他的数据放在一个新的数组中
//去掉数组中重复的0,把其他的数据放在一个新的数组中
    var arr= [10,0,20,0,30,0,50];
    var newArr=[];//创建新的数组存储所有非0的数字
    for(var i=0;i<arr.length;i++){
        if(arr[i]!=0){
            //newArr索引为0 数字放入 长度改变
            newArr[newArr.length]=arr[i];
        }
    }
    //把新数组的长度作为下标使用,数组的长度是可以改变的
    console.log(newArr)//(4) [10, 20, 30, 50]
反转数组--把数组中的数据的位置调换
//反转数组--把数组中的数据的位置调换
    var arr=[10,20,30,40,50,60,70];
    //循环的目的是控制交换的次数
    for(var i=0;i<arr.length/2;i++){
        //先把第一个元素的值放在第三方变量中
        var temp=arr[i];
        //将第一个元素和最后一个数交换
        arr[i]=arr[arr.length-1-i];
        arr[arr.length-1-i]=temp;
    }
    console.log(arr)

var myArray = [20,30,40,50,60,70,80,90,100,110,120,130,140,150,160];
//控制交换的次数
for(var i=0;i<myArray.length/2;i++){
//将第一个元素的值放在第三方变量
var tem = myArray[i];
//将数组最后一个元素的值赋给第一个元素
myArray[i]=myArray[myArray.length-1-i];
//将第三方变量的值赋给数组最后一个元素
//完成交换
myArray[myArray.length-1-i]=tem;
}
console.log(myArray);
 
提示用户输入班级人数,求总成绩,平均值,最高分,最低分
 
//prompt("弹出一个输入框 ")
    var perCount = parseInt(prompt("请输入班级人数"));
    var perArray=[];
    for(var i=0;i<perCount;i++){
        perArray[perArray.length]=parseInt(prompt("请输入第"+(i+1)+"个人的成绩"))

    }
    console.log(perArray)
    var str=0;
    for(var i=0;i<perArray.length;i++){
        str+=perArray[i];
    }
    console.log("总成绩:"+str);
    console.log("平均成绩为:"+str/perCount)
    var avg=perArray[0]
    for(var i=0;i<perCount;i++){
        //判断大于则赋值
        if(avg<perArray[i]){
            avg=perArray[i];
        }
    }
    console.log("最高分:"+avg)

    var avg2=perArray[0]
    for(var i=0;i<perCount;i++){
        //判断小于则赋值
        if(avg2>perArray[i]){
            avg2=perArray[i];
        }
    }
    console.log("最低分:"+avg2)

冒泡排序

//冒泡排序 树有数据按照一定的顺序进行排列(从小到大,从大到下)
    var arr=[100,10,0,50,60,40,90];
    //控制比较的轮数
    for(var i=0;i<arr.length-1;i++){
        //控制每一轮对比的次数
        for(var j=0; j<arr.length-1-i;j++){
            //如果前者大于后者的就往后面排
            if(arr[j]>arr[j+1]){
                //交换变量
                tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
            }
        }
    }
    console.log(arr)//(7) [0, 10, 40, 50, 60, 90, 100]

 第二天有点久啊 -_-

posted @ 2018-12-27 11:26  傻狍子  阅读(555)  评论(0编辑  收藏  举报