Java的基本符号(token)
Java的单词符号有五种:关键字、标识符、常量、分隔符和操作符。
Java的字符集
Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见的ASCII码的区别在于:
unicode使用16位二进制而不是8位来表示一个字符。
unicode字符集中增加了许多非拉丁语字符。
标识符
Java标识符必须以字母,数字,美元符号"$",下划线"_"组成,标识符第一个字符不可用数字。
Java语言对字母的大小写是敏感的,在语法中严格区分大小写。
关键字
关键字是为特定目的而保留的保留字,程序员不要将关键字作为自己的标识符。 Java的关键字有:
abstract boolean break byte case catch char class continue do double else extends false
find finally float for implements import instanceof int interface long native new null
package private public return short static super switch synchronized this throw true try void while
常量
常量可分为整型常量,浮点数常量,字符常量,字符串常量和布尔常量。
整型常量:可分为int型和long型两种,缺省为int型,long型数值后加L。 整型常量可用10、8和16进制表示。
如:123(十进制) 052(八进制) 0x3c(十六进制)
浮点数常量:有单精度和双精度之分,缺省为双精度,单精度在数值后加f。另外,浮点数常量也可用普通计数法和科学计数法来表示。
如:1.23f 1.1E-2
java语言使用的字符码集是字符常量:用‘ ‘括起来的一个字符。如‘a‘,‘H‘。
使用16位的unicode字符集。
Java 语言可使用转义字符‘“‘来标记特殊字符。如‘“n‘表示换行符。
字符串常量用" "包括,如"Hello World"。
布尔常量只有两个值,true和false。
分隔符
分隔符起分隔单词符号的作用。包括分号";"、花括号"{}"和空白符号。
Java的注释
Java的注释有三种形式:
单行注释
如://Comment on one line
多行注释
如:/* Comment on one
or more lines */
文档注释
如:/** Document
Comment */
Java的数据类型和变量
Java的基本数据类型
Java的基本数据类型有8种,见下表:
数据类型 类别 宽度(位) 取值范围
boolean 逻辑型 1 true/false
char 文字型 16
byte 整数类型 8 -27 ~ 27-1
short 整数类型 16 -215 ~ 215-1
int 整数类型 32 -231 ~ 231-1
long 整数类型 64 -263 ~ 263-1
float 浮点型 32
double 浮点型 64
Java的变量
Java的变量在使用前必须声明。如 int radios, color;
Java为所有基本数据类型的变量作了预定义(预设置的值)。如
类型名 boolean char byte short int long float double
预置值 false ‘“u0000‘ (byte)0 (short)0 0 0L 0.0f 0.0
数据类型的转换
Java是一种强类型的语言,在赋值和参数传递时,都要求类型的匹配。类型转换有三种情况:自动转换、强制转换和使用类的方法转换。
自动转换:往往低精度类型到高精度类型能自动转换。
如: byte b1=10, b2=20;
int b3=b1+b2;
强制转换:高精度类型到低精度类型必须强制转换。这时数据可能会丢失部分信息。
如:char key=(char)(12+55) //变量key被赋值为unicode值为67的字符‘c‘
方法转换:如
String str = "123";
int a = Integer.parseInt(str);
使用Integer类的方法parseInt将String转换为对应的整数。
Java编程的习惯约定
为了提高程序的可读性,Sun公司推荐在Java编程时使用以下的习惯约定:
类名(classes):有一个或若干个名词组成,开头大写,名词间的区分也用大写,其他小写。
如:class AccountBook
class ComplexVariable
接口(Interfaces):规则同类名。
如:Interface Account
方法(methods): 由一个或多个动词组成,开头小写,动词间区分用大写,其他小写。
如:balanceAccount()
变量:小写字母开头,单词间用大写字母分隔
如:currentCustomer
常量:所有字母大写,单词间用下划线区分
如:MAXIMUM_SIZE
Java的操作符
根据操作对象的个数操作符可分为一元、二元或三元操作符。根据操作符的功能,又可分为算术、逻辑、关系等操作符。
算术操作符
一元: + - ++ --
二元: + - * / %
值得注意的是 ++ 和-- 操作符,
如:int a,x=1,y=5;
a = ++x;b=y++;
此时a的值为2(先加1,后赋值),b的值为5(先赋值,后加1)。
二元操作符两侧的操作对象数据类型不先自动进行类型转换,再进行操作。
赋值操作符与复合赋值操作符
可将 变量 = 变量 op 表达式
写成 变量 op = 表达式
如:x+=20 与 x=x+20 结果一致,但更简洁。
注意:= 与 = = 的不同。
位操作符和移位操作符
位操作符
&(按位与) |(按位或) ^(按位异或)
移位操作符
E<<n 左移n位,空位补0,相当于E*2
E>>n 右移n位,空位用原最高位的位值补足,相当于E/2
E>>>n 右移n位,空位补0
关系操作符
关系操作符共六个:
>(大于) >=(大于等于) <(小于)<=(小于等于) !=(不等于) = =(相等)
关系操作符的结果为boolean型数据(true或false)。
注:= = 操作符只有在比较双方均完全一致时,其值为true,如比较的是两个对象,即使两个对象的内容相同,结果也为false,
只有这两个对象为同一对象时才为true。
逻辑操作符
逻辑操作符的操作对象和结果均为boolean型,共六个:
!(逻辑非) && (逻辑与) ||(逻辑或)
^(逻辑并或) & (逻辑与) | (逻辑或)
按位与‘&‘也可作为逻辑与使用,但未作优化,而‘&&‘操作符是经过优化的。对‘|‘操作符也类似。
其他操作符
条件操作符 E1?E2:E3
表达式E1若成立,执行表达式E2,否则执行E3。
逗号操作符
","可用于分隔语句。
如 int x,y;
for (x=0,y=0;x<10;x++) {...};
操作符的优先级和结合规则
优先级:
一元 〉算术 〉移位 〉关系 〉按位 〉逻辑 〉三元 〉(复合)赋值 〉逗号
结合规则:
除一元、三元和赋值操作符是自右至左结合外,其他均自左至右结合。
语句的分类
Java语句按是否改变运行的状态可分为执行语句(如表达式语句)和非执行语句(如声明语句)。任何语句的末尾都以“;”结束。
执行语句按其组成可分三类:
空语句
只有一个语句结束符“;” ,无任何内容。
基本语句(单语句)
独立的、完整的不能再分割为更小的可执行单元。
复合语句(块语句)
包含在{ }内的一条或若干条语句。
Java的基本语句的结构可分为4类:
(1)顺序结构语句 (2)分支语句 (3)循环语句 (4)例外处理语句
后三种语句又称为流控制语句,我们将主要介绍分支语句和循环语句,而例外处理语句包括try、catch、finally以及throw语句。
这些语句是Java所特有的。我们将在后面作专门的介绍。
分支语句
分支语句包括if-else, break, switch, return等语句。分支语句提供了一种控制机制,使得程序可以跳过一些语句,转去执行特定的语句。
条件语句 if-else.
if-else语句根据判定条件的真假来执行两种操作中的一种,其格式为:
if (boolean-expression)
statement1;
else
statement2;
其中,要注意的有:
布尔表达式boolean-expression是任意一个返回布尔型数据的表达式(这比C、C++的限制要严格)。
每个单一的语句后都必须有分号。
语句statement1, statement2可以是复合语句,这时要用花括号{}。{}外面不加分号。
else子句是任选的。
若布尔表达式的值为true,则程序执行statement1,否则执行statement2。
if-else语句的一种特殊形式为:
if (expression1){
statement1
} else if (expression2){
statement2
}……
}else if (expressionN){
statementN
}
else子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近的if配对。可以通过使用花括号{}来改变配对关系。
例3.1: 比较两个数的大小,并按从小到大的次序输出。
public class CompareTwo{
public static void main (String args[]){
double d1=23.4;
double d2=35.1;
if (d2>=d1)
System.out.println(d2+">="+d1);
else
System.out.println(d1+">="+d2);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论