第三章 语法

一、词法结构

    在词法分析阶段,源代码被分解为空白符、注释以及词法符号

    1.空白符:

        包括空格(半角),制表符和回车换行符(全角宽,半角窄——》代易错的地方)

        作用:

               (1).用于分隔两个相邻的此法符号

               (2).使程序更易读

    2.注释

        用于对源程序进行说明,提高代码的可读性

        格式:

         (1).//comments:用于单行注释

         (2)./*comments*/:用于单行注释或者多行注释

         (3)./** */:用于单行或者多行注释:java doc注释,用于注释类,属性和方法(描述详细)对方发说明返回值及其类型

         (4).可以通过javadoc.exe 提取java doc注释到帮助文档中

              cmd——》javadoc -d 目标路径 源码路径

     3.词法符号

        关键字(用于控制如何定义程序的特殊标识符

        标识符:用作类,接口,方法,变量和包的名字

        常量:分为字面常量和静态常量

        运算符:《略》

        分隔符:(),[],{},,,.,;等


二、数据类型

    java是强类型语言,变量声明时必须显示声明类型,分为两大类:基本类型和引用类型

    1.数值型:

       都有正负号(除了零),都有固定的取值范围,可以跨平台

       (1).整型

          i).字面常量默认为int型 (超过后+L)

          ii).可以用八进制、十进制、十六进制表示

          iii).如果,没有超出byte,short或者char的范围,则可以把字面常量直接赋值给该类型的变量

          iv).如果字面常量介于int和long的范围之间,则在数值后面加上L

       (2).浮点型

         i).字面常量默认为double型(把字面常量给float要+F)

         ii).如果把字面常量赋值给float,则需要在数值后加上f

      2.字符型+转移字符

         一个字符为两个byte,字符型基本质为整型

      3.布尔型

         常量:true和false

三、运算符

    1.算术运算符

       +,-,*,/,%(运算结果的符号与左边操作数保持一致),++,--

    2.位运算符

       ^,~,&,|

    3.比较运算符

       >,==,>=,<,<=,!=   PS:(!=和==(比引用的地址,比基类的值)可以操作任意类型)

    4.位运算符

      &&,||,|,&,!(PS:&&、||(短路与,短路或):操作数为Boolean型,结果也是Boolean型)

    5.赋值运算符

       =,+=,-=,*=,/=

    6.以为运算符

       >>,>>>,<<

    7.三目运算符

       op21?op2:op3

       op1为布尔值,op2和op3必须是兼容类型

    8.类型提升

     (1).byte,short,char参与运算时,自动提升为int类型,++和--型除外

     (2).当一个操作数为double,则另一个也自动转换为double,结果也为double

                      ……             float,                           ……      float,   ……     float

                      ……              long,                               ……  long,   …… long

          否则都为int型。

 

四、表达式

       是由运算符和操作数按照一定的语法规则连接起来的式子包括常量,变量,方法调用,数组访问,创建对象,等。

 

五、语句

     包括空语句,表达式语句,块语句,循环语句,跳转语句,同步语句(多线程),异常语句。

     ps:标号语句:用于标识紧随它的循环体

 

六、数组

     用于存放一组相同、树木固定的数据

     1.数组也是对象,通过引用来操作,如果引用的值为null,则抛出空指针异常(NullPointerException)

     2.数组能容纳元素的个数称为数组的长度,通过length属性获取

     3.数组元素通过数组名+下标值来访问

     数组的初始化:

         int[] arr1 = new int[10];//默认初始化,指定长度

         int[] arr2 ;//显示初始化,根据元素个数定长度

         arr2 = new int[]{2,4,3,1,5};

         int [] arr3 = {3,2,1,4,5};//显示初始化,根据元素个数定长度

            数组常见异常类型:

            ArrayIndexOutOfBoundsException(数组下标越界异常)

            NullPointerException(空指针异常)

            NegativeArraySizeException(下标异常)

           常用方法:

            equals(),clone(),arraycopy(),copyOf(),copyOfRange()方法

        4.可以定义任意类型的数组

      5.数组对象可以在创建对象时指定

      6.二维数组是数组的数组

 二维数组的元素是一维数组

每一位数组的长度可以不一致

 JVM认为二维数组中存放着一维数组的引用,所以在clone二维数组时持有的一维数组是相同的。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值