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

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1关键字

        定义:被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

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

     不相同二进制位 ^运算结果是11^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

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

== !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

= += -= *= /= %= &= |= ^= ~= <<= >>=  >>>=

从右向左


 

  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值