第二章

作者: 浓茶馆 | 来源:发表于2019-05-19 11:08 被阅读0次

    第二课程 java 的基础语法的基础

    1.关键字都是小写,会变为蓝色

    2.标志符:

    标志符就是给类,接口,方法,变量等起的名字。

    起名字规则(只允许有这些东西):

    英文大小写字母

                数字字符

                $和_

    注意事项:不能以数字开头

              不能是关键字

              Java语言严格区分大小写(关键词有了一个字母大写,就不是关键词了)

    3.常见的命名规则:

    1.举例:定义一个学生类

    class Student{}

    不要用 class S{}因为S人不知道是什么意思

    2.包(因为在同一个路径下不能用建立两个一样的类名,但是又要见名知意所以就要想办法区分开)命名全部是小写。

    包其实就是文件夹。用以把相同的类名区分(每个字母都是小写)

      单级包:liuyi

      多级包:cn.itcase  (.是用来区分的级的。)

    3.类和接口  命名一个时,首字母大写。多个时,每个单词首字母必须大写

      接口可以看做是和类一样的东西。

      一个单词:Student

    多个单词: HelloWorld,StudentName

    4.方法和变量

    一个单词命名单词首字母必须大写

      一个单词:main ,age

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

      举例:studentAge.  showStudentNames()  【加()的是方法,不加的变量】

    5.常量 (每个字母都大写)

    一个单词全部大写 如:PI

    多个单词每个字母大写用_分开  如:STUDENT_MAX_AGE

    4.注释

    1.单行注释//

    2.多行注释不能嵌套使用:/* */(多行注释不能嵌套,会没法运行)

    3.文档注释;被javadoc工具解析生成一个说明书,面对对象部分讲解(没讲)

      //** */比多行注释多了一个*

    注释有两个作用:

    一是:可以通过注释来找程序的问题。可以帮我们调试程序。

    二是:可以提高程序的阅读性

    6.常量

    1.字面值常量与自定义常量(后面讲)

    字面值常量

              1 字符串常量  如 括号内形式“ HelloWorld”输出的字符串内容

              2 整数性常量  如 括号内形式 100 200

              3 小数常量  如  括号内形式  10.2  11.22

          4 字符常量(用单引号栝起来的单个字符)  如 括号内形式 ‘a’ ‘b’  ‘0’(这里0是一个字符不是数字)’ab’(这是错误的写法)

    5布尔常量

    比较特殊:括号内形式 :只有ture和false

              6 空常量(后面讲)

                如:null

    7.进制

    2进制只有两个状态,所以用8个二进制数来表示一个数据,这个单位叫字节

    1byte(字节)=8bit 、、1k=1034byte

    8进制是吧110  100  111 三个数字分为一块然后用十进制算法算出表示

    16进制是吧1110  0001 四个一组用十进制的算法算出然后表示

    规则: 进制越大,表示形式越短

    3.

    因为直接看数据分不出是几进制所以

    二进制开头是0b  (后缀一个B也表示为二进制)

    八进制开头是0 

    十六进制开头是0x

    写程序出错:

    1.把100也加上引号,整数不用加

    2.修改过后没有保存,就运行所以结果不会变

    8.原码,反码,补码

    在计算机内,有符号数有3种表示方法:原码,反码,补码。

    计算机所有的运算都是采用数据对应的二进制补码运算的。

     

    原码:

    正数的原码最高位为0

    负数的原码最高位为1

    其他是数值位(数值位前面的用0补齐够7位)

        符号位  数值位

    +7    0      0000111

    -7    1      0000111

    反码:

        正数的反码与原码一样

        负数的反码符号位不变,数值位每一位取反,就是0变1,1变0

            符号位  数值位

    +7  0      0000111

    -7  1      1111000

    补码:

        正数的补码与原码一样

    负数的补码是补码+1(当然是最小位)(注意:不能先写符号位了,因为类似111111111最后符号位会变)

            符号位    数值位

    +7    0      0000111

    -7    1      1111001 

    1.已知某数x的原码10110100B。求补码与反码

     

    反码1  1001011

    补码1  1001100

    2.已知某数x的补码11101110B。求原码

    补码:1  1101110

    反码:1  1101101

    原码:1  0010010

    9.什么是变量

    10.数据类型

    1.

    Java是一种强数据类型的语言。

    2.分为基本数据类型和引用数据类型

    基本数据类型:4类8种

    整数:

              所占字节数

      byte      1

      short      2   

      int        3

      long        4 

    浮点数(小数):

                    所占字节数

      float(单精度)      4

      double(双精度)    8

           

    字符:

            所占字节数

      char :    2

    布尔:

            所占字节数(很多地方没有明确给定,但因为只有0、1两种情况,所以认为是1)

    boolean:  1

    各种类型的取值正负都可byte(1字节):  -128~127

    整数默认int 小数默认 double

    引用数据类型3种(以后讲)

    3.

    1byte=8bie \\ 1字节等于8位  (对于原码的问题:如果第8位刚好是数值型怎么办,还怎么分原码,那就用2字节来表示,进而区分原码……)

    1.定义变量注意事项:

    当定义的整数型变量超过 int 型时,就需要用long型写,需要注意用long时long=100000000L(L大小写都可以)。如果不写还是会按int型处理,然后会报错。

    同理double型也是,如果用float型时,会提醒你可能损失精度,因为float型时4字节,可能会自动删除变量超出的部分,所以会提醒可能损失精度;

    如图

    字符型如图:

    布尔型;

    2.定义变量注意的问题:

    变量适用的范围:

    1.格式最好是

     

    2.一行可以定义多个变量,但是不建议。如

    3.可以同时定义多个如:

    4.可以先定义一个变量,而不给初始值,只要在使用(输出)前 初始化就行;如:

    5不能这样:

    用,隔开会以为是同一种类型。所以计算机识别不了int 属于int类型,所以好会报错。

    11.运算符

    1.

    一般来说用运算符的时候,左右两边数据类型要一致。

    +中可以直接在括号内写然后实现运算结果如:…….println(3+4)

    2.

    如果前后数据类型不一致,都向大的靠近(不让就会提示可能损失精度)。如图:

    下图是算的原理;

    字节少的先変为,字节更长的形式,在进行运算。如图:

    3.

    强制转换:

    不要随意去使用强制转换,因为可能确会损失精度。

    就是说,当你知道。大的与小的运算结果,明明byte字节够用时,可以强制转换。

    写法: byte c = (byte)(a + b); 

    正常写法: byte c = a + b ;

    注意:如果后面是一个变量如:byte c = (byte) a  这里不用加括号,只有多个才用加。

    4.

    float a = (float) 29.323;

    float a= 29.323F;

    这两个是一样的,但是第一个是把double类型,截取然后成为float类。而第二个,本身就可以是一个float类型。

    面试题:

    题1.

    答案是:

    第二句会编译失败,因为第二句的变量相加是会自动变为int型,而b是byte,把int给byte会损失精度,所以会报错。变量赋值给变量是先在运行的时候(.class)文件时,才运算。

    第三句是常量加法,是先计算出来后面的结果,如果结果在byte类型里,就不提示会损失精度,不报错。

    byte b1 = 2 ,b2 = 3 , b 这种写法是可以的。

    反编译工具:xjad.exe  可以把class文件读出来。方便差错。

    题2.

    有问题:因为byte取值范围 -128--127,130超过了,所以会报错。

    byte b = (byte) 130; 这样强制转换就不会报错了。

    结果:

    做法分析,计算机是对补码运算的,所以要走一遍原码反码补码,在倒着走一遍才可以得出答案。 

    130的二进制数为10000010

    原码、反码、补码都为 10000010  (正数的原 反 补一样,负数 补码+1)

    int型  00000000 00000000 00000000  10000010

    因为byte型,所以做截取操作  10000010 (这是补码)

            符号位    数值位

    补码    1        0000010

    反码    1        0000001

    原码    1        1111110

    然后:1代表负数 ,后边的是126

    -126

    12.ASCII码表;

    1.

    System.out.println(‘a’+1);

    ‘a’  97 后面的以此加 1

    ‘A’  65

    ‘0’  48

    2.

    只要字符串在前,+相当于连接符,结果自然就是字符串形式

    如 System.out.println (“5+5=”+5+5)  \\5+5=55

    System.out.println (5+5“=5+5”)  \\  10=5+5

    如果是整数+’a’ 会看成是 97 +1

    双引号,表示输出字符串,单引号可以看成是char(字符)。

    习惯;

    1.

    包名是:起包名时,全是小写,多级包名时。给什么公司做,习惯就用该公司域名的反写。如 com.baidu

    2.

    写代码的注释;  一般写了需求和分析就行。后两步直接写代码就行。

    第二课程 java 的基础语法的基础

    1.关键字都是小写,会变为蓝色

    2.标志符:

    标志符就是给类,接口,方法,变量等起的名字。

    起名字规则(只允许有这些东西):

    英文大小写字母

                数字字符

                $和_

    注意事项:不能以数字开头

              不能是关键字

              Java语言严格区分大小写(关键词有了一个字母大写,就不是关键词了)

    3.常见的命名规则:

    1.举例:定义一个学生类

    class Student{}

    不要用 class S{}因为S人不知道是什么意思

    2.包(因为在同一个路径下不能用建立两个一样的类名,但是又要见名知意所以就要想办法区分开)命名全部是小写。

    包其实就是文件夹。用以把相同的类名区分(每个字母都是小写)

      单级包:liuyi

      多级包:cn.itcase  (.是用来区分的级的。)

    3.类和接口  命名一个时,首字母大写。多个时,每个单词首字母必须大写

      接口可以看做是和类一样的东西。

      一个单词:Student

    多个单词: HelloWorld,StudentName

    4.方法和变量

    一个单词命名单词首字母必须大写

      一个单词:main ,age

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

      举例:studentAge.  showStudentNames()  【加()的是方法,不加的变量】

    5.常量 (每个字母都大写)

    一个单词全部大写 如:PI

    多个单词每个字母大写用_分开  如:STUDENT_MAX_AGE

    4.注释

    1.单行注释//

    2.多行注释不能嵌套使用:/* */(多行注释不能嵌套,会没法运行)

    3.文档注释;被javadoc工具解析生成一个说明书,面对对象部分讲解(没讲)

      //** */比多行注释多了一个*

    注释有两个作用:

    一是:可以通过注释来找程序的问题。可以帮我们调试程序。

    二是:可以提高程序的阅读性

    6.常量

    1.字面值常量与自定义常量(后面讲)

    字面值常量

              1 字符串常量  如 括号内形式“ HelloWorld”输出的字符串内容

              2 整数性常量  如 括号内形式 100 200

              3 小数常量  如  括号内形式  10.2  11.22

          4 字符常量(用单引号栝起来的单个字符)  如 括号内形式 ‘a’ ‘b’  ‘0’(这里0是一个字符不是数字)’ab’(这是错误的写法)

    5布尔常量

    比较特殊:括号内形式 :只有ture和false

              6 空常量(后面讲)

                如:null

    7.进制

    2进制只有两个状态,所以用8个二进制数来表示一个数据,这个单位叫字节

    1byte(字节)=8bit 、、1k=1034byte

    8进制是吧110  100  111 三个数字分为一块然后用十进制算法算出表示

    16进制是吧1110  0001 四个一组用十进制的算法算出然后表示

    规则: 进制越大,表示形式越短

    3.

    因为直接看数据分不出是几进制所以

    二进制开头是0b  (后缀一个B也表示为二进制)

    八进制开头是0 

    十六进制开头是0x

    写程序出错:

    1.把100也加上引号,整数不用加

    2.修改过后没有保存,就运行所以结果不会变

    8.原码,反码,补码

    在计算机内,有符号数有3种表示方法:原码,反码,补码。

    计算机所有的运算都是采用数据对应的二进制补码运算的。

     

    原码:

    正数的原码最高位为0

    负数的原码最高位为1

    其他是数值位(数值位前面的用0补齐够7位)

        符号位  数值位

    +7    0      0000111

    -7    1      0000111

    反码:

        正数的反码与原码一样

        负数的反码符号位不变,数值位每一位取反,就是0变1,1变0

            符号位  数值位

    +7  0      0000111

    -7  1      1111000

    补码:

        正数的补码与原码一样

    负数的补码是补码+1(当然是最小位)(注意:不能先写符号位了,因为类似111111111最后符号位会变)

            符号位    数值位

    +7    0      0000111

    -7    1      1111001 

    1.已知某数x的原码10110100B。求补码与反码

     

    反码1  1001011

    补码1  1001100

    2.已知某数x的补码11101110B。求原码

    补码:1  1101110

    反码:1  1101101

    原码:1  0010010

    9.什么是变量

    10.数据类型

    1.

    Java是一种强数据类型的语言。

    2.分为基本数据类型和引用数据类型

    基本数据类型:4类8种

    整数:

              所占字节数

      byte      1

      short      2   

      int        3

      long        4 

    浮点数(小数):

                    所占字节数

      float(单精度)      4

      double(双精度)    8

           

    字符:

            所占字节数

      char :    2

    布尔:

            所占字节数(很多地方没有明确给定,但因为只有0、1两种情况,所以认为是1)

    boolean:  1

    各种类型的取值正负都可byte(1字节):  -128~127

    整数默认int 小数默认 double

    引用数据类型3种(以后讲)

    3.

    1byte=8bie \\ 1字节等于8位  (对于原码的问题:如果第8位刚好是数值型怎么办,还怎么分原码,那就用2字节来表示,进而区分原码……)

    1.定义变量注意事项:

    当定义的整数型变量超过 int 型时,就需要用long型写,需要注意用long时long=100000000L(L大小写都可以)。如果不写还是会按int型处理,然后会报错。

    同理double型也是,如果用float型时,会提醒你可能损失精度,因为float型时4字节,可能会自动删除变量超出的部分,所以会提醒可能损失精度;

    如图

    字符型如图:

    布尔型;

    2.定义变量注意的问题:

    变量适用的范围:

    1.格式最好是

     

    2.一行可以定义多个变量,但是不建议。如

    3.可以同时定义多个如:

    4.可以先定义一个变量,而不给初始值,只要在使用(输出)前 初始化就行;如:

    5不能这样:

    用,隔开会以为是同一种类型。所以计算机识别不了int 属于int类型,所以好会报错。

    11.运算符

    1.

    一般来说用运算符的时候,左右两边数据类型要一致。

    +中可以直接在括号内写然后实现运算结果如:…….println(3+4)

    2.

    如果前后数据类型不一致,都向大的靠近(不让就会提示可能损失精度)。如图:

    下图是算的原理;

    字节少的先変为,字节更长的形式,在进行运算。如图:

    3.

    强制转换:

    不要随意去使用强制转换,因为可能确会损失精度。

    就是说,当你知道。大的与小的运算结果,明明byte字节够用时,可以强制转换。

    写法: byte c = (byte)(a + b); 

    正常写法: byte c = a + b ;

    注意:如果后面是一个变量如:byte c = (byte) a  这里不用加括号,只有多个才用加。

    4.

    float a = (float) 29.323;

    float a= 29.323F;

    这两个是一样的,但是第一个是把double类型,截取然后成为float类。而第二个,本身就可以是一个float类型。

    面试题:

    题1.

    答案是:

    第二句会编译失败,因为第二句的变量相加是会自动变为int型,而b是byte,把int给byte会损失精度,所以会报错。变量赋值给变量是先在运行的时候(.class)文件时,才运算。

    第三句是常量加法,是先计算出来后面的结果,如果结果在byte类型里,就不提示会损失精度,不报错。

    byte b1 = 2 ,b2 = 3 , b 这种写法是可以的。

    反编译工具:xjad.exe  可以把class文件读出来。方便差错。

    题2.

    有问题:因为byte取值范围 -128--127,130超过了,所以会报错。

    byte b = (byte) 130; 这样强制转换就不会报错了。

    结果:

    做法分析,计算机是对补码运算的,所以要走一遍原码反码补码,在倒着走一遍才可以得出答案。 

    130的二进制数为10000010

    原码、反码、补码都为 10000010  (正数的原 反 补一样,负数 补码+1)

    int型  00000000 00000000 00000000  10000010

    因为byte型,所以做截取操作  10000010 (这是补码)

            符号位    数值位

    补码    1        0000010

    反码    1        0000001

    原码    1        1111110

    然后:1代表负数 ,后边的是126

    -126

    12.ASCII码表;

    1.

    System.out.println(‘a’+1);

    ‘a’  97 后面的以此加 1

    ‘A’  65

    ‘0’  48

    2.

    只要字符串在前,+相当于连接符,结果自然就是字符串形式

    如 System.out.println (“5+5=”+5+5)  \\5+5=55

    System.out.println (5+5“=5+5”)  \\  10=5+5

    如果是整数+’a’ 会看成是 97 +1

    双引号,表示输出字符串,单引号可以看成是char(字符)。

    习惯;

    1.

    包名是:起包名时,全是小写,多级包名时。给什么公司做,习惯就用该公司域名的反写。如 com.baidu

    2.

    写代码的注释;  一般写了需求和分析就行。后两步直接写代码就行。

    相关文章

      网友评论

          本文标题:第二章

          本文链接:https://www.haomeiwen.com/subject/rjbfzqtx.html