/多行注释,5.类型转换

作者: 编程  发布:2019-11-21

前言:

一、Javascript的注释与分号

1.// 单行注释
2./**/多行注释
3.语句结束使用分号,如果省略,则由解析器确定语句的结尾。

第一章 快速入门

1.字符串的连接

  • 用一个字符串的内容来代替一个变量的操作就是插值(interpolation)。
  • 双引号("")中,变量名称将被变量值所替代;而在单引号('')中,变量名称,或者任何其他文本都会不仅修改而发送给浏览器。

2.变量于文本

  • 变量是表示数据的符号。字符串是数据本身。
  • 第三种制定字符串的方法:heredoc语法(<<<),通过指定一个用来结束字符串的结束标记,Heredoc语法允许指定长字符串。

3.理解标识符

  • 标识符是变量的名称。
  • 标识符可以是任何长度,而且可以由任何字母、数字、下划线组成;
  • 标识符不能以数字开始;
  • 在PHP中,标识符是区分大小写的;
  • 一个变量名称可以与一个函数名称相同;
  • 不能创建一个具有与已有函数同名的函数。

4.PHP的数据类型

  • 特定的内置函数(例如数据库函数)将返回resource类型的变量。它们都代表外部资源(例如数据库连接)
  • 基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须具有作为参数传递给其他函数。

5.类型转换

  • 使用类型转换,可以将一个变量活值转换成另一个类型。
  • 只需在希望进行类型转换的变量之前的圆括号中插入需要转换的临时数据类型即可。
    • $totalqty=0; $totalamount=(float)$totalqty;
    • 解释:取出保存在$totalqty的值,并将其解释成一个浮点类型,并且将其保存在$totalamonut中。

6.声明和使用常量

  • 一个常量可以保存一个值,例如一个变量值,但是常量值一旦被设定后,在脚本的其他地方就不能再更改。
  • 用define函数定义常量。
    • 例如:define('OILPRICE',10);
  • 常量名称都是由大写字母组成的
  • 常量和变量之间的一个重要不同点在于引用一个常量的时候,它前面并没有$符号。
  • 常量可以自己定义,PHP还预定义了许多常量。可以通过后phpinfo()函数来了解。
  • 常量只可以保存布尔值(bool)、整数(int)、浮点数(float)或字符串(string)数据。

7.理解变量的作用域

  • 作用域是指在一个脚本中某个变量可以使用或可见的范围。
    • PHP有6项作用域规则
      • 内置超级全局变量可以在脚本的任何地方使用和可见;
      • 常量,一旦被声明,将可以在全局可见;也就是说,它们可以在函数内外使用;
      • 在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部;
      • 函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致;
      • 在函数内部创建冰杯声明为静态的变量无法再函数外部可见,但是可以在函数的多次执行过程中保持该值;
      • 在函数内部创建的变量对函数来说是本地的,而当函数终止时,该变量也就不存在了。

8.前置递增递减(++$a和- -$a)和后置递增递减运算符($a++和$a- -)

  • 所有递增操作符都有两个功能:
    • 将变量增加1;
    • 增加后的值赋给原变量。
  • ++$a前置递增
    • 运行结果是:首先将变量$a加1,再将加1后的结果复制给原变量$a。
    • $a=4;
      echo ++$a;
      echo $a;
      -屏幕显示为:2 2
  • $a++后置递增
    • 运行结果是$a的值被返回并显示在屏幕上,然后,$a再加1。
      • $a=4;
        echo $a++;
        echo $a;
    • 屏幕显示为:1 2

9.引用操作符(&)

  • 通常来说(既在不使用&符号时),在将一个变量的值(a)赋给另一个变量(b)的时候,先产生原变量的一个副本,然后再将他保存在内存的其他地方。原变量(a)改变时,变量(b)并不跟着一起改变。
    • $a=4;
      $b=$a;
      $a=6;
      echo "a=".$a."<br />b=".$b;
    • 屏幕显示为:

9159.com 1

  • 如果使用了引用操作符&则$b也会跟着$a进行更改。
    • $a=4;
      $b=&$a;
      echo "a=".$a."<br />b=".$b;
    • 屏幕显示为:

