《Java的基本符号》由会员分享,可在线阅读,更多相关《Java的基本符号(12页珍藏版)》请在金锄头文库上搜索。
1、Java的基本符号(token)Java的单词符号有五种:关键字、标识符、常量、分隔符和操作符。Java的字符集 Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见的ASCII码的区别在于: unicode使用16位二进制而不是8位来表示一个字符。 unicode字符集中增加了许多非拉丁语字符。标识符 Java标识符必须以字母,数字,美元符号$,下划线_组成,标识符第一个字符不可用数字。Java语言对字母的大小写是敏感的,在语法中严格区分大小写。关键字 关键字是为特定目的而保留的保留字,程序员不要将关键字作为自己的标识符。 Java的关键字有:abstract
2、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常量 常量可分为整型常量,浮点数常量,字符常量,字符串常量和布尔常量。
3、整型常量:可分为int型和long型两种,缺省为int型,long型数值后加L。 整型常量可用10、8和16进制表示。如:123(十进制) 052(八进制) 0x3c(十六进制) 浮点数常量:有单精度和双精度之分,缺省为双精度,单精度在数值后加f。另外,浮点数常量也可用普通计数法和科学计数法来表示。如:1.23f 1.1E-2 字符常量:用 括起来的一个字符。如a,H。使用16位的unicode字符集。Java 语言可使用转义字符“来标记特殊字符。如“n表示换行符。 字符串常量用 包括,如Hello World。 布尔常量只有两个值,true和false。分隔符 分隔符起分隔单词符号的作用。包
4、括分号;、花括号和空白符号。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
5、-1 long 整数类型 64 -263 263-1 float 浮点型 32 double 浮点型 64Java的变量 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是一种强类型的语言,在赋值和参数传递时,都要求类型的匹配。类型转换有三种情况:自动转换、强制转换和使用类的方法转换。自动转换:
6、往往低精度类型到高精度类型能自动转换。如: 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):有一个或若干
7、个名词组成,开头大写,名词间的区分也用大写,其他小写。如:class AccountBook class ComplexVariable接口(Interfaces):规则同类名。如:Interface Account方法(methods): 由一个或多个动词组成,开头小写,动词间区分用大写,其他小写。如:balanceAccount()变量:小写字母开头,单词间用大写字母分隔 如:currentCustomer常量:所有字母大写,单词间用下划线区分 如:MAXIMUM_SIZEJava的操作符根据操作对象的个数操作符可分为一元、二元或三元操作符。根据操作符的功能,又可分为算术、逻辑、关系等操作
8、符。算术操作符一元: + - + - 二元: + - * / % 值得注意的是 + 和- 操作符,如:int a,x=1,y=5; a = +x;b=y+;此时a的值为2(先加1,后赋值),b的值为5(先赋值,后加1)。二元操作符两侧的操作对象数据类型不先自动进行类型转换,再进行操作。赋值操作符与复合赋值操作符 可将 变量 = 变量 op 表达式 写成 变量 op = 表达式 如:x+=20 与 x=x+20 结果一致,但更简洁。注意:= 与 = = 的不同。位操作符和移位操作符位操作符 &(按位与) |(按位或) (按位异或) 移位操作符 En 右移n位,空位用原最高位的位值补足,相当于E/
9、2 En 右移n位,空位补0关系操作符 关系操作符共六个: (大于) =(大于等于) (小于)=(小于等于) !=(不等于) = =(相等)关系操作符的结果为boolean型数据(true或false)。注:= = 操作符只有在比较双方均完全一致时,其值为true,如比较的是两个对象,即使两个对象的内容相同,结果也为false,只有这两个对象为同一对象时才为true。逻辑操作符 逻辑操作符的操作对象和结果均为boolean型,共六个:!(逻辑非) & (逻辑与) |(逻辑或)(逻辑并或) & (逻辑与) | (逻辑或)按位与&也可作为逻辑与使用,但未作优化,而&操作符是经过优化的。对|操作符也
10、类似。其他操作符条件操作符 E1?E2:E3 表达式E1若成立,执行表达式E2,否则执行E3。 逗号操作符 ,可用于分隔语句。 如 int x,y; for (x=0,y=0;x10;x+) .;操作符的优先级和结合规则 优先级: 一元 算术 移位 关系 按位 逻辑 三元 (复合)赋值 逗号结合规则: 除一元、三元和赋值操作符是自右至左结合外,其他均自左至右结合。语句的分类Java语句按是否改变运行的状态可分为执行语句(如表达式语句)和非执行语句(如声明语句)。任何语句的末尾都以“;”结束。执行语句按其组成可分三类:空语句 只有一个语句结束符“;” ,无任何内容。 基本语句(单语句) 独立的、
11、完整的不能再分割为更小的可执行单元。 复合语句(块语句) 包含在 内的一条或若干条语句。 Java的基本语句的结构可分为4类:(1)顺序结构语句 (2)分支语句 (3)循环语句 (4)例外处理语句 后三种语句又称为流控制语句,我们将主要介绍分支语句和循环语句,而例外处理语句包括try、catch、finally以及throw语句。这些语句是Java所特有的。我们将在后面作专门的介绍。分支语句分支语句包括if-else, break, switch, return等语句。分支语句提供了一种控制机制,使得程序可以跳过一些语句,转去执行特定的语句。条件语句 if-else.if-else语句根据判定
12、条件的真假来执行两种操作中的一种,其格式为: if (boolean-expression) statement1; else statement2;其中,要注意的有:布尔表达式boolean-expression是任意一个返回布尔型数据的表达式(这比C、C+的限制要严格)。 每个单一的语句后都必须有分号。 语句statement1, statement2可以是复合语句,这时要用花括号。外面不加分号。 else子句是任选的。 若布尔表达式的值为true,则程序执行statement1,否则执行statement2。 if-else语句的一种特殊形式为: if (expression1) sta
13、tement1 else if (expression2) statement2 else if (expressionN) statementN else子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近的if配对。可以通过使用花括号来改变配对关系。 例3.1: 比较两个数的大小,并按从小到大的次序输出。public class CompareTwopublic static void main (String args)double d1=23.4;double d2=35.1;if (d2=d1)System.out.println(d2+=+d1);elseSyst
14、em.out.println(d1+=+d2);例3.2:判断某一年是否为闰年。闰年的条件是符合下面二者之一: 能被4整除,但不能被100整除; 能被400整除。public class LeapYearpublic static void main (String args)int year=1989; /method1if (year%4=0 & year%100!=0) | (year%400=0)System.out.println(year+is a leap year.);elseSystem.out.println(year+is not a leap year.);year=2000; /method2boolean leap;if (year%4 != 0)leap=false;else if (year%100 != 0)leap=true;else if (year%400 != 0)leap=false;elseleap=true;if(leap=true)System.out.println(year+ is a leap year.);e