




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Java基本语法,主要任务让读者对数据类型、表达式等Java基本语法内容有一个了解,这些内容是任何一门程序设计语言都必须包含的部分,可为程序设计打基础。,本章主要内容,1.Java语言的基本元素2.数据类型3.运算符与表达式4.数组,2.1Java语言的基本元素,通过下面的Java源程序,了解Java语言有哪些基本元素。例2.1一个简单的JavaApplication源程序:Welcome2.java。程序的运行结果是输出一句话“欢迎使用Java2”,如图所示。,/这是一个简单的JavaApplication源程序classWelcome2publicstaticvoidmain(Stringargs)System.out.println(“欢迎使用Java2”);/结束main方法定义/结束类Welcome2定义,从以上例子学到什么?,(1)Welcome2是一个Application应用程序(2)源程序中有注释语句(3)程序的主体声明了一个自定义类(4)Welcome2类包含main()方法因此,可以知道Java语言包含标识符、关键字、运算符和分隔符等元素。这些元素有着不同的语法含义和组成规则,它们互相配合,共同组成Java的语句。,2.1.1标识符,什么是标识符?在Java中变量以及类和方法都需要一定的名称,这种名称就叫做标识符标识符命名的基本规则:所有的标识符都必须以一个字母、下划线或美元符号“$”开头,后面的字符可以包含字母、数字、下划线和美元符号。,标识符是由程序员自己定义的名称,可按上面的规则随意选取。不过,Java中有一个标识符命名约定:常量用大写字母,变量用小写字母开始,类以大写字母开始。如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始,例如anInt。下划线虽然可以作为标识符的一员,但常用于常量名的单词分隔,因为常量名都是以大写字母单词命名的。还要注意一点,Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。例如以下是四个不同的合法标识符:ad,Ad,aD,Da。,2.1.3分隔符,分隔符是用来区分源程序中的基本成份,可使编译器确认代码在何处分隔。分隔符有三种注释符空白符普通分隔符,1注释符,注释是程序员为了提高程序的可读性和可理解性,在源程序的开始或中间对程序的功能、作者、使用方法等所写的注解。注释仅用于阅读源程序,系统编译程序时,忽略其中的所有注释。注释有两种类型:/注释一行以“/”开始,最后以回车结束。一般作单行注释使用,也可放在某个语句的后面;/*/一行或多行注释以“/*”开始,最后以“*/”结束,中间可写多行。,2空白符,空白符包括空格、回车、换行和制表符(Tab键)等符号,用来作为程序中各种基本成份之间的分隔符。各基本成份之间可以有一个或多个空白符,其作用相同。和注释一样,系统编译程序时,只用空白符区分各种基本成份,然后忽略它。,3普通分隔符,普通分隔符和空白符的作用相同,用来区分程序中的各种基本成份,但它在程序中有确定的含义,不能忽略。Java有以下普通分隔符:.句号,用于分隔包、类或分隔引用变量中的变量和方法;分号,是Java语句结束的标志;,逗号,分隔方法的参数和变量说明等;:冒号,说明语句标号;大括号,用来定义复合语句、方法体、类体及数组的初始化;方括号,原来定义数组类型,及引用数字的元素值;()小括号,用于在方法定义和访问中将参数表括起来,或在表达式中定义运算的先后次序。,例2.2标识符、关键字和分隔符的使用。,publicclassExamplepublicstaticvoidmain(Stringargs)inti,c;.,2.2数据类型,Java的数据类型可分为:基本类型,包括整型、浮点型、布尔型和字符型;数组类型,包括一维数组和多维数组;复合类型,包括类、接口。,2.2.1基本数据类型,2.2.2直接量与常量,直接量(literal)是指在程序中直接给出的一个符号串,作用是为变量赋值或参与表达式运算。直接量可以是一个具体的数值或字符串,也称常量。但Java中的常量另有所指,是用final说明的一个标识符,在很多教科书中往往不加区分地统称为常量。直接量或常量在程序执行过程中是不可更改的,它们与变量的区别是不占用内存。,1布尔常量,布尔常量只有两个值true和false,代表了两种状态:真和假,书写时直接使用true和false这两个英文单词,不能加引号。,2整型常量,整型常量是不含小数的整数值,书写时可采用十进制、十六进制和八进制形式。十进制常量以非0开头后根多个09之间的数字;八进制以0开头后根多个07之间的数字;十六进制则以0X开头后根多个09之间的数字或af之间的小写字母或AF之间的大写字母。,3浮点型常量,Java的浮点型常量有两种表示形式:十进制数形式,由数字和小数点组成,且必须有小数点,如.123,0.123,123.0;科学计数法形式,如123e3或123E-3,其中e或E之前必须有数,且e或E后面的指数必须为整数。,4字符常量,字符常量是由一对单引号括起来的单个字符。它可以是Unicode字符集中的任意一个字符,如:a,Z。对无法通过键盘输入的字符,可用转义符表示。字符常量的另外一种表示就是直接写出字符编码,如字母A的八进制表示为101,十六进制表示为u0041。,5字符串常量,字符串常量是用一对双引号括起来的字符序列。当字符串只包含一个字符时,不要把它和字符常量混淆,例如A是字符常量,而A是字符串常量。字符串常量中可包含转义字符,例如Hellonworld!在中间加入了一个换行符,输出时,这两个单词将显示在两行上。声明常量的格式:final类型常量名,常量名=值;,2.2.3变量,变量在程序中为一个标识符,在内存中是一块空间,它提供了一个临时存放信息和数据的地方,具有记忆数据的功能。变量是可以改变的,它可以存放不同类型的数据,通常用小写字母或单词作为变量名。变量具有三个元素:名字、类型和值。,1变量的声明,在Java中存储一个数据,必须将它保存到一个变量中。变量在使用前必须有定义,即有确定的类型和名称。声明变量的格式为:类型变量名,变量名=初值;该语句告诉编译器以给定的数据类型和变量名建立的一个变量。,例2.3变量声明示例,publicclassVpublicstaticvoidmain(Stringargs)byteb=0 x55;shorts=0 x55ff;inti=1000000;longl=0 xffffL;charc=c;floatf=0.23F;doubled=0.7E-3;booleanB=true;StringS=Thisisastring;,System.out.println(字节型变量b=+b);System.out.println(短整型变量s=+s);System.out.println(整型变量i=+i);System.out.println(长整型变量l=+l);System.out.println(字符型变量c=+c);System.out.println(浮点型变量f=+f);System.out.println(双精度变量d=+d);System.out.println(布尔型变量B=+B);System.out.println(字符串类对象S=+S);,2变量的使用范围,当你声明了一个变量后,它将被引入到一个范围当中。也就是说,该变量只能在程序的特定范围内使用,出了这个范围,变量就消失了。在类中声明的变量是称为成员变量,通常在类的开始处声明,可在整个类中使用。在方法和块中声明的变量叫局部变量,使用范围是从它声明的地方开始到它所在那个块的结束处,块是由两个大括号所定义的,看下面例子。,例2.4变量的使用范围。,publicclassV2staticinti=10;publicstaticvoidmain(Stringargs)intk=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(k=+k);/编译时将出错,已出k的使用范围,编译V2.java时出现错误,如图所示。因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。,3变量类型的转换,当有一个整数而你需要把它变成一个字符型数据使用时该怎么办呢?需要将整数类型数据强制转换为字符型数据。变量类型强制转换的格式为:(数据类型)数据表达式,2.3运算符与表达式,Java的运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算。运算符和操作数的组合构成表达式,表达式代表着一个确定的数值。按照运算符功能来分,运算符有七种:赋值运算符、算术运算符、关系运算符、条件运算符、逻辑运算符、位运算符和其它运算符。按照连接操作数的多少来分,有一元运算符、二元运算符和三元运算符。,2.3.1赋值运算符,表2.6给出了赋值运算符和功能说明(未列出包含位运算符的赋值运算符)。(见课本31页)由赋值运算符构成的表达式称为赋值表达式。赋值运算符的右边是一个表达式,这个表达式还可以包含一个表达式。例如:a=b=c=0,相当于三个表达式c=0,b=c,a=b。,2.3.2算术运算符,表2.7给出了算术运算符和功能说明。(见课本31页)算术运算符按操作数的多少可分为一元运算符和二元运算符,一元运算符(+、-、+、-)一次对一个操作数进行运算,二元运算符一次对两个操作数进行运算。求余运算在判断两个数是否成倍数时很有用,余数为0则两数成倍数,否则两数不成倍数。一元运算i+和i-比传统写法的加减运算速度要快很多,常用作循环结构中的计数器。,2.3.3关系运算符,有一些运算符能产生布尔类型的结果,称它们为关系运算符,表2.8列出了这些运算符。(见课本32页)关系运算符用于两个操作数之间关系的比较。关系表达式的运算结果为布尔值,不是true就是false,操作数可以是常量、变量和表达式。关系表达式常常用作分支结构或循环结构的控制条件。,2.3.4条件运算符,条件运算符有一个“?”和一个“:”,条件运算符与上面的运算符略有不同,是三元运算符,有三个操作数。条件表达式的格式为:条件表达式?结果1:结果2;条件运算符的计算过程为:首先计算作为条件的逻辑表达式或关系表达式,条件表达式返回值为true时整个表达式的值为结果1,返回值是false时整个表达式的值为结果2。,2.3.5逻辑运算符,表2.9列出了逻辑运算符。(见课本33页)关系运算只能解决一些简单条件的判定问题,对较为复杂的条件可用逻辑运算来判定。逻辑表达式通常由多个关系表达式构成,最终运算结果为布尔值true或false。,例2.5下面的程序说明了关系运算符和逻辑运算符的使用方式。输出结果如图所示。,publicclassRALpublicstaticvoidmain(Stringargs)inta=25,b=3,e=3,f=0;booleand=a5)System.out.println(a/e=+a/e);if(f!=0,2.3.6位运算符,表2.10列出了位运算符。(见课本34页)位运算表示按每个二进制位(bit)进行计算。位运算的操作数仅限于整数(char、short、int、long),以二进制形式进行,运算结果为一个整数。位运算主要是为了满足编程中的特殊要求,如测试设备、与硬件通讯等高级编程内容。一般计算机中8个位为1个字节,数据保存在1个或多个字节中,所以位运算要求程序员必须熟悉数的二进制表示,并且知道位运算以后的结果是什么。,2.3.7其它运算符,在Java中还有一些特殊的运算符,如表2.11。(见课本36页),2.3.8运算优先级,知道了许多运算符,那么当表达式里有多种运算符号的时候,运算的次序如何区分呢?表2.12从高到低列出了运算符的优先级,同一行中的运算符优先级相同。(见课本36页)优先级是指同一式子中多个运算符被执行的次序。同一级别里的运算符具有相同的优先级,算术运算符具有左结合性,,2.4数组,数组是有序数据的集合,数组中的每个元素具有相同的数组名,根据数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组,使用时要先声明后创建。,2.4.1一维数组的声明,数组是Java语言中的特殊数据类型,它们保存着能通过下标索引来引用的一组同类数据。一维数组是指一个线性数据序列,声明格式为:数据类型数组名;或数据类型数组名;,2.4.2一维数组的创建与赋值,1用运算符new分配内存再赋值格式如下:数组名=new数据类型size2直接赋初值并定义数组的大小第二种方法是直接赋初值并定义数组的大小。初值必须用大括号括起,用逗号作分隔符,初值的个数表示数组的大小。,例2.6一维数组的使用。该程序对数组中的每个元素赋值,结果如图所示。,publicclassA1publicstaticvoidmain(Stringargs)inta=newint5;a0=1;a1=2;a2=3;a3=4;a4=5;,System.out.println(a+0+=+a0);System.out.println(a+1+=+a1);System.out.println(a+2+=+a2);System.out.println(a+3+=+a3);System.out.println(a+4+=+a4);,2.4.3多维数组,Java将多维数组看作数组的数组。例如二维数组就是一个特殊的一维数组,它的每个元素是一个一维数组。二维数组的声明与一维数组基本相同,只是后面再加上一对“”。创建二维数组时,可指定各维的长度或至少指定第一维的长度,也可采用直接赋值的方法确定二维数组的长度。此时,按照给定的值序依次填满数组每一行中的元素。更高维的情况是类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川九强通信科技有限公司招聘射频工程师测试笔试历年参考题库附带答案详解
- 2025云南德宏州国有资本投资控股集团有限公司招聘1人信息笔试历年参考题库附带答案详解
- 2025中国中原社会招聘笔试历年参考题库附带答案详解
- 2025福建漳州市漳浦县赤湖第二中心幼儿园顶岗教师招聘1人模拟试卷(含答案详解)
- 2025广东佛山市三水海江昇平建设工程有限公司第一批招聘企业工作人员拟聘用人员(第一批)考前自测高频考点模拟试题及参考答案详解1套
- 2025年珲春市面向普通高校毕业生招聘事业单位工作人员(45人)模拟试卷附答案详解(黄金题型)
- 2025甘肃临夏县招聘警务辅助人员30人考前自测高频考点模拟试题及1套完整答案详解
- 2025年甘肃省嘉峪关市事业单位集中引进高层次和急需紧缺人才50人(含教育系统)模拟试卷附答案详解(考试直接用)
- 2025河南陆军第八十三集团军医院招聘34人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年潍坊诸城市恒益燃气有限公司公开招聘工作人员考前自测高频考点模拟试题及参考答案详解
- 2025江西上饶市属国有企业第一批次招聘105人考试参考试题及答案解析
- 活动板房施工合同范本
- 2025关于上海市的劳动合同范本
- 弱电施工安全培训课件
- 特种作业考试试题(含答案)
- 2025年储能应用行业研究报告及未来行业发展趋势预测
- 施工现场节假日安全管理措施
- 2025年汽车驾驶员(技师)实操考试题带答案
- 浦东机场手册
- JGJ保温防火复合板应用技术
- 幼儿园绘本:《闪闪的红星》 红色故事
评论
0/150
提交评论