9159.com 2

  • 所以引用操作符&就像一个别名,而不是一个指针。$a和$b都指向了内存中相同的地址。
  • 可以通过重置(unset($X))来改变所指向的地址。
    • unset($a);
    • 该重置不会改变$b的值,但是可以破坏$a和值7保存在内存中的连接。
    • 例如:
      • $a=4;
        $b=&$a;
        unset($a);
        echo "a=".$a."<br />b=".$b;
      • 屏幕会显示为:
        ![](https://upload-images.jianshu.io/upload_images/4167376-31b0d8f53fb83256.png)

        -   notice的意思是未定义的变量a在第6行。

10.比较操作符

  • 恒等操作符(===)三个等于号,只有当恒等操作符两边的操作数相等并且具有相同的数据类型,其返回值才为true。

11.操作符优先级

  • 普通的圆括号是优先级最高的操作符。它的作用就是提高圆括号内部操作符的优先级;这样在需要的时候,就可以避开操作符的优先级法则。
    • 可以在一个表达式中使用任意个圆括号,最里层圆括号的表达式将最先计算。
  • 优先级从高到低

9159.com 3

优先级从高到低

12.关于print和echo

  • print语言机构等价于echo语句。这两个结构都将生成输出;
  • print和echo都不是真正的函数,但是都可以用带有参数的函数形式进行调用;
  • print和echo都可以当作一个操作符:只要将要显示的字符串放置在echo或print关键字之后;
  • 以函数形式调用print将使其返回一个值(1);
  • print的速度要比echo慢。

13.关于gettype()和settype()

  • 要使用gettype()函数,必须先给它传递一个变量。它将确定变量的类型并返回一个包含类型名称的字符串;如果变量类型不是标准类型之一,该函数就会返回"unknown type"。

  • 要使用settype()函数,必须先给它传递一个要被改变类型的变量,以及一个包含了上述类型列表中某个类型的字符串。

  • $foo="5bar"; //string
    $bar=true; //bool
    settype($foo,"integer"); //integer
    settype($bar,"string"); //string
    echo gettype($foo)."<br />".gettype($bar);

  • 屏幕显示:

![](https://upload-images.jianshu.io/upload_images/4167376-20e2c2929d29e126.png)

14.PHP的特定类型测试函数

  • is_array():检查变量是否是数组;
  • is_double()、is_float()、is_real():检查变量是否是浮点数;
  • is_long()、is_int()、is_integer():检查变量是否是整数;
  • is_string():检查变量是否是字符型;
  • is_bool():检查变量是否是布尔型;
  • is_object():检查变量是否是一个对象;
  • is_resource():检查变量是否是一个资源;
  • is_null():检查变量是否为null;
  • is_scalar():检查变量是否是标量,即一个整数、布尔值、字符串或浮点数;
  • is_numeric():检查该变量是否是任何类型的数字或数字字符串;
  • is_callable():检查变量是否是有效的函数名称。

15.测试变量状态

  • isset()函数:该函数需要一个变量名称作为参数,如果这个变量存在,则返回true,否则返回false;
    • bool isset(mixed var);[;mixed var[,...]])
  • unset()函数:该函数将销毁一个传进来的变量。
    • void unset(mixed var);[;mixed var[,...]])
      -empty()函数:该函数可以用来检查一个变量是否存在,以及它的值是否为非空或非0,相应的返回值为true或false。
    • bool empty(mixed var);

16.while循环

  • while循环语句只要其条件为真,就会不断重复执行代码块。
  • 当不知道所需的重复次数时,可以使用while循环语句。如果要求一个固定次数的重复,可以考虑使用for循环语句。

17.for循环

  • while循环和for循环是等价的,区别只是在于for循环更加紧凑。
  • foreach循环语句是专门用于数组的使用。

18.do...while循环

  • do....whild循环与while循环不同,因为它的测试条件放在整个语句块的最后;也就意味着do....while循环中的语句或语句块至少会执行一次。

19.关于跳出

  • 如果希望终止一个循环,可以使用break语句。使用了break语句后,脚本就会从循环体后面的第一条语句处开始执行。
  • 如果希望跳到下一次循环,可以使用continue语句。
  • 如果希望结束整个PHP脚本的执行,可以使用exit语句。

这个笔记是我个人总结,主要是熟练自己查看《Visual C# 从入门到精通》(第8版)这本书时,懵然起总结的想法,只是总结一些知识点,在工作项目会用得上,但是对毫无C#语言基础的,不大适合,因为里面会结合我自己的一些看法,估计需要一些基础才能看明白,如果需要一门入门级书籍还是要去购买《Visual C# 从入门到精通》(第8版)PDF版或者纸质版去一步步跟着书籍去练习操作。

二、Javascript的语法

一切变量,函数名和操作符都区分大小写。

——清风一人醉

三、Javascript的标识符

1.标识符:变量,函数,属性的名字,或者函数的参数。
2.标识符的命名规则:
(1)由字母、数字、下划线_或美元符号$组成。
(2)不能以数字开头。
(3)不能使用关键字、保留字等作为标识符。

第I部分 Visual C#和Visual Studio 2015 概述

四、变量

Javascript的变量是松散类型,可以用来保存任何类型的数据。换句话说,每个变量仅仅是一个用于保存值得占位符而已。

第1章 使用变量、操作符和表达式

五、变量的声明与赋值

