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,这个值可以是byte、short、char、int。 default语句是可选的,如果所有case都不满足,则会执行default。 一旦匹配到一个case,程序就会从这个case向下执行,执行完一个case之后不会跳过其他的case, 如需跳过请使用break。 循环结构:通过循环语句让同一段代码反复执行多次,执行完毕程序才会继续往后运行 a. while 先判断while中的表达式结果是否为true,true则执行循环体,执行结束之后再次判断, 如果表达式结果为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基础知识的经典列子 |