1.关键字:

    被java赋予特定含义的单词

        特点:

            全部小写

        注意事项:

            goto和const作为保留字存在

2.标识符:

    给类、接口、方法、变量等起名的字符序列

        组成规则:

            a.英文大小写字母

            b.数字字符(0—9)

            c.$和_

        注意事项:

            a.不能以数字开头

            b.不能是java中的关键字

            c.区分大小写

        常见命名规则:

            a.包:

                单级:全部小写

                    举例:liuyi,com

                多级:全部小写,单词与单词之间用“.”隔开

                    举例:cn.itcast,com.baidu

            b.类名及接口名:

                  每个单词首字母都大写

                        举例:Student,Demo,StudentName

            c.变量名及方法名:

                    单个:全部小写

                        举例:name,main

                    多个:从第二个单词开始,每个单词的首字母大写

                        举例:studentAge,showAllNames()

            d.常量:

                    单个:全部大写

                        举例:PI

                    多个:全部大写,单词与单词之间用“_”隔开

                        举例:STUDENT_MAX_AGE

3.注释:

    对程序进行解释说明的文字

        分类:

            a.单行注释    //注释内容

            b.多行注释    /*注释内容 */

            c.文档注释    /**注释内容 */

        作用:

            a.解释说明程序,提高了代码的阅读性

            b.可以帮助我们简单的调试程序

4.常量:

    在程序执行过程中,其值不发生改变的量

        分类:

            a.字面值常量

            b.自定义常量

         字面值常量:

            a.字符串常量 "hello"

            b.整数常量12,23

    c.小数常量12.345

    d.字符常量'a','A','0'

    e.布尔常量true,false

    f.空常量null

5.进制:    

    在Java中针对整数常量提供了四种表现形式

    A:二进制由0,1组成。以0b开头。

    B:八进制由0,1,...7组成。以0开头。

    C:十进制由0,1,...9组成。整数默认是十进制。

    D:十六进制由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

    进制转换:

            a.其他进制到十进制

                    系数*基数^权次幂之和。                           

                                系数:就是每一个位上的数值

                基数:x进制的基数就是x

                                权:对每一个位上的数据,从右,0开始编号,该编号就是权。

            b.十进制到其他进制

                    除基取余,直到商为零,余数反转

    进制快速转换法:

            a.十进制与二进制

                    8421法

            b.二进制到八进制、十六进制的转换

                    三位一体    四位一体

6.变量:

     程序的执行过程中,其值在某个范围内可以发生改变的量

        格式:

            a.数据类型 变量名 = 初始化值;

            b.数据类型 变量名;

                    ...

              变量名 = 初始化值;   

7.数据类型

     java是一种强类型语言,针对每种数据都提供了对应的数据类型

        分类:

                a.基本数据类型

                    4类8种

                b.引用数据类型                  

                    类、接口、数组

        基本数据类型:

                

                A:整数                         占用字节数

                    byte     1

                    short     2

                    int     4

                    long     8

                B:浮点数

                    float     4

                    double     8

                C:字符

                    char     2

                D:布尔

                    boolean     1

                    注意:a.整数默认是int类型,浮点默认是double类型

                      b.长整型数末尾要加L或l;单精度类型浮点数末尾要加F或f  

8.数据类型转换:(注意:boolean类型不参与转换)

        a.默认转换(从小到大,自动完成)

                顺序:byte,short,char -- int -- long -- float -- double

                    注意:byte,short,char之间不相互转换,直接转成int类型参与运算。

        b.强制转换(从大到小,需要手动完成)

                可能会有精度的损失,一般不建议这样使用。

                    格式:

                        目标数据类型 变量名 = (目标数据类型) (被转换的数据);

  

    思考题和面试题:

            A:下面两种方式有区别吗?

                float f1 = 12.345f;

                float f2 = (float)12.345;

    

             答:有,第一个数据本身就是float类型的,只是赋予了f1,第二个数据本身是double类型,通过强制转换,转换成float类型并赋值给f2。


            B:下面的程序有问题吗,如果有,在哪里呢?

                byte b1 = 3;

                byte b2 = 4;

                byte b3 = b1 + b2;

                byte b4 = 3 + 4;

    

                答:有,第三句会出现问题。变量相加时,会首先考虑数据类型问题,赋值时也会考虑数据类型问题,而常量相加时,会首先做加法,然后看是否在被赋予的数据类型的范围内,不在,就报错。


            C:下面的操作结果是什么呢?

                byte b = (byte)130;

                 答:-126


            D:字符参与运算

                是查找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");

                

                答:helloa1

                    98hello

                    5 + 5 = 55

                    10 = 5 + 5

扩展:(原码、反码、补码)

    在计算机内有符号数由三种表示法:原码。反码和补码,所有的数据的运算都是采用补码进行的

原码:

正数的原码最高位为0,负数为1,其他的是数值位

反码:

正数的反码与原码相同,负数逐一取反,符号位除外。

补码:

正数的补码与原码相同,负数的补码在反码的基础上末尾加一。