黑马程序员-(2)Java语法基础知识框架

时间:2021-07-07 12:26:51
 ------- android培训java培训、期待与您交流! ---------- 


    Java语言基础组成(关键字,标识符,注释,常量与变量,运算符,语句,函数,数组)
    1.关键字 (定义:被Java语言赋予了特殊含义的单词   特点:关键字中所有字母都为小写)

    a.用于定义数据类型的关键字:class interface byte short int long flaot double char boolean void
    b.用于定义数据类型值的关键字:ture false null
    c.用于定义流程控制的关键字:if else switch case default while  do for break continue return
    2 .标识符(在程序中自定义的一些名称,由26个英文字母大小写、数字:0-9、符号:_$组成)
    合法标识符:a.数字不可以开头 b.不可使用关键字
    注:尽量取有意义的标识符
    Java中的名称规范:
     类名、接口名:所有单词首字母大写,驼峰式命名,例如:XxxYyyZzz 
    变量名、函数名: 第一个单词首字母小写,其他单词首字母大写,驼峰式命名,例如:xxxYyyZzz
     
    常量名:所有字母都大写,单词之间用下划线分割,例如:XXX_YYY_ZZZ
     
    包名:全部小写,例如:xxx.yyy.zzz
    3.注释:(1)单行注释格式://注释文字(2)多行注释格式:/*注释文字*/  

    (3)文档注释格式 :/**注释文字*/  
     4.常量与变量
    (1)常量:表示不能改变的数值

    Java中常量的分类:
    (1)整数常量:所有整数(4个字节)
    (2)小数常量:所有小数 (4个字节)
    (3)布尔型常量:ture false
    (4)字符常量:将一个数字或字母或符号用单引号(‘’)标识 
    (5)字符串常量:将一个或多个字符用双引号标识。
    (6)null常量:只有一个数值null.
    对于整数,Java有三种表现形式:十进制,八进制,十六进制
    (2)变量:就是将不确定的数据进行存储,在内存中开辟一空间

    (通过明确数据类型,变量名称完成)
    变量分类:
    a.基本数据类型:8种

     整数:
     byte       1个字节,最小值:-128,最大值:127
     short       2个字节,最小值:-32768,最大值:32767
     int          4个字节,最小值:-2147483648,最大值:2147483647
     long        8个字节,最小值:- 9223372036854775808,最大值:9223372036854775807
     浮点数:
     float        4个字节,最小值:1.4E-45,最大值:3.4028235E38
     double     8个字节,最小值:4.9E-324,最大值:1.7976931348623157E308
     字符:
     char        2个字节,最小值:0,最大值:65535
     布尔:
     boolean   1个字节,true或false
    b.引用数据类型:
     类(class)、接口(interface)、数组([])都是引用数据类型,除了8种基本数据类型,

    其他所有类型都是引用数据类型。 
     类型转化
     a.  自动类型转换
     在byte、short、char参与运算的时候会自动提升为int,

    相当于将一个占空间较小的值放入了一个较大的空间。
     b.  强制类型转换
     可以将一个占空间较大的值使用(类型)的形式强制放入一个较小的空间,有可能损失精度。
     c.  字符串转换
     任何值和字符串相加都会得到字符串。
      变量的作用域与生命周期:
     作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。

    相同的作用域中不能定义两个同名变量。

     生命周期:变量的生命周期从定义时开始,超出作用域后结束。变量生命周期以外不能使用。
    什么时候定义变量:当数据不确定时,需要对数据进行存储时,就定义一个变量来进行存储工作。
    5.运算符
    1 .算数运算符:
     加号:在操作数字、字符、字符串时是不同的,两个字符相加得到的是码表值,

    两个字符串相加是将字符串连接在一起。
     除号:整数在使用除号操作时,得到的结果仍为整数(小数部分忽略)。
     取模:模数的符号忽略不计,结果的正负取决于被模数。
     自增:符号在前就是先运算后取值,符号在后则是先取值后运算。
    2.赋值运算符:(+=、-=、*=、/=、%=) 
    等于:可以多个连用,例如:x = y = z = 5;
     
    加等于:x += 5; 相当于 x = x + 5;
     3.比较运算符:==、!=、>、<、>=、<=、instanceof 比较运算符运行结束之后返回的都是boolean值。
     4.逻辑运算符: &  两边都为true结果才为true,只要有一边是false,结果就是false
     |     两边都为false结果才为false,只要有一边是true,结果就是true
     ^      判断两边是否不同,不同则为true,相同则为false
     !       取反,!true结果是false,!fasle结果是true
     &&    和&结果相同,具有短路效果,如果前半是false,表达式结果一定为false,不运行后一半
     ||       和||结果相同,具有短路效果,如果前半是true,表达式结果一定为true,不运行后一半
     逻辑运算符运行结束之后返回的也是boolean值
    5.位运算符: 
    <<   左移    将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。
     >>   右移    将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1

    右移几位就相当于除以2的几次方。
     >>>        无无符号右移       将二进制的每一位向右移,高位补0。

    正数移动没区别,负数移动后变为正数
    三元运算符:(条件表达式)?表达式1:表达式2;如果条件表达式为ture,结果运行表达式1;

    若为false,则运行表达式2 
    6.语句: 
    顺序结构
    就是程序从上到下一行一行执行的结构,中间没有判断和跳转,直到程序结束
    判断结构:程序具备多个分支,通过条件判断决定程序选择那一条分支执行
     a.  if语句
     通过if...else if...else决定程序流程。如果if中的条件满足则执行其中语句,if未满足则继续判断else if

    如果满足则执行,不满足继续判断下一个else if,如果所有都不满足,则执行else
     b.  switch语句
     通过switch...case...default语句控制程序流程。
     根据switch后括号中的值判断运行哪一个case,这个值可以是byteshortcharint
     default语句是可选的,如果所有case都不满足,则会执行default
     一旦匹配到一个case,程序就会从这个case向下执行,执行完一个case之后不会跳过其他的case

    如需跳过请使用break
     循环结构:通过循环语句让同一段代码反复执行多次,执行完毕程序才会继续往后运行
     a.  while
     
    先判断while中的表达式结果是否为truetrue则执行循环体,执行结束之后再次判断,

    如果表达式结果为false则跳出循环 
     
    b.  do...while
     
    先执行一次循环体,然后判断while中的表达式,如果是true继续执行,如果是false则跳出循环 
     
    c.  for
     
    for循环的括号中有三条语句,都是可选项。
     语句1:这条语句会在整个循环开始之前执行,且仅运行一次,不参与循环。
     语句2:必须是一个返回boolean值的表达式,如果写了这个语句那么每次循环开始之前会判断,

    true则执行循环,false则不执行。没写则直接执行。
     语句3:这条语句在每次循环体运行结束之后执行。
    7.函数: 函数就是一段有名字的代码,可以完成某一特定功能。

     如果有一段代码要使用多次,我们可以给它起个名字,每次使用时通过名字调用,

    这样就不用每次都写一大段代码了。

    如果某个函数在执行的时候需要调用者传入数据,那么可以定义参数列表,用于接收数据。

    如果函数运行之后

    需要返回给调用者数据,那么需要指定返回值类型,并且用关键字return返回。
     定义函数的3个必要条件:函数名、参数列表、返回值类型、如果不需要参数也要写小括号,

    如果没有返回值类型要写void。
     形参:在定义函数时小括号中的参数,用来接收数据的参数。
     实参:在调用函数时真正传入的参数,传递给函数的数据。
     参数类型:函数的参数的类型,一旦定义传入时必须匹配

     返回值:函数运行结束后返回的值,使用return关键字返回。
     返回值类型:函数运行结束后返回的值的类型,在类型非void情况下必须返回,而且必须类型匹配。
    函数的重载
    多个函数的函数名相同,参数列表不同(个数、顺序、类型),这就是函数的重载。

    在调用函数的时候通过传入的实参找到匹配的函数调用。函数的重载和返回值类型无关。
    8.数组:(存放于堆内存中,以实体存在,同一种类型数据的集合,就是一个容器)
    格式:元素类型[]数组名=new 元素类型[元素个数]
    栈:存放局部变量,数据使用完毕会自动释放
    堆:存放数组实体,有默认初始值,垃圾回收机制 

    学习心得:先把Java基础知识的框架列出来,下篇日志再继续总结Java基础知识的经典列子