黑马程序员--java基础语法上篇(day02)

来源:互联网 发布:淘宝试用中心手机版 编辑:程序博客网 时间:2024/05/01 14:57
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

                                                             


这是我学习Java的第二天,老师主要讲了Java的基础语法。其实我觉得学习语法就像我们平常学习英语一样,学习一种语言必须先要掌握它的语法格式,通过语法格式,我们可以把一些必要的内容串联起来,从而组成一段一段完整的程序代码,作为一位学习Java的学生来说必须要做的事就是总结。以下就是今天学习的Java语法基础。


1:关键字(掌握)
      (1)被Java语言赋予特定含义的单词
      (2)特点:
             全部小写。
      (3)注意事项:
              A:goto和const作为保留字存在。
              B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记


2:标识符(掌握)
      (1)就是给类,接口,方法,变量等起名字的字符序列
      (2)组成规则:
              A:英文大小写字母
              B:数字
              C:$和_
     (3)注意事项:
             A:不能以数字开头
             B:不能是java中的关键字
             C:区分大小写
     (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)就是对程序进行解释说明的文字
      (2)分类:
              A:单行注释//
              B:多行注释 /**/
              C:文档注释(后面讲) /** */
      (3)把HelloWorld案例写了一个带注释的版本。
              我们要写一个程序的过程。
                         需求:
                         分析:
                         实现:
                         代码体现:
     (4)注释的作用
             A:解释说明程序,提高了代码的阅读性。
             B:可以帮助我们调试程序。



4:常量(掌握)
      (1)在程序执行的过程中,其值不发生改变的量
      (2)分类:
              A:字面值常量
              B:自定义常量(后面讲)
      (3)字面值常量
              A:字符串常量 "hello"
              B:整数常量12,23
              C:小数常量12.345
              D:字符常量'a','A','0'
              E:布尔常量true,false
              F:空常量null(后面讲)
     (4)在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开头。


5:进制转换(了解)
      (1)其他进制到十进制
             系数:就是每一个位上的数值
             基数:x进制的基数就是x
             权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
             结果:系数*基数^权次幂之和。
     (2)十进制到其他进制
             除基取余,直到商为0,余数反转。
     (3)进制转换的快速转换法
              A:十进制和二进制间的转换
                     8421码。
              B:二进制到八进制,十六进制的转换


6:变量(掌握)
      (1)在程序的执行过程中,其值在某个范围内可以发生改变的量
      (2)变量的定义格式:
              A:数据类型 变量名 = 初始化值;
              B:数据类型 变量名;
                     变量名 = 初始化值;


7:数据类型(掌握)
      (1)Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
      (2)分类:
              A:基本数据类型:4类8种
              B:引用数据类型:类,接口,数组。
      (3)基本数据类型
              A:整数占用字节数
                     byte1
                     short2
                     int 4
                     long8
                     B:浮点数
                     float4
                     double8
              C:字符
                     char2
              D:布尔
                     boolean1

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

                     长整数要加L或者l。
                     单精度的浮点数要加F或者f。


8:数据类型转换(掌握)
      (1)boolean类型不参与转换
      (2)默认转换
              A:从小到大
              B:byte,short,char -- int -- long -- float -- double
              C:byte,short,char之间不相互转换,直接转成int类型参与运算。
      (3)强制转换
              A:从大到小
              B:可能会有精度的损失,一般不建议这样使用。
              C:格式:
                     目标数据类型 变量名 = (目标数据类型) (被转换的数据);


9:运算符(掌握)

      (1)算术运算符
              A:+,-,*,/,%,++,--
              B:+的用法
                    a:加法
                    b:正号
                    c:字符串连接符
              C:/和%的区别
                    数据做除法操作的时候,/取得是商,%取得是余数
              D:++和--的用法
                    a:他们的作用是自增或者自减
                    b:使用
                            **单独使用
                                  放在操作数据的前面和后面效果一样。
                                  a++或者++a效果一样。
                           **参与操作使用
                                  放在操作数的前面:先自增或者自减,再参与操作
                                   int a = 10;
                                   int b = ++a;
                                   放在操作数的后面:先参与操作,再自增或者自减
                                   int a = 10;
                                   int b = a++;
     (2)赋值运算符
             A:=,+=,-=,*=,/=,%=等
             B:=叫做赋值运算符,也是最基本的赋值运算符
                    int x = 10; 把10赋值给int类型的变量x。
            C:扩展的赋值运算符的特点
                   隐含了自动强制转换。


     (3)比较运算符
             A:==,!=,>,>=,<,<=
             B:无论运算符两端简单还是复杂最终结果是boolean类型。
             C:千万不要把==写成了=
     (4)逻辑运算符
             A:&,|,^,!,&&,||
             B:逻辑运算符用于连接boolean类型的式子
             C:结论
                    &:有false则false
                     |:有true则true
                     ^:相同则false,不同则true。
                        情侣关系。
                     !:非true则false,非false则true

                     &&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
                     ||:结果和|是一样的,只不过有短路效果。左边是true,右边不执行。
      (5)位运算符(了解)
              A:^的特殊用法
                      一个数据针对另一个数据位异或两次,该数不变
              B:面试题
                     a:请实现两个变量的交换
                            **采用第三方变量
                            **用位异或运算符
                                  左边a,b,a
                                  右边a^b
                    b:请用最有效率的方式计算出2乘以8的结果
                         2<<3
      (6)三元运算符
              A:格式
                     比较表达式?表达式1:表达式2;
              B:执行流程:
                     首先计算比较表达式的值,看是true还是false。
                     如果是true,表达式1就是结果。
                     如果是false,表达式2就是结果。
10:流程控制语句
        (1)顺序结构 从上往下,依次执行
        (2)选择结构 按照不同的选择,执行不同的代码
        (3)循环结构 做一些重复的代码


11:if语句(掌握)
       (1)三种格式
               A:格式1
                      if(比较表达式) {
                             语句体;
                      }

                    执行流程:
                           判断比较表达式的值,看是true还是false
                           如果是true,就执行语句体
                           如果是false,就不执行语句体

              B:格式2
                     if(比较表达式) {
                           语句体1;
                     }else {
                          语句体2;
                     }

                     执行流程:
                            判断比较表达式的值,看是true还是false
                            如果是true,就执行语句体1
                            如果是false,就执行语句体2

              C:格式3
                     if(比较表达式1) {
                                语句体1;
                     }else if(比较表达式2){
                                  语句体2;
                     }
                           ...
                      else {
                                  语句体n+1;
                      }

                     执行流程:
                            判断比较表达式1的值,看是true还是false
                            如果是true,就执行语句体1
                            如果是false,就继续判断比较表达式2的值,看是true还是false
                            如果是true,就执行语句体2
                            如果是false,就继续判断比较表达式3的值,看是true还是false
                             ...
                            如果都不满足,就执行语句体n+1
      (2)注意事项
              A:比较表达式无论简单还是复杂,结果是boolean类型
              B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
                  建议:永远不要省略。
              C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
              D:else后面如果没有if,是不会出现比较表达式的。
              E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。

      (3)三元运算符和if语句第二种格式的关系
              所有的三元运算符能够实现的,if语句的第二种格式都能实现。
              反之不成立。

              如果if语句第二种格式控制的语句体是输出语句,就不可以。
              因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。

    


0 0
原创粉丝点击