已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA 基础Java语言由语法规则和类库两部分组成,其中语法规则确定了Java程序的书写规范,学习好语法规则是Java语言,也是所有编程语言的基本功。本文主要向大家简单介绍一下Java的语法规则。 Java语言与C/C+语言有着紧密的联系,Java中的许多术语来自于C+,起语法也来自于C+。因此Java的语法和c+的语法计划一模一样。下面简单介绍一下Java的具体语法。 一、Java的词法1、标识符标识符是类、变量和方法等的名字,作用是让编译器能够识别它们。在Java语言中,标识符可以包含数字、字母、下划线(_)和美圆符号($),但是不能以数字作为开头。与C/C+语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是因为Java语言使用的是Unicode字符,所有的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。我们在使用标识符的时候应该尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用下划线,我们应该充分利用这一点以提高程序的可读性。2、关键字以下是Java的全部关键字:abstract double int strictfp* 抽象类 浮点型 整形 boolean else interface super布尔数学体系的 其他的 接口 构造函数调用(子类调用父类)break extends long switch 跳出循环 继承 整形 转换byte final native synchronized字节 不可更改的 同步化case finally new this Switch(a) 最终 Case:1:Case:2:语句里 catch float package throw char for private throwsclass goto* protected transient const* if public try continue implements return void default import short volatile do instanceof static while* 尚未使用的关键字* 为Java 2增加的关键字3、注释Java有三种形式的注释:第一种是C语言的传统注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释可以跨越多行。第二种是C+风格的注释,即将“/”之后直到行尾的文本都视为注释,这种注释只能包含一行。第三种是Java新增加的注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释也可以夸耀多行。注意,这种注释方式生成的注释将作为Javadoc文档保存。二、操作符1、算术操作符操作符 用途 优先级 结合性 +,- 自动递增,自动递减 2(仅次于括号) 从右到左 +,- 一元加,一元减 2 从右到左 *,/ 乘,除 3 从左到右 % 取余(求模) 3 从左到右 +,- 加,减 4 从左到右2、布尔运算与关系运算符操作符 用途 优先级 结合性 ,=,= 测试相对大小 6 从左到右 = 测试相等性 7 从左到右 != 测试不等性 7 从左到右 ?: 根据第一个操作数返回后两个操作数之一 13 从左到右 ! 非 2 从右到左 & 布尔与 8 从左到右 异或 9 从左到右 | 布尔或 10 从左到右 & 条件与 11 从左到右 | 条件或 12 从左到右3、位操作符操作符 用途 优先级 结合性 非(位求补) 2 从右到左 左移,右移 5 从左到右 当作无符号右移 5 从左到右 & 位和 8 从左到右 位异或 9 从左到右 | 位或 10 从左到右4、赋值操作符操作符 用途 优先级 结合性 = 赋值 14 从右到左 *= 操作同时赋值 14 从右到左 /= 操作同时赋值 14 从右到左 %= 操作同时赋值 14 从右到左 += 操作同时赋值 14 从右到左 -= 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 |= 操作同时赋值 14 从右到左 &= 操作同时赋值 14 从右到左5、特殊操作符cast操作符将一种数据类型转换成为另一种数据类型,cast应写成把要校正操作数的类型名放在括号中。例如: int i; long l; l=7876547; i=(int)l; 如果给高精度的变量赋予一个低精度值,则不需校正。类型校正操作符的优先级为2,结合性为从右到左结合。将以上讲到的操作符的优先级总结如下:优先级 运算符 结合顺序 1 数组运算 .点运算符 ()调用方法 从左到右 2 ! + - +(一元加) -(一元减) ()强制类型转换 new 从右到左 3 * / % 从左到右 4 +(二元加) -(二元减) 从左到右 5 从左到右 6 = instanceof 从左到右 7 = != 从左到右 8 & 从左到右 9 从左到右 10 | 从左到右 11 & 从左到右 12 | 从左到右 13 ?: 从左到右 14 = += -= *= /= %= &= |= = = = 从右到左三、常量1、整型常量在Java语言中,整型常量有三种形式,它们分别是:十进制、八进制、十六进制。需要注意的是十进制数不能以0开头,这是因为八进制的数是以0开头的,而十六进制数以0x或0X开头。2、浮点型常量浮点数只能表示十进制数。浮点数有两种表示方法,即标准表示法和科学记数法。浮点数又分为单精度数和双精度数。3、布尔型常量布尔型常量有两个值:ture(或TURE)和false(或FALSE)它们分别表示真和假,这两个值用来表示事物的状态,它们必居其一。通过测量布尔值可以判断是否执行某个步骤。4、字符型常量字符型常量是一个单一的字符,其形式是由两个单引号引起来的一个字符。但是两个单引号引起来的不能是单引号和反斜杠,即和是不正确的写法。大家一定要记住,Java语言中的字符是16位的Unicode字符,这与C/C+等语言是不一样的。同C/C+语言一样,Java语言也有转意序列。Java中的转意序列的功能见下表:转义序列 标准形式 功能描述 继续 n NL 回车换行 t HT 水平制表符 b BS 后退一格 r CR 回车不换行 f FF 换页 单引号 反斜杠 双引号 ddd 0ddd 八进制模式 xddd 0xddd 十六进制模式 udddd 0xdddd Unicode双字节字符字符串常量字符串常量是由双引号引起来的一系列字符,与C/C+语言中不同的是,Java语言中的字符串不是通过字符数组来实现的,而是通过字符串类(即String类)来实现的。四、变量和数据类型在Java中,数据的类型可以分为四种:基本数据类型、数组类型、类和接口类型。任何数据都一定是上述数据类型的一种。其中基本数据类型可以分为四大类:布尔型、字符型、整数型和浮点型。这些类型的数据与前面介绍的常量的类型基本相同,在此不再多说。下面将整数型和浮点型变量的取值范围列出:表一、类型 宽度 取值范围 byte 8位 -256到256 short 16位 -32768到32767 int 32位 -2147483648到2147483647 long 64位 -9223372036854775808到9223372036854775807表二、进制 整数 长整数 十进制 最大正整数 2147483647(2的31次方减1) 923372036854775807L(2的63次方减1) 八进制 最大正整数 077777777777(2的31次方减1) 07777777777777777777L(2的63次方减1) 最小负整数 020000000000(-2的31次方) 04000000000000000000L(-2的63次方) 十六进制 最大正整数 0x7fffffff(2的31次方减1) 0x7fffffffffffffffL(2的63次方减1) 最小负整数 0x80000000(-2的31次方) 0x8000000000000000L(-2的63次方)浮点数能表示的数值从小到大分别是:负无穷大、负有限值、负零、正零、正有限值及正无穷大。其中正零和负零在进行数值比较的时候是相等的,但仍有办法分辨这两个值,例如在进行1.0/0.0的时候会得到正无穷大的结果。其它非零非无穷大的有限值是以s*m*(2e)来表示的,s和m的取值范围见下表:表三、类型 s m e float +1或-1 小于2的24次方的正整数 149到104的整数 double +1或-1 小于2的53次方的正整数 1045到1000的整数表四、float 最大值 3640282347e+38f 非零最小值 1.40239846e-45f double 最大值 1.79769313486231570e+308 非零最小值 4.940656458412465334e-324另外浮点数还有一些特殊值,见下表:float 最大值 Float.MAX_VALUE 最小值 Float.MIN_VALUE 正无穷大 Float.POSITIVE_INFINITY 负无穷大 Float.NEGATIVE_INFINITY NaN Float.NaN double 最大值 Double.MAX_VALUE 最小值 Double.MIN_VALUE 正无穷大 Double.POSITIVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY NaN Double.NaN与C/C+语言中不同的是,在Java语言中,所有的基本数据类型都有预设值,就是说当我们声明一个变量时,即使我们没有对它赋值,它的值也是一定的,而不像在C/C+中那样是不可预测的。具体个类型的预设值见下表:基本数据类型 预设值 Boolean false Char u000 Byte (byte)0 Short (short)0 Int 0 Long 0L Float 0.0L Double 0.0d五、Java与C/C+的比较由于Java的语法直接来源于C/C+,所以Java的程序控制语句与C/C+一模一样,在此不再多说。以下重点介绍一下Java与C/C+的不同。指针大家在使用C语言编程的时候想必都曾经因为指针的复杂计算而烦恼,在C/C+语言编程过程中,指针可能引起许多错误,这些复杂的指针算法所产生的错误常常让人迷惑不解,导致C/C+程序员在此浪费了大量的时间。考虑到这种原因,Java中取消了指针。指针的功能由参考(reference)所取代,这使得Java中对复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更可靠。函数在Java中没有C/C+中应用广泛的函数,C/C+中通过函数实现的功能在Java中都是通过类和方法来实现的。继承C+支持多重继承,这是一个从多个父类中派生一个类的有效办法,但这种派生很复杂,也很容易产生问题。因此,Java中没有采用多重继承,但Java的Objective C协议接口能完成C+中多重继承的所有功能。goto语句大家知道,在使用高级语言编程时过多的使用goto语句会使程序变得十分混乱,因此Java中也没有使用goto语句。但是不可否认,当程序比较容易控制的时候,适当使用goto语句能使程序的运行更快捷,因此Java中使用了多重break和continue语句(允许break和continue语句使用标签)实现C+种goto语句的功能。联合和结构在C+中有三种数据结构:联合、结构和类;Java中只有类,它可以实现上述三者的功能。字符串在C/C+中,字符串是通过字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全文明管理规定培训课件
- 财产退出协议书
- 货车使用协议书
- 购买商业险协议书
- 贷款合作贷款协议书
- 2025年机械设备安全操作制度培训
- 2025年班组安全标准化培训
- 胫后综合征护理查房
- 急诊科专科护理查房
- 颈部气管损伤护理查房
- 2026年宝鸡市辛家山林业局、宝鸡市马头滩林业局招聘(12人)考试参考题库及答案解析
- 超声科产前筛查异常应急预案演练脚本
- 2026年非遗保护中心招聘考试面试题及参考答案
- 智慧树 创造性思维与创新方法 章节测试答案
- 6.3 社会主义市场经济体制(教学设计) 2025-2026学年统编版道德与法治八年级下册
- 2026年及未来5年市场数据中国电化学工作站行业发展监测及投资战略咨询报告
- 江苏省南京市2025届中考化学试卷(含答案)
- DB35-T 2262-2025 海峡两岸共通 美人茶加工技术规程
- DB5134-T 14-2021 美丽乡村 农村人居环境整治规范
- 矿井供电设计毕业论文
- 《医学免疫学》 课件 第1-7章 免疫学概述- 细胞因子
评论
0/150
提交评论