




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 JAVA语言基础首先,观察第1章的两个样例程序,了解JAVA Application程序的一般特点:P5例1-1:这是一个不能再简单的JAVA程序public class Hellopublic static void main( )System.out.println(Hello!); JAVA程序开头总是这样,定义一个类class,class是关键字,Hello是标识符,代表类名,用户可自定义类名语句块分割符程序从main()方法开始运行,这一行写法基本是固定的输出,这一行不是JAVA语法,而是对类库的一个调用,相当于C+的coutQ:cout是 C+的关键字吗? P12 2实验内容,该程序求110的和。public class Sum10_for /类名Sum10_for public static void main() int i=1,n=10,s=0; /定义整数类型标识符I,n,s/ System.out.print(Sun(+n+)=);/输出 for (i=1;in;i+) s+=i; System.out.print(i+); /输出,不换行 System.out.println(i+=+(s+i); /输出,换行 2.1 语言成分 2.1.1 关键字与标识符(1) JAVA语言有40多个关键字,其中约一半与C语言相同,其含义及用法也相同。boolean floatvoidabstractinstanceofbreakforvolatileassertinterfacebyte ifwhilecatchNativecaseintclassnewcharlongdefaultpackageconstnullthisextendsprivatecontinuereturnthrowfinalprotecteddoshortthrowsfinallypublicdoublestatictransientimplementssuperelseswitchtryimportsynchronized(2)JAVA语言标识符(变量、常量等)命名规则与C语言也基本相同。Q1:下列哪些标识符是合法的?X2 2x x_2 x+yQ2: X和x是同一个标识符吗?小知识:在实际工作中,标识符的命名是很重要的事,不仅要合法,而且要合理,要满足见名知意、作用域尽可能小等原则,和企业(及项目组的规定)(3)JAVA语言的代码注释方法与C语言也基本相同比如:/单行注释 /* 多行注释。 */Q3:一个完整程序的注释应有哪几个部分?各应该写什么内容? 2.1.2 基本数据类型 计算机主要用于事务处理和科学计算,在这些应用领域,要用到很多数据类型。 比如:用于计算的整数、小数等数值类型; 用于事务处理的字符和字符串; 用于判断真伪的布尔型; 用于集中处理一组数据的数组 。JAVA语言支持多种数据类型,下面分别介绍: 简单数据类型(八进制数以0前缀,十六进制数以0x或0X为前缀)类型关键字占用字节数教材页码整型intbyteshortlong4128P16浮点型floatdouble4(后缀f/F)8P16布尔型booleanP17字符型charP17字符串用类定义以后再讲小知识:JAVA是纯面向对象的语言,与C语言不同的是,JAVA的简单数据类型也是面向对象的,它们本身也是类,有属性和操作,这一点以后再介绍。引用数据类型:数组、类、接口,以后陆续介绍。小知识:JAVA引用数据类型和简单数据类型有什么区别?基本(简单)类型是值,引用类型是指针。在函数参数的传递上,简单数据类型默认是值传递(还记得C/C+函数的值传递吗?只传参数值的副本而不改变参数原值)。而引用数据类型是引用传递(相当于一个指针,但JAVA语言取消了指针而代之以引用。还记得C/C+函数对数组的参数传递吗?你不需在数组形参前加指针,就可以改变数组参数原值。C/C+数组本身就是指针,在JAVA里改成引用)。小知识:强类型语言和弱类型语言很多同学在学习编程语言时,对繁杂的数据类型及类型转换规则感觉很头痛。为什么编程语言要做如此繁琐的规定?与C/C+一样,JAVA是一种强类型语言。实际上按类型划分,高级编程语言可分为强类型的(如C/C+/JAVA/C#/VB.NET、弱类型的(如VB)和无类型的(如Vbsrcript)。 为什么大多数主流语言都是强类型的?从编译器的设计上看,编译时所有对象类型(除多态对象外)均确定,因此在内存的位置也确定,这可以简化编译器的设计、提高效率、节约资源;其次它可以帮助程序员检查一些类型的不匹配引起的错误,比如将一个整数和一个字符串相加,这可能有违程序员的本意,也可能会给程序带来潜在的危险,这时编译器会给你报错。强类型语言有利于提高程序的健壮性,但也给程序员带来一些麻烦,你必需时时留意类型转换问题,否则编译器就报错,但从长远来说它将帮助你减少程序出错的可能性。 对于强类型的编程语言,数据类型转换是程序员常用又极容易犯大错误的地方,一定要特别小心,反复验证。在一些专业的JAVA编程书里,对数据类型转换都加以较详尽的说明,对我们这本初学者入门教材,则不是重要内容。但是我们要知道:不正确的数据类型转换是编程重大隐患所在,有时后编译器不能识别这种错误。 强类型的编程语言对数据类型检查较完善,适合可靠性要求高的应用。而弱类型(如VB)和无类型的(如Vbsrcript)编程语言,数据类型检查很松散,程序员也不需做细致的类型检查,适合可靠性要求低的应用。 2.1.3 常量与变量 我们在中学学习代数的时侯就会定义变量和常量了。JAVA语言变量和常量的概念与代数类似。 看教材P28-29。 注:P29的最终变量与符号常量实际上是一回事。 2.1.4 运算符与表达式0 赋值运算符 赋值运算符“=”是最常用的运算符。int x=10;x=x+2; /x=121运算符 JAVA主要有4类运算符:u 算术运算符;+,-,*,/,+,-等u 位运算符: &, | , !,等u 关系运算符;,=, =u 布尔运算符。&, | , !等 Q4:if (x= =10); 和 if (10 = = x) 哪种写法更好? Q5:用运算符写一个表达式,能最有效率的算出2*8注意P33运算符(6)-(13) 逗号运算符,常用于for循环,比如for(i=1, i=100, i+) Q6:var = (235,567); var为多少? a=(3*5,a*4); a为多少? 2. 运算符的优先级与C/C+语言基本相同。3. 运算符的结合性(左结合,右结合)与C/C+语言基本相同。4 表达式 (略。) 5 JAVA“简单数据类型”的转换(补充教材)这一小节是对教材P35“5类型兼容原则”的另一种讲述方法。教材这一部分介绍了JAVA作为强类型语言,常见的数据类型转换规则,但是写得比较难理解,我做一个通俗点的介绍。JAVA作为强类型语言,数据类型转换规则相当烦杂枯燥,这里先不做全面介绍,只介绍初学者编程常见的“简单数据类型”转换方式。前面介绍的Java整型、浮点型、字符型被视为简单数据类型,这些类型由低级到高级分别为:(byte,short,char)-int-long-float-double当从低级到高级转换时,我们叫“赋值相容”,这种转换是隐式的(或叫自动的),不需要特别处理,比如以下转换是合法的:-short x=100;int i=x;long l=i;float f=l;double d=f;-下面的例子,字符型转为整型也是合法的,自符型会转换为对应ASCII码值,例如-char a=c; int i=a; System.out.println(i);-输出: 99; (99是c的ASCII码值)对于平级 (byte,short,char是平级的)和高级到低级的转换,是“赋值不相容”,这种转换是显式的(或叫非自动的、强制的类型转换),被转换的数据前面必需加一个(类型说明)。例如:对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。-short i=99;char a=(char)i; /()为强制类型转换符System.out.println(c);-输出:c; (99是c的ASCII码值)下面是一个从高级到低级,必需使用强制类型转换的例子:-double x=99;int i=(int)x;byte b=(byte)i;char c=(char)i;-可以想象,这种转换可能会导致数据溢出,要特别小心。看这个程序public class Digsum3 public static void main(String args) double x=99; int i=(int)x; byte b=(byte)i; System.out.println(b); 运行结果是:99如果把x改为99999呢?运行结果是: -97b为什么变成-97呢?因为b的类型是byte,只有8位,数据表示范围是-127128,当遇到99999时,b溢出了,变成一个莫名其妙的-97。从这个例子我们看出数据类型转换的危险性,本例这种情况编译器不给你报错,因为代码完全符合语法要求。这需要程序员认真测试:将x的值从最小到最大都测一遍。再看这个例子:public class Digsum3 public static void main(String args) double x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房地产合同负债审计与税务筹划专业服务合同
- 2025年冬季校园道路扫雪安全保障合同协议
- 2025版生猪养殖与冷链运输企业合作协议范本
- 2025年度新型城镇化建设砂石料供货合同
- 2025年度新能源储能设备供货与委托运营管理协议
- 2025版商场清洁服务与品牌合作推广合同协议
- 2025年度厂区原材料运输及环保安全协议
- 2025版人参产业绿色发展合作协议
- 2025年二手房转让协议书范本:带独立厨房交易合同
- 2025版建筑设备设计合同范本
- 2025年人教版小学五年级下册奥林匹克数学竞赛试卷(附参考答案)
- 《箱式快装建筑设计、施工、验收规程》
- 固态电池成本控制-全面剖析
- 气道异物梗阻的急救
- 《企业财务舞弊探究的国内外文献综述》9000字
- 医院感染的疾病监测和报告制度
- 《食源性疾病与营养健康》课件
- 《视觉检测》课件
- 手足显微外科护理常规
- 2024少儿体适能培训
- 半结构化面试题100题
评论
0/150
提交评论