您的位置:首页 > 职场人生

黑马程序员--Java基础语法之关键字、常量、变量、运算符

2015-03-09 15:06 716 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1[b]、关键字[/b]

        定义:被Java赋予了特殊含义的单词。 特点:体现上都是英文小写。

使用频率不多的几个关键字:

        native(本地)          

        strictfp(strict float point,精确浮点)  

        transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)

        volatile(类型修饰符,用来修饰被不同线程访问和修改的变量,在多线程环境下可以访问到变量的最新值) 

        assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)

       另外,main不是关键字,却是被虚拟机所识别的一个名称,goto是Java的保留关键字

2、标识符

        在程序中自定义的一些名称。由25个英文字母大小写,数字0-9,符合 _ $组成。

定义合法标识符的规则:1、 数字不可以开头。 2、 不可以使用关键字。

在Java中严格区分标识符的大小写,在起名字的时候,为了提高阅读性,要尽量有意义。

3、常量

定义:Java中固定不变的、表示不能改变的数值。

4、常量

概念:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)。

       作用:用来不断的存放同一类型的数据,并可以重复使用。

       定义变量的格式:数据类型 变量名 =初始化值;

Java中有两种数据类型:基本数据类型(byte,char,short,int,long,float,double,boolean),引用数据类型(class,interface,array)

说明:Java程序中,整数默认:int    小数默认:double

类型的自动提升:在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

例如:

         byte  b = 5 ;

 int c;

         c = b + 3;  //b会自动提升为int类型进行运算。

强制类型转换: 当程序中,数据类型需要变换时,可以进行强制转换。

例如:

        byte b = 8;

        b = b + 2;//报错,因为b+2会 转变成int计算,这个时候自动转换为byte

        b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

5、运算符
5.1 算术运算符:+ - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
  
+:连接符,所有的字符串连接操作都是+
   ++ 自增,--自减  例子:int x = 5,int y; y=x++的结果是y = 5,x=6,y=++x的结果是y=6,x=6,同理,自减也是一样。

5.2 赋值运算符。
  
=  += -= *= /= %=
5.3 比较运算符。
   
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。 
5.4 逻辑运算符。
  
&  |  ^  !   &&   ||
  
逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。
 
&: 只有两边都为true结果是true。否则就是false。
  |:只要两边都为false结果是false,否则就是true
  ^:异或:和或有点不一样。 两边结果一样,就为false。 两边结果不一样,就为true.
  & 和 &&区别: & :无论左边结果是什么,右边都参与运算。 &&:短路与,如果左边为false,那么右边不参数与运算。
  | 和|| 区别:|:两边都运算。||:短路或,如果左边为true,那么右边不参与运算。
 5.5
位运算符:用于操作二进制位的运算符。

  左移:<<;空位补0,被移除的高位丢弃,空缺位补0。

      右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。

      无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。

       与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。

      或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。

      异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0
, 0^0=0。

     不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。

     反码:~;对二进制进行取反。
 例子:对两个变量的数据进行互换,不需要第三方变量。
   int x = 2,y = 7;
   x = x ^ y;
   y = x ^ y;//y = x ^ y ^ y = x
   x = x ^ y;//x = x ^ y ^ x = y;
  例子:如何高效的算出 3*8 = 3<<3 ;

运算符优先级表

 

优先级
运算符
结合性
1
() [] .
从左到右
2
! +(正) -(负) ~ ++ --
从右向左
3
* / %
从左向右
4
+(加) -(减)
从左向右
5
<< >> >>>
<
ab47
p align="left" style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;">
从左向右
6
< <= > >= instanceof
从左向右
7
== !=
从左向右
8
&(按位与)
从左向右
9
^
从左向右
10
|
从左向右
11
&&
从左向右
12
||
从左向右
13
?:
从右向左
14
= += -= *= /= %= &= |= ^= ~= <<= >>=  >>>=
从右向左
 
  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