³ 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