首页 > 技术文章 > web前端学习基础知识3

yuqiuju 2017-10-07 23:18 原文

今天接着给大家讲讲web前端的基础知识。

数据运算案例分析:变量值的复制——讲数据复制到另一个变量中去

            变量的自增或自减——在原有的基础上进行增加或减少

              eg:int a=1;

                     a=a+5------自增

                  a=a-4-------自减

         多个数据的运算——至少2个及以上的数据进行运算

            注意每一步运算的返回类型

              eg:1、int x=1,y=2;

                       x=x+y

                  x=x-1

                              其中:x=x+y与x=x-1可以合并写为——x=x+y-1

        下面再来看几个例子:

              2、int x=1+1.3+2;

                 int x=1+"1"+2;

            你觉得上面写的代码正确吗?为什么?

          答案是不正确。   因为int类型是一个整数,他的返回结果肯定也是int类型的,但是1.3是一个小数,double无法赋值给int,因此不能转换为int类型。同理,"1"是string类型的,也无法直接转换为int类型,所以下面一个代码也是错误的。那么怎么改才正确呢?要么就是把1.3和"1"换成整数,要么就把前面的int分别改为double和string类型的就正确了。

         变量值交换——需要第三个量来实现

                               先来看这一个代码:int x=1,y=2;

                   x=y;

                     y=x;你觉得上面这个代码能实现吗?

              这肯定是不能实现的,因为上面这个代码它所表达的意思就是把2赋值给x,那么现在的x就不再是1,而是2了,再把x=2赋值给y,此时y就是2了,这明显已经改变了原值,是不能实现它想要的效果。如果给上面这个代码新添加一个量z来实现中间过渡,从而达到想要的效果,如下:

                   int x=1,y=2;

                       z=x;

                  x=y;

                  y=z;这样写就正确了。

输入语句:在控制台中获取用户输入的内容

       作用:程序暂停执行,等待用户输入(闪烁光标处)

代码书写:console.Readline();——string类型

返回类型:string类型

    eg:string s=Console.Readline();

      ——将程序暂停,等待输入

      ——输入完成后按回车,获取输入的字符串

      ——将该字符串保留到变量S中

 

类型转换:把某个类型数据通过转换得到另一个类型的数据

    A、任意类型→string

      转换代码:待转换的数据.Tostring();————————[待转换的数据:需要转换的数据或变量;.Tostring();是固定写法]

      返回类型:string

          eg: int a=10;

             string b=a;这是一个错误的代码。为什么呢?

        因为在这个代码中int无法赋值给string。把下面一个代码改为:string b=a.Tostring();就正确了

    B、int与double的相互转换

       原则:取值范围小的数字类型————取值范围大的数字类型(隐式转换:不需要额外代码)

          取值范围大的数字类型————取值范围小的数字类型(显式转换:需要额外的代码)

        隐式转换:double取值范围>int取值范围

        显式转换:eg:double a=3.14;

                 int b=a      错误。

          应该是int b=(int)a   {问题来了,这里的double是小数,而int是整数,难道int b=3.14?    当然不是,因为int类型只能取整,所以在这里int b只能等于3小数部分的数字要舍弃掉,不能对其进行四舍五入。因此,显式转换有可能会造成数据丢失。}

    C、string→数字类型

      string——int:int.parse(待转换的字符串);  返回类型:int

      string——double:double.parse(待转换的字符串);   返回类型:double

        eg:string str1="1",str2="数字1";

          int a=int.parse(str1);——————string→int

                                   double b=double.parse(str2);————string→double

          a=int.parse(str2);——————string→int      X      无法将"数字1"转换成int

          b=double.parse(str2);————string→double          X     无法将"数字1"转换成double

          a=double.parse(str1);————string→double     X    无法将double类型数据赋值给int类型

转义符:在代码中书写一个斜杠(\),用于改变斜杠后出现字符的意义

  常见有:\"→双引号  \'→单引号  \n→换行符  \t→制表符  \\→斜杠\

      eg:string pth="c\windows\iis.log";    X

        string pth="c\\windows\\iis.log";或string pth=@"c\windows\iis.log";  【@:表示在接下来的字符串中不会出现转义符】

 

        console.write("你\n好");→你

                     好

 

        console.writeline("\t你\t好")→        你      好

