Java语言主要由5种元素组成
1.标识符概念:变量以及类和方法都需要一定的名称,这种名称就叫做标识符
命名规则
①以字母,_,$开头,由字母,_,$和数字组成
②一定不能够是Java中的关键字
③标识符不能包含空格
④Java中的标识符严格区分大小写
⑤注意:在起名字时,为了提高阅读性,要尽量有意义,见名知意
命名约定
①常量用大写字母,变量用小写字母开始,类首字母以大写字母开始
②如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始
③下划线虽然可以作为标识符的一员,但常用于常量名的单词分隔
④Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符
2.关键字概念:是Java语言本身使用的标识符,它有其特定的语法含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
所有的Java关键字不能被用作标识符
3.运算符按照功能来分,有7种:赋值运算符,算术运算符,关系运算符,条件运算符,逻辑运算符,位运算符,其他运算符(new,instanceof,强制类型转换运算符)。另外,算术运算符和赋值运算符可以结合在一起形成算数赋值运算符
按照连接操作数的多少来分:一元(目)运算符,二元(目)运算符,三元(目)运算符
①算术运算符
双目运算符:+,-,*,/,%
单目运算符:++,--,+,-
②字符串连接符
当“+”用在表达式中的时候,如果其中有一个操作数是字符串类型,则Java会自动将另外的操作数也转换成字符串,然后将这些字符串相连起来生成一个新的字符串
注意:进行打印时,无论任何类型,都自动转换成字符串进行打印
③关系运算符
用来比较两个值,得到的结果为布尔类型,取值为true或false
关系运算符都是双目运算符
关系运算符主要有:>,>=,<,<=,==,!=
④逻辑运算符
包括逻辑与(&),逻辑或(|)和逻辑非(!)
除此之外,java语言还提供了逻辑运算符&&,||
利用&,| 做运算时,运算符左右两边的表达式都会被运算执行,最后两表达式再进行与,或运算
利用&&,|| 做逻辑运算时,如果只计算运算符表达式左边的结果即可确定与,或的结果,则右边的表达式将不会执行
⑤赋值运算符(双目)
赋值运算符“=”用于把运算符“=”右侧的数据或表达式赋给左侧的变量
在赋值运算符两侧的类型不一致的情况:自动类型转换,强制类型转换
广义赋值运算符:+=,-=,*=,/=,%=,&=,|=(一般形式为:变量名 运算符 = 表达式)
⑥三目条件运算符
结构为:(条件)? 结果1:结果2;
条件表达式的计算过程为:首先计算作为条件的逻辑表达式或关系表达式,返回值为true时表达式的值为结果1,返回值是false时表达式的值为结果2
三目条件表达式可取代简单的二分支结构,书写简单,并有较快的运算速度
⑦其它运算符
对象运算符instanceof:判断某个具体对象是否是某个类(或其他的子类)的一个实例化对象,若是,则返回true,否则返回false
内存分配运算符new:为数组和类对象分配内存空间
⑧表达式
表达式由运算符和操作数组成,对操作数进行运算符指定的操作,并得出一个结果
操作数可以是变量,常量或方法调用等
在表达式后边必须以分号“ : ”结束
表达式运算顺序:优先级从高到低的顺序,优先级相同的按照从左到右的顺序
括号运算符:运算优先级最高
不论任何时候,当你一时无法确定某种计算的执行次序时,可以使用加括号的方法明确为编译器指定运算顺序,这也是提高程序可读性 一个重要方法
4.分隔符概念:是用来区分源程序中的基本成分,可使编译器确认代码在何处分隔
分隔符主要分为如下几种:
注释:①//...用于单行注释②用于多行注释③是Java特有的doc注释,这种注释主要为支持JDK工具的Javadoc而采用的。Javadoc能识别注释中用标记“@”标识的一些特殊变量,并把doc注释加入到它所生成的HTML文件中
空白符:包括空格,回车,换行和制表符(Tab键)等符号,用来作为程序中各种基本成分之间的分隔符
普通分隔符:用来区分程序中的各种基本成分,但它在程序中有确定的含义,不能忽略(Java有4种普通分隔符:①大括号,用来定义复合语句,方法体,类体及数组的初始化②分号,是语句结束的标志③逗号,分隔方法的参数和变量说明等④冒号,说明语句标号)
5.常量和变量常量
在程序运行过程中,其值不变的量
Java中的常量使用关键字final修饰
final既可以修饰简单数据类型,也可以修饰复合数据类型
复合数据类型常量可以是Java类库定义的复合数据类型,也可以是用户自定义的复合数据类型
常量声明格式:final 数据类型 常量名 = 值
说明:①简单数据类型常量其值一旦确定,就不能被改变②复合数据类型常量指的是引用不能被改变,而其具体的值是可以改变的③常量既可以是局部常量,也可以是类常量,如果是类常量,一般在数据类型前加上static关键字修饰④常量名一般大写,多个单词之间用下划线连接
变量
指在程序执行过程中,其数值可以改变的量
变量既可以是简单数据类型也可以是复合数据类型
Java中的变量要遵循“先声明,再使用”原则
变量包括变量名和变量值两部分
变量的声明格式:数据类型 变量名或者数据类型 变量名1,...,变量名k;
变量的分类:按作用范围分为全局变量和局部变量;按类型分为基本类型和对象类型;按所属范围分为类变量和成员变量
全局变量:是指在类中声明的类或对象的成员,又称成员变量,不能在某一类的方法里声明
全局变量(即成员变量)的作用范围是整个类,即在该类的各个方法中可以直接使用
任何对全局变量(即成员变量)值的改变,都可能对后续操作产生影响
局部变量:是指在一个方法或一个方法的程序块中声明的变量,又称为本地变量
局部变量(即本地变量)的作用范围是声明该变量的方法或某一方法的程序块内,不能在其他地方引用
如果变量是简单数据类型:变量名用标识符命名,对应一定数量的内存存储单元,其单元数的多少由变量数据类型决定;变量值指定存储单元存放的具体内容
如果变量是复合数据类型:变量名用标识符命名,对应的内存存储单元存放的是32位中间地址(heap),称为引用;变量值指定实体的具体内容,一般用new加构造函数运行时初始化,具体的值被保留在heap中
变量的初始化:全局变量(即成员变量)如果不初始化,则取默认值;局部变量(即本地变量)必须初始化,否则将出错
内存分配:变量类型不同,内存中的保存位置也不同,使用上存在差异
变量的引用:①传值引用:主要针对基本数据类型,特点是传递变量的实际值,是原值的一个拷贝,一个变量值的改变不会影响到另一个变量的值②传值引用:主要针对对象操作
变量的作用域:一对{ }之间有效
二.数据类型 1.Java中允许使用的数制①二进制
数符:0,1
运算规则:逢二进一,借一当二
②八进制:以0开头的数为八进制数
数符:0,1,2,3,4,5,6,7
运算规则:逢八进一,借一当八
③十进制:以1~9开头的数为十进制数
④十六进制:以0x开头的数为十六进制数
数符:0~9,A~F(大小写不限)
运算规则:逢十六进一,借一当十六
2.分类①基本数据类型
共有8种,分为4小类,分别是逻辑型,字符型,整型和浮点型
数值类型:整数类型(byte,short,int,long),浮点数类型(float,double)
1)整型
int最常使用,但要注意取值范围
要表示一个数为长整型,需要在这个数后面加上一个字母L(或小写l)
字符类型:char
布尔类型:boolean
②复合数据类型
包括数组,类和接口等
类类型
数组
接口类型:interface
基本数据类型和复合数据类型的区别:内存中的保存方式的不同
3.数据类型之间的转换Java语言不允许数值类型和布尔类型之间进行转换
整型,实型,字符型数据可以混合运算
①规则
自动类型转换:也称为隐式类型转换
所有的整数转换为小数
位数少的类型转换为位数多的类型
强制类型转换:需要采用显式类型转换
位数多的类型向位数少的类型进行转换
所有的小数转换为整数
其一般形式为:(类型)表达式
三.流程控制 1.顺序结构根据语句出现的先后顺序依次执行
2.分支选择结构主要功能:实现程序的流程控制,即根据一定的条件有选择地执行或跳过特定的语句
Java分支语句:if...else语句,switch语句
switch语句中的switch,case,default是关键字,default子句可以省略
case后面的常量必须是整数或字符型,而且不能有相同的值
通常在每一个case中都应该使用break语句提供一个出口,使流程跳出开关语句。否则,在第一个满足条件case后面的所有语句都会被执行,这种情况叫做落空
switch语句有关规则:①switch(表达式)中表达式的返回值必须是下述几种类型之一:int,byte,char,short,枚举,字符串②case子句中的值必须是常量,且所有case子句中的值应是不同的③default子句是任选的④break语句用来在执行完一个case分支后使程序跳出switch语句块
if和switch的异同
相同点:都可以实现多分支结构
不同点:switch只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断;多重if处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况
3.循环结构循环语句是用来控制那些根据运行期情况需要反复执行的语句系列
return语句
return语句用于方法的返回上,当程序执行到return语句时,终止当前方法的执行,返回到调用这个方法的语句
return语句通常位于一个方法体的最后一行,有带参数和不带参数两种形式,带参数形式的return语句退出该方法并返回一个值
当方法用void声明时,说明不需要返回值(即返回类型为空),应使用不带参数return语句
不带参数的return语句也可以省略,当程序执行到这个方法的最后一条语句时,遇到方法的结束标志“ } ”就自动返回到调用这个方法的程序中
带参数的return语句的语法形式:return 表达式
当程序执行到这个语句时,首先计算“表达式”的值,然后将表达式的值返回到调用该方法的语句
返回值的数据类型必须与方法声明中的返回值类型一致,可以使用强制类型转换来使类型一致