1、变量的声明:变量的声明要使用var操作符
语法:var 变量名
2、变量赋值:
(1)生命的同时赋值:var 变量名=值
(2)先声明后赋值:变量名=值
(3)一次声明多个变量,用逗号隔开,如:var id,sex,age,name="marry";
说明:
1.省略var声明的变量是全局变量
2.不推荐省略var操作符来定义全局变量

1.1 理解语句、标识符和关键字

语句是执行操作的命令,如计算值,存储结果,或者向用户显示消息。

 

C#语句遵循良好定义的规则集,而这些规则描述语句的格式和构成,称为语法

 

描述语句做什么的规范称为语义

 

*划重点 C#9159.com ,语句语法规则:**所有语句都必须以分号终止。**

 

标识符是对程序中的各个元素(命名空间、类、方法和变量)进行标识的名称。

 

*划重点 C#选择标识符语法规则:

  • 只能使用字母(大写和小写)、数字和下划线
  • 标识符必须以字母或下划线开头(如result,_name)

 

C#语言保留77个标识符供使用,这些标识符称为关键字,每个关键字有特定含义。如class,namespace,using等。(其它关键字想要了解,可百度一下。)

 

六、Javascript的数据类型

5种简单数据类型(基本数据类型):Undefind,Null,Boolean,Number,String
1种复杂的数据类型:Object

1.2 使用变量存储信息

变量是容纳值的一个存储位置。在使用变量的时候要对它进行命名。例如 int count;

 

*划重点 命名变量规则:

  • 不要以下划线开头。虽然在C#中合法,但限制了和其它语言(如Visual Basic)的代码的互操作性。
  • 不要创建仅大小写不同的标识符。例如同时使用myVariable和MyVariable变量,它们易混淆。在Visual Basic这样不区分大小写的语言中,类的重用性也会受限。
  •  名称以小写字母开头。
  •  在包含多个单词的标识符中,从第二个单词起,每个单词都首字母大写(这种写法是驼峰式)例如camelCase。

 

typeof

1.语法:typeof 变量或typeof(变量)
2.功能:检测变量类型
3.返回值:string类型,即有可能为undefind,boolean,number,string,object,function

1.3 使用基元数据类型

数据类型

描述

大小(位)

示例

int

整数

32

int count;

count =42;

long

整数(更大范围)

64

long wait;

wait =42L;

float

浮点数

32

float away;

away=0.42F;

double

双精度(更精确)浮点数

64

double trouble;

trouble =0.42;

decimal

货币值(具有比double更高的精度和更小的范围)

128

decimal coin;

coin =0.42M;

string

字符序列

每字符16位

string vest;

vest =“text”;

char

单字符

16

char text;

Text=‘x’;

bool

布尔值

8

bool teeth;

teeth=true;

 

注意:

L:表示long

F:表示float

M:表示decimal

 

undefined

1.undefined类型只有一个值,即特殊的undefined.
2.说明:一般而言,不存在需要显示的把一个变量设置为undefined的情况。

1.4 使用算术操作符

加号(+)、减号(-)、星号(*)、正斜杠(/)、百分号(%)分别执行加、减、乘、除、取模。它们成为操作符运算符,对值进行“操作”或“运算”来生成新值。在C#中,乘法类操作符(*,/和%)的优先级高于加法类操作符(+和-)。

 

注意:

操作符并不是适合所有数据类型,可使用任何算术操作符的数据类型char,int,long,float,double或decimal。

 

小知识点:字符串插值:开头的$符号表明这是插值字符串,{和}之间的任何表达式都需求值并置换。没有前置的$符号,字符串{“world”}将按字面处理。

我们通常在连接字符串习惯在中间用+连接,比如:

string text=“hello”+“world”;

 

字符串插值则允许改用以下语法:

string text=$”hello{“world”}”;

 

优点:字符串插值比+操作符高效的多。由于.NET Framework处理字符串的方式,用+来连接字符串可能消耗大量内存。字符串插值还更具可读性和减少犯错机会。

(技术无绝对,根据各人喜好用什么写法都可。)

 

null

1.null值表示一个空对象指针
2.如果定义的变量准备在将来用于保护对象,那么最好将变量初始化为null而不是其他值。
3.说明:undefined值是派生自null值的,所以undefined==null的返回结果是ture。

1.5 变量递增递减

递增(++)和递减(--)是一元操作符,即只有一个操作数。它们具有相同的优先级和左结合性。递增和递减操作符与众不同之处在于,它们既可以放在变量前,也可以放在变量后。在变量前使用,称为这个操作符的前缀形式;在变量之后使用,则称为这个操作符的后缀形式。例如:

count++;//后缀递增

++count;//前缀递增

count--;//后缀递减

--count;//前缀递减

 

