Java基础语法(一)

最后更新于:2022-04-01 09:40:40

## 一关键字 关键字概述:Java语言中有一些具有特殊用途的词被称为关键字。关键字对Java的编译器有着特殊的意义,在程 序中应用时一定要慎重。 关键字特点:组成关键字的字母全部小写。 关键字注意事项:goto和const作为保留字存在,当前并不使用。 Java中常用的50个关键字(48个加2个保留字,就当背英文单词啦): ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55c87298.jpg)        关键字     描述        abstract    抽象方法,抽象类的修饰符            assert    断言条件是否满足            boolean    布尔数据类型            break    跳出循环或者label代码段            byte    8-bit 有符号数据类型           case    switch语句的一个条件            catch    和try搭配扑捉异常信息            char    16-bit Unicode字符数据类型            class    定义类            const    未使用            continue    不执行循环体剩余部分            default    switch语句中的默认分支            do    循环语句,循环体至少会执行一次            double    64-bit双精度浮点数            else    if条件不成立时执行的分支            enum    枚举类型            extends    表示一个类是另一个类的子类            final    表示一个值在初始化之后就不能再改变了;表示方法不能被重写,或者一个类不能有子类。            finally    为了完成执行的代码而设计的,主要是为了程序的健壮性和完整性,无论有没有异常发生都执行代码。          float    32-bit单精度浮点数            for    for循环语句            goto    未使用            if    条件语句            implements    表示一个类实现了接口            import    导入类            instanceof    测试一个对象是否是某个类的实例           int    32位整型数            interface    接口,一种抽象的类型,仅有方法和常量的定义            long    64位整型数            native    表示方法用非java代码实现            new    分配新的类实例            package    一系列相关类组成一个包            private    表示私有字段,或者方法等,只能从类内部访问            protected    表示字段只能通过类或者其子类访问子类或者在同一个包内的其他类            public    表示共有属性或者方法            return    方法返回值            short    16位数字            static    表示在类级别定义,所有实例共享的            strictfp    浮点数比较使用严格的规则            super    表示基类            switch    选择语句            synchronized    表示同一时间只能由一个线程访问的代码块            this    表示调用当前实例或者调用另一个构造函数            throw    抛出异常            throws    定义方法可能抛出的异常            transient    修饰不要序列化的字段           try    表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码            void    标记方法不返回任何值            volatile    标记字段可能会被多个线程同时访问,而不做同步            while     while循环      ## 二标识符 标识符概述:Java对各种变量,类,接口,方法等起名字时使用的字符序列。 组成规则:1英文大小写字母2数字字符3美元符($)和下划线(_)。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55ca26cf.jpg) 使用标识符时,需要遵守几条规则: 1标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字 开头。比如:123name 就是不合法的。 2标识符不能是 Java 关键字和保留字(Java预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关 键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以。 3标识符是严格区分大小写的。 所以,一定要分清楚和是两个不同的标识符。 4标识符的命名最好能反映出其作用,做到见名知意。 不合法的标识符: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55cbd313.jpg) 合法的标识符: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55cd13ca.jpg) 标识符命名的常见类型:       1包(其实就是文件夹,用于解决相同类名进行区分的问题),全部小写。       单级:       举例:student       多级:       举例:student.number       2类或接口:       一个单词:单词的首字母必须大写。       举例:Student       多个单词:每个单词的首字母必须大写。       举例:HelloWorld       3方法和变量:       一个单词:单词的首字母必须小写。       举例:main       多个单词:从第二个单词开始,每个单词的首字母必须大写。       举例:showAllName       4常量:       一个单词:单词字母必须全部大写。       举例:PI       多个单词:每个单字母必须大写,用_隔开 。       举例:STUDENT_MAX_AGE  ## 三注释 注释概述:在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。一般来说,对于一份规范的程序 源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视。 Java中注释分类及格式: Java中注释有三种类型:单行注释、多行注释、文档注释。 1单行注释格式://注释文字 2多行注释格式:/*注释文字*/,需要注意的是多行注释不能嵌套使用,而单行是可以的。 3文档注释:/**注释文字*/,这个注释的作用的是被javadoc工具解析生成一个说明书。 注释的作用: 1解释说明程序,提高程序的可阅读性; 2可以帮助我们调试程序。 看一个例子: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55ce0c50.jpg) ## 四常量和变量 常量概述:在程序执行的过程中其值不可以发生改变。所谓常量,我们可以理解为是一种特殊的变量,它的值被 设定后,在程序运行过程中不允许改变。 Java中常量分类: 1字面值常量 A字符串常量:用双引号括起来的内容。 举例:"hello" "world" B整数常量:所有的整数。 举例:100 300 C小数常量:所有的小数。 举例:10.23  D字符常量:用单引号括起来的常量。 举例:'A'  'C'  'O' E布尔常量:比较特殊,只有true和false F空常量:null 2自定义常量 语法格式:final 常量名 = 值; 程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个 常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出 错的情况。 举例: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55cf4003.jpg) 变量 变量概述:在程序的执行过程中,其值是可以在一定范围内发生改变的量。 在Java中,我们通过三个元素描述变量:变量类型、变量名以及变量值,其中变量名是标识符。 变量的定义格式: A:数据类型 变量名 = 初始化值; B:数据类型 变量名; 变量名 = 初始化值; Java语言是一种强类型语言。通俗点说就是,在Java中存储的数据都是有类型的,而且必须在编译时就确定其类 型。 String 是一种常见的引用数据类型,用来表示字符串。在程序开发中,很多操作都要使用字符串来完成,例如系 统中的用户名、密码、电子邮箱等。这个String引用类型是特殊的。 Java中有两类数据类型:两类十一种 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d17bf9.jpg) 在Java的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。这个我们以 后的学习中逐渐体会到。 基本数据类型 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d345ff.jpg)            A:整数                      占用字节数                      byte                  1                      short                 2                      int                     4                      long                  8           B:浮点数                     float                   4                    double                8          C:字符                     char                   2          D:布尔                     boolean                    1(并不确定) 使用变量需要的注意事项: 1作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两 个同名变量。 2初始化值:没有初始化的值不能直接使用。 3在一行上建议只定义一个变量,可以定义多个,但不建议。 4Java 中的变量需要先声明后使用。 5变量中每次只能赋一个值,但可以修改多次。 6main 方法中定义的变量必须先赋值,然后才能输出。 在Java程序中,不同的基本数据类型的数据之间经常需要进行相互转换。 我们定义的变量的基本数据类型时需要注意: 1整数默认是int类型,浮点数默认是double。 2长整数要加L或者l(建议使用L)。 3单精度的浮点数要加F或者f(建议使用F)。 (1)boolean类型不参与转换,因为不可以以0或非0的整数代替false和true。这一点和其他的高级程序设计语言不 同,一定要注意。 (2)默认转换             A:从小到大             B:byte,short,char -- int -- long -- float -- double             C:byte,short,char之间不相互转换,直接转成int类型参与运算。             (3)强制转换             A:从大到小             B:可能会有精度的损失,一般不建议这样使用。             C:格式:             目标数据类型 变量名 = (目标数据类型) (被转换的数据);      思考题和面试题         A:下面两种方式有区别吗?         float f1 = 12.345f;         float f2 = (float)12.345; ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d47f46.jpg)         B:下面的程序有问题吗,如果有,在哪里呢?         byte b1 = 3;         byte b2 = 4;         byte b3 = b1 + b2;         byte b4 = 3 + 4; ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d5f4c3.jpg)        C:下面的操作结果是什么呢?         byte a = 130;         byte b = (byte)130; ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d79547.jpg)           D:字符参与运算           是查找ASCII里面的值,查ASCII表即可           'a'97           'A'65           '0'48           System.out.println('a');           System.out.println('a' + 1);           E:字符串参与运算           这里其实是字符串的连接           System.out.println("hello"+'a'+1);           System.out.println('a'+1+"hello");           System.out.println("5+5="+5+5);           System.out.println(5+5+"=5+5"); 上面两个题的输出输出是: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-22_56cab55d8e1a6.jpg) 先到这里,若有错误的地方,请指正。   
';