数字类型使用原则:1、对于计算精确度要求很高的实数,使用decimal

         2、对于内存使用要求苛刻的软件,尽量在保证取值范围的前提下使用占位较少的类型

           3、如果没有上述的要求,整数用int,实数用double

 

代码注释:即使用一些描述语句,让你的代码便于阅读和理解

     注释内容,没有任何实质功能,不参与编译,只存在于源代码中

  书写代码:单行注释——//注释内容

       多行注释——/*注释内容  注释内容*/

       文档注释

    什么时候使用注释?

      代码不易理解、代码非常复杂、代码量大、在团队开发中,会有其他人阅读你的代码

软件中的错误及调试:

  A、编译错误(导致源代码无法通过编译): 发现错误——查看VS中的错误列表——菜单栏视图→选中错误列表

                      解决错误——根据错误提示,做出相应修改

                      错误特点——易发现,易修改

  B、运行错误(在运行中报错):发现错误——在调试模式下运行,并运行到报错的语句

                  解决错误——根据错误提示,做出相应修改

                  错误特点——难发现,难修改

  C、逻辑错误(运行结果和预期不同):发现错误——仔细核对运行结果,看与预期是否一致

                    解决错误——使用VS的断点调试,检查每一步的执行结果

                    错误特点——极难发现,极难修改

运算符的表达式

运算符:即操作符,一个用于运算的符号,作用于一个或多个操作符(操作符:参与运算的数据)

    eg:string a="$"+Z*b/c    //主函数中的某条语句

分类:数量:一元运算符、二元运算符、三元运算符

           功能:算术运算符、逻辑运算符、位运算符、其他

常见小括号():功能:类型转换、改变运算顺序、函数调用

算术运算符:+、-、*、/、%、++、--

    ++:a、变量名++——1、计算返回结果与变量相同;2、将变量值自增1

       b、++变量名——1、计算返回结果,为变量值+1;2、将变量值自增1

    --:a、变量名-- ——1、计算返回结果与变量相同;2、将变量值自减1

      b、--变量名——1、计算返回结果,为变量值-1;2、将变量值自减1

            运算顺序:++、--、→*/%→+-

      eg:int x=1

        计算x=x+x++-x--*++x/--x%x

          得:x=1+1-2*2/1%1=2-0=2

赋值运算符:=、+=、-=、*=、/=、%=

    eg:x+=运算代码等效于x=x+(运算代码)

    返回结果:与变量值相同

逻辑运算符:==、!=、>、>=、<、<=、&&、||、!、

    返回结果:bool类型→true或false         (bool表示真和假两种状态  取值范围:true或false)

      eg:== int a=1,b=2;

          boolc=a==b  →a等于b?→false(同理!=、>、>=、<、<=)

        && 两个bool类型进行运算,运算结果:真真为真,其他为假

          int a=1,b=2;

          bool c=a!=b;  →1不等于2

          bool d=a>b

          bool e=c&&d

              false

        ||  两个bool类型进行运算,运算结果:假假为假,其他为真

          int a=1,b=2;

          bool c=a!=b;  →1不等于2

          bool d=a>b

          bool e=c||d

              true

        ! 对一个bool类型数据求反,数据为真,结果为假;数据为假,结果为真

          int a=1,b=2;

          bool c=a!=b; 

          bool d=!c  →c为真

              false

三目运算符:

    书写:操作数1?操作数2:操作数3  (操作数1为bool类型;符号为英文状态下模式;操作数2、操作数3为任意类型,但必须相同)

    返回结果:若操作数1为真,操作数2则作为返回结果;若操作数为假,操作数3则作为返回结果

      eg:int a=3;

        int b=a%2;  →b=1

        bool c=b==0;  →c   false

        string d=c?"偶数":"奇数";  

        console.writeline(d);  →d为奇数

位运算符:用于对数字进行二进制运算

表达式:一条有意义的语句,并且该语句中至少包含一个操作数和操作符

    每一个表达式,都有一个返回类型

    每个表达式都可以与其他表达式(除了viod-无类型,没有返回结果)进行运算,只要类型符合要求

运算符优先级

  使用多个运算符的常见场景

    赋值运算:永远最后运行

    数学运算:按照数学中的顺序进行(先运行括号,有嵌套则从里到外;再运行乘除求余;最后加减)

 

 

 

 

 

 

 

 

    

推荐阅读