javaSE
java程序结构
Java源程序一般由一个或多个编译单元组成,每个编译单元只能包含以下内容(空格和注释除外):package语句、import语句、类声明、接口声明
package语句:Java可最多只有一行package语句,若有该语句则必须是源程序的第一行语句(注释语句除外)
import语句:Java可有零个或多个import语句,这类语句必须位于所有类定义之前,当源程序使用了除java.lang包以外的类时,无论是系统类还是自己定义包中的类,都必须用import语句引入,以通知编译器在编译时找到相应的类文件
类定义:定义1个或者多个类定义。
接口(interface)定义:定义0个或者多个接口。
1、package语句:Java可最多只有一行package语句,若有该语句则必须是源程序的第一行语句(注释语句除外)
2、import语句:Java可有零个或多个import语句,这类语句必须位于所有类定义之前,当源程序使用了除java.lang包以外的类时,无论是系统类还是自己定义包中的类,都必须用import语句引入,以通知编译器在编译时找到相应的类文件
3、类定义:定义1个或者多个类定义。
4、接口(interface)定义:定义0个或者多个接口。
Java关键字
概念
Java关键字是字符序列,在Java中具有特定含义和用途,不能用作其他用途
关键字列表

Java注释
// 注释一行
/* */ 表示一行或多行注释
/** **/ 表示文档注释
Java标识符
Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字
标识符中的字母是区分大小写的
命名规则
1、标识符尽量采用有意义的字符序列,便于从标识符识别出所代表的基本含义,即顾名思义
2、包名:包名是全小写的名词,中间可以由点分隔开,例如java.awt.event.
3、类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如HelloWorldApp。
4、接口名:命名规则与类名相同,例如Collection。
5、方法名:往往由多个单词合成,第一个单词通常为动词且首字母为小写,其他每个单词的首字母都要大写,例如:balanceAccount和isButtonPressed。
6、变量名:全小写,一般为名词,例如使用area表示面积变量,length表示长度变量等。
7、常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如YEAR和MAX_VALUE;如果是对象类型的常量,则是大小写混合,由大写字母打单词隔开。
8、对常量和方法而言,其名称不宜以“_”(下划线)和“$”为第一个字符,因为这两个字符对于内部有特殊含义。
基本数据类型
基本数据类型(也称作简单数据类型)
逻辑类型 boolean
字符类型 char
整数类型 int、byte、short、long
实数类型 double和float
复合数据类型 包括数组、类、和接口
基本数据类型转换
规则一
当把精度低的变量的值赋给精度高的变量时,系统自动完成数据类型的转换
规则二
当把精度高的变量的值赋给精度低的变量时,必须使用显示类型转换运算
规则三
char与byte或short之间的赋值必须实行强制转换
注意
(1)强制转换运算可能导致精度的损失。当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围
(2)布尔类型不允许进行任何数据类型转换
(3)对于引用数据类型,类型转换只存在于有继承关系的类中
运算符和表达式
1、Java算数运算符
主要包括一元运算(如+,-,++及--)和二元运算(如+,-,*,/及%),与c/c++基本相同
注意
(1)%运算符不但可以对整型数据进行运算,还可以对浮点型数据进行运算,例如:3.6%2.5的值等于1.1。这点在C/C++中是不允许的
(2)+即可用于数值型数据运算,还可用于字符串的连接。
(3)++X,--X:表示在使用x之前,先使x的值加(减)1,即“先运算后使用”
(4)x++,x--:表示在使用x之后,使x的值加(减)1,即“先使用后运算”
2、关系运算符与关系表达式
Java关系运算符用来比较两个值得关系,关系运算符的运算结果是boolean型数据,当运算符对应的关系成立时,运算结果是ture,否则是false。
运算符:<,<=,>,>=,=,!=
3、逻辑运算符合逻辑表达式
逻辑运算用来实现boolean型数据的逻辑“与”(&&)、或(||)和“非”(!)运算,运算结果是boolean型数据。
4、赋值运算符与复制表达式
(1)赋值运算符
格式:变量=表达式
作用:将一个表达式的值赋值给一个变量
(2)复合赋值运算符
常见的运算符有+=,-=、*=、/=及%=
(3)赋值表达式
形式:<变量><赋值运算符><表达式>
5、位运算符
&:二元运算,逻辑以,参与运算的两个操作数,如果两个相应位都为1(或true),则该为的结果为1(或true),否则为0(或false)
|:二元运算,逻辑或,参与运算的两个操作数,如果两个相应位有一个为1(或true),则该位的结果为1(或true),否则为0(或false)
^:二元运算,逻辑异或,参与运算的两个操作数,如果两个相应位的值想反,则该位的结果为1(或true),否则为0(或false)
~:一元运算,对数据的每个二进制位按位取反
<<:二元运算,操作数op1按位左移op2位,每左移一位,其数值加倍
>>:二元运算,操作数op1按位右移op2位,每右移一位,其数值加倍
>>>:二元运算,操作数op1按位右移op2位,正整数运算与>>同,负整数则求该数的反码,但符号位不变
对于byte或short型数据,a<<n的运算结果是int型精度。当进行a<<2运算时,计算系统首先将a升级为int型数据,对于正数将高位用0填充,负值用1填充,然后再进行位移运算
6、条件运算符
符号是"? :”
用法:op1?op2:op3
要求:第一个操作元op1的值必须是boolean型数据,op2和op3必须同类型
Java语句
1、概述
(1)方法调用语句
对象可以调用类中的方法产生行为
(2)表达式语句
一个表达式的最后加上一个分号就构成了一个语句,称作表达式语句。分号是语句不可缺少的部分
(3)复合语句
可以用{}把一些语句括起来构成复合语句,一个复合语句也称作一个语句块
(4)控制语句
控制语句包括条件分支语句、循环语句、跳转语句
(5)package语句和import语句
(5)package语句和import语句与类和对象有关
2、分支语句
(1)条件分支语句
if~else语句
格式:if(条件表达式){若干语句}else{若干语句}
注意:
条件表达式左右两边括号不能省略,否则编译时会出错
条件表达式中双等于(==)不能省略为单等于(=)
条件表达式的值必须是boolean型,这点和c语言是有差异的
多条件if~else if·else语句
格式:if(表达式1){若干语句} else if(表达式2){若干语句} ... else if(表达式n){若干语句}else{ 若干语句 }
switch开关语句
格式:switch(表达式){ case 常量值1: 若干语句 break; case 常量值2 : 若干语句 break; .... case 常量值 n: 若干语句 break; default: 若干语句 }
3、循环语句
(1)、循环语句
while循环
格式:while(表达式){若干语句}
do while循环
格式:do{若干语句} while(表达式)
for循环
格式:for(表达式1;表达式2;表达式3;){若干语句}
表达式2必须是一个求值为boolean型数据的表达式
4、跳转语句
包括break语句、continue语句和return语句
(1)break语句
作用
在switch语句中,break语句用来终止switch语句的执行,使程序从switch语句后的第一个语句开始执行。
跳出所指定的循环,并从紧跟该循环的第一条语句处执行
跳出做指定的代码块,并从紧跟该代码块的第一个语句执行
(2)continue语句
与break语句的比较
相同点
都可用在循环中,用于流程控制
执行这两个语句时,若后面还有其他语句,将不再继续执行
不同点
continue语句的标号必须位于封闭的循环语句的前面
break语句的标号只需位于封闭语句块的前面,但不一定定是循环语句