第2章 Java语言基础

上传人:小**** 文档编号:243152004 上传时间:2024-09-17 格式:PPT 页数:43 大小:174KB
返回 下载 相关 举报
第2章 Java语言基础_第1页
第1页 / 共43页
第2章 Java语言基础_第2页
第2页 / 共43页
第2章 Java语言基础_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,Java,语言基础,学习导读,掌握,Java,语言的基础知识,是正确编写,Java,程序的前提,也是进一步深入学习,Java,语言的基础。,本章主要介绍编写,Java,程序必须熟悉的语言基础知识,包括,Java,语言标识符、保留字、数据类型、运算符、表达式、标准输入输出、流程控制语句以及数组。,课程结构,2.1,标识符和保留字,2.2,数据类型,2.3,运算符与表达式,2.4 Java,的常用的输入与输出,2.5 Java,的流程控制语句,2.6,数,组,2.1,标识符和保留字,1.,标识符,标识符用于标识变量、函数、类和对象的名称,一来说明它们的存在,二来方便地使用它。,标识符由字母、数字、下划线和,$,构成;,第一个字符不能是数字字符;,保留字不能作为用户自定义的标识符。,2.1,标识符和保留字,2.,保留字,保留字或关键字是指那些具有专门的意义和用途的、由系统定义的标识符。,const,和,goto,保留字没有任何意义,表,2-1,常见保留字,2.2,数据类型,Java,的数据类型可分为基本数据类型(或叫简单数据类型)和复合数据类型。基本数据类型是指由,Java,语言本身定义的数据类型。复合数据类型是由用户根据需要自己定义并实现其运算的数据类型,。,表,2-2 Java,定义的所有基本数据类型,类 型,范围,/,格式,说 明,整数,类型,byte,8,位二进制补码,字节整型,short,16,位二进制补码,短整型,int,32,位二进制补码,整型,long,64,位二进制补码,长整型,实数,float,32,位,IEEE754,规范,单精度,double,64,位,IEEE754,规范,双精度,字符,char,16,位,Unicode,字符集,单字符,布尔,boolean,true,或,false,布尔值,2.2,数据类型,1.,整数类型,整数类型包括整型常量和整型变量。,整型常量,整型常量有,int,和,long,两种类型,其中,long,型整型常量要在数字后面加大写的字母,L,或小写的字母,l,。具体的整型常量有三种表示形式:,(,1,)十进制整型常量 是由,09,、,+,、,字符组成,并以,+,、,号开头的数字串。如,987,,,654,。,(,2,)八进制整型常量 是由,07,、,+,、,字符组成,并以,+,、,号加,0,开头的数字串。如,023,(相当于十进制的,19,),,043,(相当于十进制的,35,)。,(,3,)十六进制整型常量 是由,09,、,+,、,、,AF,、,af,、,x,或,X,字符组成,并以,+,、,号加,0x,或,0X,开头的数字串。如,0x12,,,0X6A,。,整型变量,整型变量的类型有四种:,byte,、,short,、,int,和,long,。,2.2,数据类型,2.,浮点数据类型,浮点数据类型就是常说的实型数据,也包括实型常量和实型变量,实型常量,实型常量有,float,和,double,两种数据类型,其中要表示,float,类型常量必须在数字后加上字母,F,或,f,。具体有两种表示形式:,1,)十进制数表示:由数字、小数点和正负号组成,且必须有小数点。如,0.12,、,35.67,。,2,)科学计数法表示:由数字、小数点、正负号和字母,E/e,组成,且在,E/e,之前必须有数字,如,1.2e3,、,45E8,。,实型变量,实型变量的数据类型有,double,和,float,两种。,double,称为双精度类型,,float,称为单精度类型。双精度类型比单精度类型的数据具有更高的精度和更大的表示范围。但单精度数据比双精度数据所占内存空间少且在处理器进行处理的速度也比双精度数据类型快一些。,2.2,数据类型,3.,字符型数据,字符型数据也包括字符型常量和字符型变量。,字符型常量是用单引号括起来的一个字符,如:,A,、,9,。,Java,语言中的字符型数据是使用,16,位,Unicode,(全球文字共享编码)方式。由于采用,Unicode,编码方案,使得,Java,在处理多语种的能力方面得到大大提高,从而为,Java,程序在基于不同语种之间实现平滑移植铺平了道路。,与,C/C+,相同,,Java,语言也提供转义符号,以“,”,开头,将其后面的符号转变为其他的含义。如:,ddd,表示,1,到,3,位八进制表示的数据;,uxxxx,表示,1,到,4,位十六进制表示的数据;,表示单引号。,另外,,Java,中字符型数据虽然不能用作整型,但可以把它当作整型数据来操作。,2.2,数据类型,4.,布尔型数据,布尔型数据只有,true,和,false,两个数据值,并且它们不对应任何整型值。,2.3,运算符与表达式,1.,运算符,运算符按照参与运算的操作数的个数可分为:单目运算符、双目运算符和三目运算符。除进行运算外,运算符也返回值。这个值和类型取决于运算符和操作数的类型。,Java,运算符主要包括以下几类:算术运算符、关系运算符、条件运算符、位运算符、逻辑运算符以及赋值运算符。,2.3,运算符与表达式,算术运算符,算术运算符完成算术运算,;,包括一元算术运算符(,+,、,、,+,、, ,)和二元算术运算符(,+,、,、*、,/,、,%,),;,2.3,运算符与表达式,关系运算符,关系运算符是比较两个数据大小关系的运算,常用的关系运算符是:,、,=,、,、,op1op2,op1,中各位都向右移,op2,位(最高位补符号位),op1,op1op2,op1,中各位都向右移,op2,位(无符号,补,0,),&,op1&op2,按位与,|,op1|op2,按位或,op1op2,按位异或,op,按位取反,2.3,运算符与表达式,赋值运算符,赋值运算符有,=,和符合赋值运算符,符合赋值运算符是先对某表达式进行某种运算后,把运算结果赋给一个变量,.,注意:当变量的数据类型与表达式计算结果的数据类型不一致时,如果变量数据类型级别高,则结果数据类型被自动转化为变量数据类型,然后赋给变量。否则,需要使用强制类型转换运算符将结果转化为变量数据类型。,2.3,运算符与表达式,条件运算符,条件运算符为三元运算符,其格式为:,expression?Statement1:statement2,。,功能是:若,expression,为真,则执行语句,statement1,,否则执行语句,ststement2,。例如:,c=a,b?a:b,。,注意:,statement1,与,statement2,要有相同返回结果,且不能是,void,返回类型。,2.3,运算符与表达式,2.,表达式,表达式由运算符、操作数和方法调用,按照语言的语法规则构造而成的符号序列。,最简单的表达式是一个常量或一个变量。,表达式的任务有两项:执行指定的运算和返回运算结果。,一个运算符的使用就是一个表达式。,2.3,运算符与表达式,3.,运算符的优先级和结合性,使用表达式要注意:运算符的功能;运算符的优先级;运算符的结合性;对操作数的要求,包括个数要求、类型要求和值要求(如,/,或,%,都要求右边的操作数不为零);表达式值的类型。,对表达式的运算是按运算符的优先顺序从高到低进行的。同级的运算符按照运算符的结合性进行运算。,说明:,1,)所有单目运算符处于同一级,它们比双目运算符的优先级高。,2,)在双目运算符中,算术运算符高于关系运算符,关系运算符高于位操作和逻辑运算符。,3,)条件运算符高于赋值运算符,它们优先级别最低。,4,)除了单目运算符、条件运算符和赋值运算符的结合性为从右到左外,其他均为从左到右。,2.4 Java,的常用的输入与输出,1.Java,的标准输入与输出,Java,语言中的输入输出涉及流的概念,借助流类实现输入输出。,在,Java,程序中有一大部分是采用标准输入输出。标准输入是键盘的输入,标准输出是终端屏幕。标准错误输出也指向屏幕,如果有必要,它也可以指向另一个文件以便和正常输出区分。,通过系统类,System,达到访问标准输入输出的功能。,System,类管理标准输入输出流和错误流,有以下三个对象:,1,),System.out,:把输出送到默认的显示(通常是显示器)。,2,),System.in,:从标准输入获取输入(通常是键盘)。,3,),System.err,:把错误信息送到默认的显示。,2.4 Java,的常用的输入与输出,2.Java,的图形界面输入与输出,Java,语言可以实现图形界面效果,,Java,语言中提供了一个类,javax.swing.JOptionPane,,该类提供了弹出一个标准对话框的功能,通过标准对话框来提示用户。往往可以利用它这个性质来实现具有对话框显示效果的数据输入和输出。,JOptionPane,类实现输入和输出对话框的常用方法有:,showInputDialog,():用于数据输入;,showMessageDialog,():提示用户某些信息,可以由用户定义;,2.5 Java,的流程控制语句,流程控制语句是程序中基本且关键的部分,它用来控制程序中语句执行顺序。在传统的结构化程序设计中最主要的控制结构有顺序、分支和循环三种基本结构。虽然,Java,语言是面向对象的语言,但是在语句块内部,仍然需要借助基本流程结构来组织语句完成相应的逻辑功能。,2.5 Java,的流程控制语句,1.,分支语句,分支结构有两路或多路分支。它们均是根据条件表达式的真假来选择语句的走向。,(1),if/else,分支语句,格式:,if(expression,),statements1;,else,statements2;,2.5 Java,的流程控制语句,(2),嵌套,if/else,分支语句,格式:,if(expression,1),statements1;,elseif(expression,2),statements2;,elseif(expression,N),statementsN,;,else,statements;,2.5 Java,的流程控制语句,(3),switch,分支结构,格式:,switch(expression,),case value1:statements1;break;,case value2:statements2;break;,case,valueN:statementsN;break,;,default:statements;break,;,2.5 Java,的流程控制语句,使用,switch,语句要注意:,expression,必须是,int,、,byte,、,char,和,short,类型之一。,value,必须是常量,且所有,case,子句中的,value,是不相同的。,default,语句是可选的。当存在,default,语句,而无与,expression,匹配的,value,时,就执行,default,语句;当无,default,语句,且又无与,expression,匹配的,value,时,就跳出,switch,语句。,break,用于执行完一个,case,子句后跳出,switch,语句。在某些情况下,允许位置上连续的多个不同的,case,子句执行相同的操作,所以只在该组的最后一个,case,字句中使用,break,语句。,2.5 Java,的流程控制语句,2.,循环语句,循环结构是指在满足一定条件下,反复执行某一段语句。,Java,中有四种循环语句:,while,语句,,dowhile,语句、,for,语句、,for-each,语句。,2.5 Java,的流程控制语句,(,1,),for,循环结构,格式:,for(initexpr1;testexpr2;incrementexpr3),statements;,(,2,),for-each,语句,格式:,for(,数据类型 变量:数组名,),作用:,在,JDK5.0,新增了一个增强,for,形式的循环语句,它可以实现对数组顺序访问而不依赖于数组的下标和迭代器。就是不通过数组的下标达到对指定数据类型数组的所有的元素的访问。,2.5 Java,的流程控制语句,(3),while,循环结构,格式:,while(expression,),statements;,作用:,先判断条件表达式,expression,是否为真,若是真,则执行循环体,循环体执行完后再转向条件表达式继续做计算和判断;当条件表达式为假时,则跳出,while,语句。,2.5 Java,的流程控制语句,(3)dowhile,循环结构,格式:,do,statements;,while(expression,);,作用:,与,while,语句很相似,不同的是,do-while,语句是先执行循环体一次,再判断条件表达式,expression,是否为真,若为真,则继续执行循环体,否则跳出,do-while,语句。,2.5 Java,的流程控制语句,3.,一般循环控制,(,1,),break,语句,格式:,breaklabel,作用:使程序从一个语句块内部跳转出来。带标号的,break,语句就从当前这个语句块跳出进入标号对应的语句中。不带标号的,break,语句是从它所在的,switch,分支或最内层的循环体中跳转出来,执行分支或循环体后面的语句。,(,2,),continue,语句,格式:,continuelabel,作用:对不带标号的,continue,语句用来结束本次循环,跳过循环体中未执行的语句,调整循环条件后,继续判断条件,以决定是否继续循环。对带标号的,continue,语句与带标号的,break,语句一样。,(,3,),return,格式:,return,expr,;,作用:使流程从方法调用中返回,表达式的值就是调用方法的返回值。,2.6,数组,在,Java,语言中,数组是属于复合数据类型,是由使用者自己来定义的,它实际上是一种隐含的“数组类”的实例。数组名就是该实例的一个引用,同样数组元素是对数组元素类实例的引用。,2.6,数组,1 .,数组的声明,Java,的数组声明可以采用与,C,语言类似的形式。,格式:,一维数组:,arrayType,arrayName,;,二维数组:,arrayType,arrayName,;,Java,的数组声明语句没有指明数组大小。这是因为,Java,声明数组时并不一定需要为数组分配存储单元。,Java,中数组的存储单元的分配是在创建数组时完成的。,2.6,数组,2.,数组的创建,(,1,)一维数组的创建,分成:,数组元素为简单数据类型,数组元素为复合数据类型,2.6,数组,数组元素为简单数据类型, 采用静态初始化。对于数据元素类型是基本数据类型的数组,声明数据与创建数组空间结合在一起,用一条语句完成,并同时给出各数组元素的初始值。,格式为:,arrayType,arrayName,=element1,element2;,或,arrayType,arrayName,=element1,element2;,2.6,数组, 采用动态初始化。动态初始化的操作是由,new,运算符完成的。例如,对前面所声明的数组,可以用下面的形式创建一个数组,count=new int10;,或者,count=new int10;,事实上数组的声明与创建可以合并用一条语句来实现,如:,int,count=new int10;,或者:,int, count=new int10;,2.6,数组,数组元素为复合数据类型 对于数组元素为复合数据类型的一维数组的空间创建按以下两个步骤进行。, 为数组元素开辟引用空间,格式:,arrayName,=new,arrayTypearraySize,;,为每个数组元素开辟存储空间,格式:,arrayName,i,=new,arrayType,(,paramList,),;,其中,i=0,arraySize-1,。,2.6,数组,(,2,)二维数组的创建,分成:,数组元素为简单数据类型,数组元素为复合数据类型,2.6,数组,数组元素为简单数据类型, 采用静态初始化。同一维数组一样,声明数据与创建数组空间结合在一起,用一条语句完成,并同时给出各数组元素的初始值。例如:,int,smallPrime,=2,3,5,7,11,13,17;,由于二维数组看作是数组的数组,数组空间不是连续分配的,所以每一维的大小可以不一样。如上例所示。, 采用动态初始化。也同一维数组一样,通过,new,操作符进行空间分配,有两种方式:,直接为每一维分配空间,格式为:,arrayName,=new arrayTypearraySize1arraySize2;,2.6,数组,数组元素为复合数据类型,采用上述动态分配中的第二种方式进行数组的创建,即首先为数组的最高维分配引用空间,然后依次为低维分配引用空间,还要为每个数组元素分配存储空间。,例如:,String,str,=new String2; /,最高维的引用空间,Str0=new String2; /,低维的引用空间,Str1=new String2; /,低维的引用空间,Str00=new,String(“Happy,”); /,数组元素的存储空间及其数据,Str01=new,String(“Birthday,”)/,数组元素的存储空间及其数据,Str10=new,String(“to,”); /,数组元素的存储空间及其数据,Str11=new,String(“You,”); /,数组元素的存储空间及其数据,标识符用于标识变量、函数、类和对象的名称,它是以字母或下划线或美元符号开头的字母数字串。,Java,中的标识符区分大小写。,Java,的数据类型可分为基本数据类型(或叫简单数据类型)和复合数据类型。基本数据类型是指由,Java,语言中定义的数据类型,有,8,种基本数据类型。复合数据类型是由用户根据需要自己定义并实现其运算的数据类型,有,3,种复合数据类型。,本章小结,运算符按照参与运算的操作数的个数可分为:单目运算符、双目运算符和三目运算符。除进行运算外,运算符也返回值。这个值和类型取决于运算符和操作数的类型。,Java,运算符主要包括以下几类:算术运算符、关系运算符、条件运算符、位运算符、逻辑运算符以及赋值运算符。,表达式由运算符、操作数和方法调用,按照语言的语法规则构造而成的符号序列。最简单的表达式是一个常量或一个变量。表达式的任务有两项:执行指定的运算和返回运算结果。,Java,通过系统类,System,达到访问标准输入输出的功能。,System,类管理标准输入输出流和错误流,有以下三个对象:,System.out,、,System.in,、,System.err,,这三个对象在,main,方法被执行时就自动生成。,流程控制语句是程序中基本和关键的部分,它用来控制程序中语句执行顺序。在传统的结构化程序设计中最主要的控制结构有顺序、分支,(if,、,if/else,、,switch),和循环(,for,、,while,、,do-while,)三种基本结构。此外,从,JDK5.0,以后新增了一个增强型的,for,循环,可以实现对数组的顺序访问。,数组是属于复合数据类型,是由使用者自己来定义的,它实际上是一种隐含的“数组类”的实例。数组名就是该实例的一个引用,同样数组元素是对数组元素类实例的引用。对数组的使用一般包括三个步骤:声明数组、创建数组和使用数组。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!