




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言程序设计,第2章Java基础,编著:张思民,本章内容提要,1、基本数据类型2、表达式和运算符3、程序控制语句4、数组5、向量(简介)6、字符串,2.1数据类型,程序=算法+数据结构+程序设计方法+语言工具和环境。之所以有数据类型,就是因为计算机存储不同数据类型的方式和空间不同。,数据类型分类,Java定义了8个基本数据类型:字节型,短整型,整型,长整型,字符型,浮点型,双精度型,布尔型。它们分为4组:整数型(byte,short,int,long)浮点数型(float,double)字符型(char)布尔型(boolean),数据类型的分类,【例2-1】计算二个整数的和:,classExample2_1publicstaticvoidmain(Stringargs)intx,y,sum;/变量声明x=3;y=5;sum=x+y;/求和System.out.println(二数之和为:+sum);在Java中,使用变量要遵守“先声明后使用”的原则。,类型转换,自动转换需要满足两个条件:1、类型相容;2、目标数据类型比原数据类型分配的内存空间大(即由低到高)。,强制转换发生在相容数据类型之间(即精度由高到低)。语法形式:(目标类型)值,基本数据类型按精度从“低”到“高”的顺序为:byteshortintlongfloatdouble,2.2表达式和运算符,表达式是由运算符、操作数和方法调用按照语言的语法构造而成的符号序列。表达式可用于计算一个公式,为变量赋值以及帮助控制程序执行流程。,2.2.1表达式与运算符,只有一个运算对象的运算符称为一元运算符。例如+x是一个一元运算符,它是对运算对象x自增加1。+x,-x:使用X之前,先使X的值加1(或减1);X+,X-:使用X之后,再使X的值加1(或减1)设X=5则Y=+XY的值为6;Y=X+Y的值为5,而X为6。,我们可以将运算符分成以下几类:算术运算符;关系和条件运算符;移位和逻辑运算符;赋值运算符;其他的运算符。,2.2.2算术运算符,Java语言支持所有的浮点型和整型数进行各种算术运算。这些运算符为+(加)、-(减)、*(乘)、/(除)以及%(取模)。算术运算符的使用基本上与加减乘除一样,也是先乘除后加减,必要时加上括号表示运算的先后顺序。例如这个程序代码会在命令行模式下显示:System.out.println(1+2*3);,2.2.3关系与逻辑运算符,条件运算符,2.2.4位运算符,位运算符是对操作数以二进制位为单位进行的操作和运算,其结果均为整型量。,移位和逻辑运算符,右移运算符“”将一个数的二进制位序列右移若干位,移出右端的低位被舍弃,最高位则移入原来高位的值。例如:a=00110111,则a2=00001101b=11010011,则b2=11110100左移运算符“2表示右移2位,相当于作x22的运算,其结果为2。一般地:xn表示右移n位,相当于作x2n的运算。逻辑右移运算符“”将一个数的二进制位右移若干位,右端移出的低位被舍弃,最高位也是补0,这点与“”不同。当运算对象为数字的时候,“case符合数字或字符:语句块2;break;default:语句块3;,switch语句首先计算条件表达式的值,如果表达式的值和某个case后面的常量数值相同,就执行该case里的若干条语句,直到break语句为止。若没有一个常量与表达式的值相同,则执行default后面的若干条语句。default是可有可无的,如果它不存在,并且所有的常量数值都和表达式的值不相同,那么switch语句就不进行任何处理。,2.3.5循环语句,1、for循环语句for循环语句的语法结构如下:for(初始条件;终止条件;增量)循环体;,图2.7循环语句的执行过程,2.4数组,数组是一组相同类型变量的集合,可以使用共同的名字引用它。,2.4.1创建和使用数组,1、声明数组(1)声明一维数组的格式:数组元素的类型数组的名字;(2)声明二维数组的格式:数组元素的类型数组的名字;,2、创建数组,一般来说,当创建数组的时候,使用new操作符,后面跟着数组元素的数据结构。然后将元素的数目用方括号括起来,其格式如下所示:数组名字=new数组元素的类型数组元素的个数;例:a=newint10;,3、数组元素的使用,数组可以通过下标访问自己的元素:inta=newint10;for(inti=0;ia.length;i+)ai=i;System.out.print(ai+);,4、确定数组的大小,为了获得数组的大小,可以使用下面的代码:数组名.length;注意,不能在length后面加一个圆括号(),否则造成错误,因为length不是一个方法。,2.4.2多维数组的应用,在Java中,多维数组(multidimensionalarrays)是由若干行和若干列组成数组。在人们工作生活与学习中,要使用二维表格、矩阵、行列式等,都可以表示成多维数组。例如:intD=newint34;,该语句声明并创建了一个3行4列的数组D。这个数组在逻辑上可以表示成一个int类型的矩阵。也就是说,这个数组在逻辑上可以表示为:D00D01D02D03D10D11D12D13D20D21D22D23,2.5向量,1、向量(Vector)向量(Vector)是Java.util包(java.util包是专门保存各种常用工具类的类库)提供的一个工具类。它有类似数组的顺序存储的数据结构,但是具有比数组更强大的功能。,2、创建向量对象,Vector类有三个构造函数:(1)Vector():构造一个空向量。(2)Vector(inti):用指定的初始化容量构造一个空向量。(3)Vector(inti,intj):用指定的初始化容量i和容量增量j构造一个空向量。下面的语句就利用构造函数创建了一个向量序列:Vectorv1=newVector(100,10);,向量的常用方法,2.6字符串的简单介绍,1、字符串声明与创建下面是声明并创建字符串的语句:Stringstr;str=thisisaStirng.;也可以将上面二条语句合并为一条语句:Stringstr=thisisaString.;,2、字符串操作,(1)求字符串的长度,例:Stringstr1=Hello!;Stringstr2=你身体好吗?;System.out.println(str1.length();System.out.println(str2.length();,(2)比较两个字符串,String类中有三个方法可以比较两个字符串是否相同。publicintcompareTo(Stringstr);publicbooleanequals(Objectobj);publicbooleanequalsIgnoreCase(Stringstr);,这里需要特别说明,比较二个数值x、y是否相等,我们使用x=y。而比较二个字符串相等则不能使用“=”来比较。请看下面的程序段:,(3)字符串与数值的转换,字符串str转换为整型:intx=Integer.paresInt(str);字符串str转换为float型:floatn=Integer.paresFloat(str);例如:Stringstr=String.valueOf(123.4);,(4)字符串与字节数组的转化,要将一个字符串转化为字节数组,可用下列方法:byted=字符串对象.getBytes();反之,要将一个字节数组转化为字符串,则用字符串的构造方法就能达到目的。String(byte,intoffset,intlength),3、使用StringTokenizer字符分析器,有时我们需要将字符串分解成可被独立使用的单词,这些单词叫做语言符号。当我们分析一个字符串并将字符串分解成可被独立使用的单词时,可以使用java.util包中的StringTokenizer类。StringTokenizer对象被称为字符分析器。其构造方法为:StringTokenizer(Stringstr,Stringdelim)将指定字符串str按字符delim为分隔符进行分解。,StringTokenizer类的常用方法:hasMoreTokens():检测字符串中是否还有语言符号,若有语言符号就返回true,否则返回false。nextToken():逐个获取字符串中的语言符号。countTokens():计算调用了nextToken()方法的次数,用于统计字符串中的语言符号的个数。,4、main()方法中的参数,在Java应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽省中考历史试卷真题及答案详解(精校打印版)
- 中小学心理健康教育与学生心理健康素养提升论文
- 中学语文“思辨性阅读与表达”教学策略与传统文化教育的融合论文
- 艾弗格公司管理制度
- 苗圃地冬季管理制度
- 茶油树基地管理制度
- 融入数字孪生的中职智慧园林学习空间构建与应用
- 管理学谷歌案例分析
- 视觉感知汽车领域应用分析
- 自动控制原理课程设计 (一)
- XX公司事故隐患内部报告奖励制度1
- 儿童重症肺炎护理常规
- 装饰装修施工方案
- 骨科手术切口感染的预防与控制
- 影视制作基地装修施工合同
- 河北省唐山市重点达标名校2025届中考联考生物试卷含解析
- 2025年广西职业院校技能大赛高职组(中药传统技能赛项)参考试题库及答案
- 电动车售后维修流程与服务质量提升
- 漂发染发知识培训课件
- 2025年山东威海文旅发展集团有限公司招聘笔试参考题库含答案解析
- 内分泌科室院感工作总结
评论
0/150
提交评论