• 02_java基础学习_基础语法(上)01_day02总结


    • 涉及到的知识点有:
      • 1、关键字(掌握)
      • 2、标识符(掌握)
      • 3、注释(掌握)
      • 4、常量(掌握)
      • 5、进制转换(了解)
      • 6、变量(掌握)
      • 7、数据类型(掌握)
      • 8、数据类型转换(掌握)

    1、关键字(掌握)

    (1)被Java语言赋予特定含义的单词。
    (2)特点:
        组成关键字的字母全部小写。
    (3)注意事项:
        A:gotoconst作为保留字存在,目前并不使用。注意:保留字在jdk的新版本中可能会提升为关键字。
        B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记。

    示例代码如下:
    /*
        关键字:被java语言赋予特定含义的单词。
        特点:组成关键字单词的字母全部小写。
        注意:
            A:goto和const是保留字,目前并不使用。注意:保留字在jdk的新版本中可能会提升为关键字。
            B:类似于UE、Notepad++这样的高级记事本,针对关键字都有特殊的颜色标记。
    */

    class KeyWordDemo {
        public static void main(String[] args{
            System.out.println("HelloWorld");
        }
    }    

    java中用到的关键字如下图所示:(50个左右)


    2、标识符(掌握)

    (1)就是给类、接口、方法、变量等起名字的字符序列。
    (2)组成规则:
        A:可由英文大小写字母组成;
        B:可由数字组成;
        C:可由$和_组成;
        D:可由中文组成,但是不建议用中文!
    (3)注意事项:
        A:不能以数字开头;
        B:不能是java中的关键字;
        C:java语言严格区分大小写。
    (4)开发的常见的命名规则(见名知意)
        A:包的命名(全部小写),其实就是文件夹,用于把相同的类名进行区分。
            单级包:小写。
                举例:liuyi、com
            多级包:小写,用.隔开。
                举例:cn.itcast、com.baidu  (习惯是域名反写)
        B:类或者接口的命名
            一个单词:单词的首字母大写。
                举例:Student,Demo
            多个单词:每个单词首字母大写。
                举例:HelloWorld,StudentName
        C:方法或者变量的命名
            一个单词:单词的首字母小写。
                举例:name,main
            多个单词:从第二个单词开始,每个单词首字母大写。
                举例:studentAge,showAllNames()
        D:常量的命名
            全部大写
            一个单词:大写。
                举例:PI
            多个单词:大写,并用_隔开。
                举例:STUDENT_MAX_AGE

    3、注释(掌握)

    (1)就是对程序进行解释说明的文字,不会被JVM解释执行。
    (2)分类:
        A:单行注释://注释文字          单行注释可以嵌套使用。
        B:多行注释:/*注释文字*/        多行注释不可以嵌套使用。
        C:文档注释(后面讲):/**注释文字.*/      被javadoc工具解析生成一个说明书,面向对象部分讲解。
    (3)把HelloWorld案例写了一个带注释的版本。
        后面我们要写一个程序的过程。
            需求:写一个程序,在控制台输出HelloWorld。
            分析:
                1:写一个java程序,首先定义类。
                2:程序要想能够被jvm调用,必须定义main方法。
                3:程序要想有输出结果,必须用输出语句。
            实现: 
                1:定义类用的是class关键字,后面跟的是类名。
                2:
    main方法的基本格式。
                3:输出语句的基本格式。
            代码体现:
    (4)注释的作用:
        A:解释说明程序,提高了代码的阅读性。
        B:可以帮助我们调试程序。
            后面我们会讲解一个更高端的一个调试工具。

    4、常量(掌握)

    (1)在程序执行的过程中,其值不发生改变的量。
    (2)Java中常量的分类:
        A:字面值常量
            例如:"hello"10true
        B:自定义常量(后面讲)
            例如:final int x = 10;
    (3)字面值常量
        A:字符串常量 "hello"
        B:整数常量      12,23
        C:小数常量      12.345
        D:字符常量      'a','A','0'
        E:布尔常量      truefalse
        F:空常量       null(后面讲)(闹) 代表什么都没有
            注意:空常量null不可以直接用于打印输出。

    如下图所示:


    (4)在Java中针对整数常量提供了四种表现形式
        A:二进制   由01组成。以0b开头。
        B:八进制   由01,...,7组成。以0开头。
        C:十进制   由01,...,9组成。整数默认是十进制。
        D:十六进制  由01,...,9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

    如下图所示:

    5、进制转换(了解)


    (1)其他进制转换到十进制
        系数:就是每一个位上的数值。
        基数:x进制的基数就是x。
        权:对每一个位上的数据,从右往左,并且从0开始编号,对应的编号就是该数据的权。
        结果:系数*基数^权次幂之和。

    如下图所示:


    (2)十进制转换到其他进制
        方法:除基取余,直到商为0,余数反转。

    如下图所示:


    (3)进制转换的快速转换法
        A:十进制和二进制间的转换
            8421码。8421码是BCD代码中最常用的一种。
        B:二进制到八进制,十六进制的转换

    如下图所示:


    (4)原码、反码、补码

    如下图所示:


    (5)8421码:
        8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。
        在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
        例如: 1       1       1       1       1       1       1       1
                128     64      32      16      8       4       2       1

    6、变量(掌握)

    (1)在程序的执行过程中,其值在某个范围内可以发生改变的量。
    (2)变量的定义格式:
        A:数据类型 变量名 = 初始化值;
        B:数据类型 变量名;
          变量名 = 初始化值;
    (3)从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域;
        因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。
    (4)为什么要定义变量呢?
        答:用来不断的存放同一类型的常量,并可以重复使用。
    ---------------------------------------        
    使用变量的时候要注意的问题:
        A:作用域
            变量定义在哪一级大括号中,那个大括号的范围就是这个变量的作用域。
            相同的作用域中不能定义两个同名变量。
        B:初始化值
            没有初始化值的变量不能直接使用。
            你只要在使用前给值就行,不一定非要在定义的时候就立即给值。
            推荐建议:在定义的时候就给值比较好。
        C:在一行上建议只定义一个变量。
            其实也可以定义多个变量,但是不建议,不好看。  

    变量的概述及格式:

    7、数据类型(掌握)

    (1)Java语言是一种强类型语言,针对每种数据都提供了对应的数据类型。
    (2)数据类型的分类:
        A:基本数据类型:4类8种。
        B:引用数据类型:类,接口,数组、字符串、Lambda。
            注意:字符串、Lambda这两种引用数据类型后面会学习到。
                Lambda:兰亩达,希腊字母表中排序第十一位的字母。
                大写Λ用于:粒子物理学上,Λ重子的符号。
                小写λ用于:物理上的波长符号、放射学的衰变常数、线性代数中的特征值。西里尔字母的 Л 是由 Lambda 演变而成。
                " λ "形似一个双手插兜儿,独自行走的人,表示"失意、无奈、孤独、低调、路过"之意的符号,最先流行于仙剑奇侠传。

    如下图所示:


    (3)基本数据类型
        A:整数类型      占用字节数(Byte)     默认是有符号的,数据范围是:  
            byte            1                   -2^8 ~ 2^7-1(-128 ~ 127)
            short           2                   -2^15 ~ 2^15-1
            int             4                   -2^31 ~ 2^31-1
            long            8                   -2^63 ~ 2^63-1
        B:浮点类型
            float           4                   -3.403e38 ~ 3.403e38        -3.4.3*10^38 ~ 3.4.3*10^38
            double          8                   -1.798e308 ~ 1.798e308      -1.798*10^308 ~ 1.798*10^308
        C:字符类型
            char            2
        D:布尔类型
            boolean         1
    ---------------------------------------            
    注意的地方:
        a:整数默认是int类型,小数默认是double
        b:声明长整数要加L或者l。
            例如:int i1 = 600// 正确。     long l1 = 88888888888L; // 必须加L或l否则会出错。一般用大写的L,因为小写的l像1。
        c:声明单精度的浮点数要加F或者f。
            例如:double d = 12345.6// 正确。   float f = 12.3f; // 必须加f或F否则会出错。损失精度。
        d:char类型数据用来表示通常意义上的“字符”,字符常量为用单引号括起来的单个字符。
            例如:char ch1= 'a'char ch2='中';
        e:Java字符采用 Unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示。注:Unicode是全球语言统一编码。
        f:boolean类型适于逻辑运算,一般用于程序流程控制。
            boolean类型数据只允许取值 true 或 false ,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。
        g:与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。
            Java浮点类型常量有两种表示形式:
                  十进制数形式, 如: 3.14     314.0
                科学记数法形式,如:3.14e2        3.14*10^2
        h:Java各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。
        i:所谓的有效数字:具体地说,是指在分析工作中实际能够测量到的数字。所谓能够测量到指的是包括最后一位估计的不确定的数字。
            例如:对于一个近似数,从左边第一个不是0的数字起,到精确到的位数止,所有的数字都叫做这个数的有效数字。

    8、数据类型转换(掌握)

    (0)一般来说,我们在运算的时候,要求参与运算的数据类型必须一致。
    (1)boolean类型不能转换为其他的数据类型。
    (2)默认转换(从小到大):
        A:byte,short,char --> int --> long -- float -- double
        B:byte,short,char相互之间不转换,他们参与运算时首先默认转换为int类型。

    如下图所示:


    (3)强制转换(从大到小):
        A:可能会有精度的损失,一般不建议这样使用。
        B:格式:
            目标数据类型 变量名 = (目标数据类型)(被转换的数据);
        C:注意:不要随意的去使用强制转换,因为它隐含了精度损失的问题。
    (4)思考题和面试题:
        思考题:请问下面这个有没有问题?
            double d = 12.345;
            float f = d;
            答:有问题,可能损失精度。
        A:下面两种方式有区别吗?
            float f1 = (float)12.345;
            float f2 = 12.345f;
            答:f1其实是通过一个double类型转换过来的。
                而f2本身就是一个float类型。
        B:下面的程序有问题吗,如果有,在哪里呢?
            byte b1 = 3;
            byte b2 = 4;
            byte b3 = b1 + b2;  // 数据类型提升了,有问题,可能会损失精度。
            byte b4 = 3 + 4;    // 没问题。常量,是先把结果计算出来,然后看是否在byte的范围内,如果在就不报错!
        C:下面的操作结果是什么呢?
            byte b = (byte)130// -126
            我们要想知道结果是什么,就应该知道是如何进行计算的。
            而我们又知道计算机中数据的运算都是补码进行的。
            而要得到补码,首先要计算出数据的二进制。

            a:获取130这个数据的二进制。首先130默认是有符号的int类型。
                00000000 00000000 00000000 10000010
                这是130的原码,也是反码,还是补码。
                即在计算机内部存储的是补码:
                00000000 00000000 00000000 10000010
            b:做截取操作,截成byte类型的了。
                10000010 
                这个结果是补码。
                注意:电脑显示屏幕显示的是原码,且为十进制。
            c:即已知补码求原码。
                        符号位     数值位
                补码: 1           0000010
                反码: 1           0000001
                原码: 1           1111110
                即得到输出是-126
        D:字符参与运算
            是查找ASCII里面的值
                'a' --> 97
                'A' --> 65
                '0' --> 48
            System.out.println('a'); // 97
            System.out.println('a' + 1); // 98
        E:字符串参与运算
            首先运算是从左到右的。
            字符串数据+其他数据做,结果是字符串类型。因为这里的+不是加法运算,而是是字符串的连接符(拼接符)。
            其他数据+其他数据+字符串数据,先计算其他的值后再与字符串进行拼接。
            System.out.println("hello"+'a'+1); // helloa1
            System.out.println('a'+1+"hello"); // 98hello
            System.out.println("5+5="+5+5); // 5+5=55
            System.out.println(5+5+"=5+5"); // 10=5+5
  • 相关阅读:
    Microsoft Enterprise Library
    TCP拥塞控制算法内核实现剖析(三)
    Linux内核链表实现剖析
    sk_buff 剖析
    TCP拥塞控制算法内核实现剖析(一)
    set time zone Ubuntu
    xml listview
    VSTO rtm assembly
    Assembly and ActiveX
    input a long sentence in a single line of textbox
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8409041.html
Copyright © 2020-2023  润新知