³ Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
--凡是自己可以起名字的地方都叫标示符,都遵守标示符的规则。
³ Java 标识符有如下命名规则:
– 标识符由字母、下划线“_” 、美元符“$”或数字组成。
– 标识符应以字母、下划线“_” 、美元符“$”开头。
³ Java 标识符大小写敏感,长度无限制。
³ 约定俗成:Java 标识符选取因注意“见名知意”且不能与 Java 语言的关键字重名。
合法的标识符 | 不合法的标识符 |
HelloWorld | class |
DataClass | DataClass# |
_983 | 98.3 |
$bS5_c7 | Hell World |
命名约定:
类名、接口名 :每个单词的首字母应该大写
class MyFirstClass
interface Weapon
字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写
boolean isWoman
void setName(String name)
常量:全部用大写字母表示。
public final int GREEN
public final int HEAD_ COUNT
Java包(Package):它们全都字母小写。
package java.awt.event
关键字
³ Java 中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。
³ 所有Java关键字都是小写英文字符串。
³ goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。
abstract
|
default
|
if
|
private
|
this
|
boolean
|
do
|
implements
|
protected
|
throw
|
break
|
double
|
import
|
public
|
throws
|
byte
|
else
|
instanceof
|
return
|
transient
|
case
|
extends
|
int
|
short
|
try
|
catch
|
final
|
interface
|
static
|
void
|
char
|
finally
|
long
|
strictfp
|
volatile
|
class
|
float
|
native
|
super
|
while
|
const
|
for
|
new
|
switch
|
null
|
continue
|
goto
|
package
|
synchronized
|
|
Java变量
³ Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
³ Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明语法格式为:
• type varName [=value][{,varName[=value]}]
从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
注意:类外面(与类对应的大括号外面)不能有变量的声明
类 型 | 占用存储空间 | 表数范围 |
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -215 ~ 215-1 |
int | 4字节 | -231 ~ 231-1 |
long | 8字节 | -263 ~ 263-1 |
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
Long | 8字节 | -2E63~-2E63-1 |
³ java中可以从任意基本类型转型到另外的基本类型
³ 例外 à boolean 类型不可以转换为其他的数据类型。
³ 转换分为默认转换和强制转换
³ 整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
– 容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:
• byte,short,char->int->long->float->double
• byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型
– 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。
– 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。(看下页)
– 实数常量(如:1.2)默认为 double。整数常量(如:123)默认为 int 。
³ 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
– 如果其中一个运算对象是double类型的
• 另一个也会被转换成double类型。
– 否则,如果其中一个运算对象是float类型的,
• 另一个也会被转换成float类型的。
– 否则,如果其中一个运算对象是long类型的,
• 另一个也会被转换成long类型的。
– 否则,如果其中一个运算对象是int类型的,
• 另一个也会被转换成int类型的。
– 否则,如果其中一个运算对象是short类型的,
• 另一个也会被转换成short类型的。
³ 逻辑运算符: !-逻辑非, &- 逻辑与 , | - 逻辑或, ^ - 逻辑异, &&- 短路与, || - 短路或
³ &&,||,! 逻辑运算符只能用于boolean身上。
a | b | !a | a&b | a|b | a^b | a&&b | a||b | |||
true | true | false | true | true | false | true | true | |||
true | false | false | false | true | true | false | true | |||
false | true | true | false | true | true | false | true | |||
false | false | true | false | false | false | false | false | |||
运算符 | 用法举例 | 等效的表达式 |
| |||||||
+= | a += b | a = a+b |
| |||||||
-= | a -= b | a = a-b |
| |||||||
*= | a *= b | a = a*b |
| |||||||
/= | a /= b | a = a/b |
| |||||||
%= | a %= b | a = a%b |
| |||||||
字符串连接符
³ “+” 除用于算术加法运算外,还可用于对字符串进行连接操作
int id = 800 + 90;
String s = "hello" + "world";
³ “+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
int c = 12;
System.out.println("c=" + c);
– ++i , --i 在使用i前,先使i的值改变
– i++ , i-- 在使用i后,再改变i的值
³ “三目条件运算符,语法格式:
• x ? y : z
³ 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。
³ 举例:
int score = 80; int x = -100;
String type = score < 60 ? "不及格" : "及格";
int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
System.out.println("type= " + type);
System.out.println("flag= "+ flag);
³ for 语句为如下形式:
for(表达式1; 表达式2; 表达式3){ 语句; … ; }
³ 执行过程
首先计算表达式1,接着执行表达式2,若表达式2的值 = ture,则执行语句,接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false
for语句中三个表达式都可以省略
JDK1.5新补充的for语法(后面课程中补充,数组)
=true |
表达式2值 |
结束for语句 |
计算表达式3 |
语 句 |
计算表达式1 |
=false |
while & do while 语句
³ while 语句为如下形式:
while(逻辑表达式){ 语句; … ; }
³ 执行过程
先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止
表达式值 |
语 句 |
结束 |
While 语句 |
³ while 语句为如下形式:
do { 语句; … ; } while(逻辑表达式);
³ 执行过程
先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环。
语 句 |
表达式值 |
结束 |
do-While 语句 |
break & Continue 语句
³ break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;
³ 例如:
public class Test {
public static void main(Stringargs[]){
int stop = 4;
for (int i = 1; i <= 10; i++) {
//当i等于stop时,退出循环
if (i == stop) break;
System.out.println(" i= " + i);
}
}
}
³ continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程;
³ 例如:
public class Test {
public static void main(String args[]) {
int skip = 4;
for (int i = 1; i <= 5; i++) {
//当i等于skip时,跳过当次循环
if (i == skip) continue;
System.out.println("i = " + i);
}
}
}
switch语句
³ switch() {
case xx :
….
case xx :
….
default:
….
}
³ 通常case和break配合使用
³ 多个case可以合并到一起
³ default可以省略,但不推荐省略
³ Switch的值表达式中类型可以包括:byte、short、char、int