count++返回递增前的count值,而++count返回递增后的count值。

 

Number

1.Number:表示整数和浮点数
2.NaN:即非数值(NaN a Number)是一个特殊的数值。
3.说明:
(1)任何涉及NaN的操作(例如NaN/10)都会返回NaN。
(2)NaN与任何值都不相等,包括NaN本身。

1.6 声明隐式类型的局部变量

var myVariable=99;

var myOtherVariable=“hello”;

以上俩个变量myVariable和myOtherVariable称为隐式类型变量。var 关键字告诉编译器根据用于变量的初始化表达式判断变量类型。在以上例子中myVariable是int类型,而myOtherVariable是string类型。

 

注意:var只是在声明变量时提供一些方便。但变量一经声明,就只能编译器推断的那种类型的值赋给它。例如,不能再将float,double,string值赋给myVariable。

 

特别注意:只有提供表达式来初始化变量,才能使用关键字var。

以下声明会导致编译错误:

var test;//错误-编译器不能推断类型

·isNaN

1.语法:isNaN(n)
2.功能:检测n是否是“非数值”
3.返回值:boolean
3.参数:参数n可以是任何类型
4.说明:isNaN()在接收到一个值之后,会尝试将这个值转化为数值。某些不是数值的值会直接转化为数值。

数制转换

有3个函数可以把非数值转换为数值:Number()、parseFloat()、parseInt()。其中Number()可以用于任何数据类型,而parseInt()和parseFloat()则专用于把字符串转换成数值。

parseInt()

1.parseInt():会忽略字符串前面的空格,直到找到第一个非空格字符。
2.说明:
(1)parseInt():转换空字符串返回NaN 。
(2)parseInt()这个函数提供第二个参数:转换时使用的基数。(即多少进制)

parseFloat()

1.parseFloat():从第一个字符开始解析每个字符,直至遇见一个无效的浮点数字符为止
2.说明:除了第一个小数点有效外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。

String

String类型用于表示有零或多个Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示。

toString()与String()

1.语法:str.toString()
2.功能:将str转换为字符串
3.返回值:str的一个副本
4.参数:str是要转换的内容,可以是数值、布尔值、对象和字符串。
5.说明:在不知道要转换的值是不是null或undefind的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。

Boolean

1.用于表示真假的类型,即true表示真,false表示假。
2.类型转换
(1)除0之外的所有数字,转换为布尔型都为true
(2)除" "之外的所有字符,转换为布尔型都为true
(3)null和undefind转换为布尔型为false

七、JavaScript操作符

表达式

1.将同类型的数据(如常量、变量、函数等)用运算符号按一定的规则连接起来的、有意义的式子称为表达式。

操作符的分类

算数操作符

+,-,*,/,%
1.递增
++a与a++都是对a进行递增操作
区别:
(1)++a先返回递增之后的a的值
(2)a++先返回a的原值,再返回递增之后的值
2.递减同理

逻辑操作符

1.&&:与
&&与(只要有一个条件不成立,返回false)
说明:再有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时它遵循下列规则:
(1)如果第一个操作数隐式类型转换后为ture,则返回第二个操作数
(2)如果第一个操作数隐式类型转换后为false,则返回如果第一个操作数
(3)如果第一个操作数是null,则返回null
(4)如果第一个操作数是NaN,则返回NaN
(5)如果第一个操作数是undefind,则返回undefind
2.||:或
||或(只要有一个条件成立,返回ture)
说明:在有一个操作数不是布尔值的情况下,逻辑与操作就不一定返回值,此时它遵循下列规则:
(1)如果第一个操作数隐式类型转换后为ture,则返回第一个操作数
(2)如果第一个操作数隐式类型转换后为false,则返回如果第二个操作数
(3)如果两操作数是null,则返回null
(4)如果两个操作数是NaN,则返回NaN
(5)如果两个操作数是undefind,则返回undefind
3.!:非
说明:
(1)无论操作数是什么数据类型,逻辑非都会返回一个布尔值
(2)!!同时使用两个逻辑非操作符时: 第一个逻辑非操作会基于无论什么操作数返回一个布尔值,第二个逻辑非则对该布尔值求反。

赋值操作符

1.简单赋值:=
2.符合赋值:+=、-=、*=、/=、%=

比较操作符

1.>、<、>=、<=、==、===、!=、!==
2.==:相等,只比较值是否相等
3.===:相等,比较值的同时比较数据类型是否相等
4.!=:不相等,只比较值是否不相等
5.!==:不相等,比较值的同时比较数据类型是否不相等
注:返回值:boolean型

三元操作符

1.语法:条件?执行代码1:执行代码2
2.说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

本文由9159.com发布于编程,转载请注明出处:/多行注释,5.类型转换

关键词:

上一篇:没有了
下一篇:没有了