黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

时间:2023-02-19 14:10:57

一、关键字

        定义:被Java赋予了特殊含义的单词。

        特点:体现上都是英文小写。

1、 用于定义数据类型的关键字

基本数据类型:

        整数类型:byte  short  int  long   浮点类型:float  double

        字符类型:char                            布尔型:boolean

引用数据类型:

        class()  interface(接口)

void用于函数上表示无返回值类型

2、用于定义数据类型值的关键字

        true() false()  null()

3、 用于定义流程控制的关键字

        判断:if  else  switch case  default

        循环:for  while  do 

        继续循环:continue                    结束循环或选择结构:break

        返回:return

4、 用于定义访问权限修饰符的关键字

        private(私有的) protected(受保护的)  public(公有的)

5、 用于定义类、函数,变量修饰符的关键字

        abstract(抽象的) final(最终的)  static(静态的)  synchronized(同步的) enum(枚举)

6、用于定义类与类之间关系的关键字

        extends(继承) implements(实现)

7、 用于定义建立实例及引用实例,判断实例的关键字

        new(建立实例)  this(当前引用)  super(父类引用)  instanceof(判断对象类型)

8、 用于异常处理的关键字

        try(检查异常)  catch(捕获异常)  finally(最终执行

        throw  throws:两多表示抛出异常,但使用位置不同

9、 用于包的关键字

        package(创建包) import(导入包)

10、其他修饰关键字

        native(本地)          

        strictfp(strict float point,精确浮点)  

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

        volatile(类型修饰符,用来修饰被不同线程访问和修改的变量

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

注:main不是关键字,却是被虚拟机所识别的一个名称。

 

二、标识符

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

定义合法标识符的规则:

        1、 数字不可以开头。

        2、 不可以使用关键字。

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

Java中的名称规范:

        包名:多单词组成时所有字母都小写。

                xxxyyyzzz

        类名接口名:多单词组成时,所有单词的首字母大写。

                XxxYyyZzz

        变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。

                xxxYyyZzz

        常量名:所有字母都大写。多单词时每个单词用下划线连接。

                XXX_YYY_ZZZ

 

三、常量

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

Java中常量的分类:

        1,整数常量。所有整数。

        2,小数常量。所有小数。

        3,布尔型常量。较为特有,只有两个数值。true  false

        4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

        5,字符串常量。将一个或者多个字符用双引号(“”)标识。

        6null常量。只有一个数值就是:null

对于整数,Java有三种表现形式:

  • 十进制: 0-9,满 101
  • 八进制: 0-7,满 81,用 0开头表示。
  • 十六进制: 0-9A-F,满 161,用 0x开头表示。

进制的基本转换:

        十进制转换为——>二进制:如9的二进制,算法

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

结果就为:1001,注意:结果要从下往上写。

        二进制转化为——>十进制:如1100的十进制等于:23*1+22*1+21*0+20*0=12。

简而言之:十进制转二进,除2取余数;二进制转换为十进制,乘以2的幂数。

        十进制与八进制和十六进制的互转,跟转换二进制的方法一样。有简便的算法就是,可以先将十进制转换为二进制,再转换为八进制和十六进制。这就利用了一个八进制位相当于三个二进制位,而一个十六进制位相当于四个二进制位。如:

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

负数的二进制表现形式:只要将对应的正数取反加1就行了。如:-6的二进制

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

注:负数的最高位都为1

 

四、变量

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

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

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

数据类型:

        Java中有两种数据类型:1、基本数据类型;2、引用数据类型。这里主要讲解基本数据类型。

       黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

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

类型的自动提升:

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

         byte  b = 3 ; int c;

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

强制类型转换:

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

        byte b = 3;

        b = b + 4;//报错

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

 

五、运算符

1、算术运算符

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

注:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。

        字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。

2、赋值运算符

        符号:=  +=  -= *=  /=  %=

例:    int a,b,c; a=b=c =3;

           int a = 3;   a+=5;//等同运算a=a+5;

3、比较运算符

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

注:1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。2、比较运算符“==”不能误写成“=”。

4、逻辑运算符

逻辑运算符用于连接boolean类型的表达式。

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

        &:只要两边的boolean表达式结果,有一个为false,那么结果就是false。只有两边都为true,结果为true。

        |:两边只要有一个为true,结果为true;只有两边都为false,结果为false。

        ^:两边相同结果是false,两边不同结果是true。

&和&&的区别:

        单&时,左边无论真假,右边都进行运算;

        双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

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

        反码:~;对二进制进行取反。

6、  三元运算符

    格式:

                (条件表达式)?表达式1:表达式2

        a)如果条件为true,运算后的结果是表达式1

        b)如果条件为false,运算后的结果是表达式2

示例:

        获取两个数中大数。

               int x=3,y=4,z;

                z = (x>y)?x:y;//z变量存储的就是两个数的大数。

运算符的优先级:

运算符优先级表

 

优先级

运算符

结合性

1

() [] .

从左到右

2

! +(正) -(负) ~ ++ --

从右向左

3

* / %

从左向右

4

+(加) -(减)

从左向右

5

<< >> >>>

从左向右

6

< <= > >= instanceof

从左向右

7

== !=

从左向右

8

&(按位与)

从左向右

9

^

从左向右

10

|

从左向右

11

&&

从左向右

12

||

从左向右

13

?:

从右向左

14

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

从右向左

 

六、转义字符

    概念:通过 \ 来转变后面字母或符号的含义。

    常用转义字符:

        \b:退格  

        \n:换行

        \t:制表符,相当于tab键

        \r:回车

        \\:表示反斜杠

        \':表示单引号

        \":表示双引号

 

最后、编个小程序练习下:

 黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符

运行结果:

黑马程序员--JAVA基础语法之--关键字、常亮、变量、标识符