ImageVerifierCode 换一换
格式:PPT , 页数:82 ,大小:955KB ,
文档编号:4607654      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4607654.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第1章-数据库概论课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第1章-数据库概论课件.ppt

1、第三章 Java语言基础uJava基本语法uJava的标识符、关键字、数据类型uJava的常量与变量uJava的各种运算符及表达式uJava控制语句uJava的数组和字符串本章内容 3.1 Java语言的基本语法语言的基本语法u Unicode字符集:16位编码标准3.1.1 3.1.1 标识符标识符(identifier)u 标识符是赋予变量、常量、数组名、文件名类或方法、对象的名称u 由字母、数字、字母、数字、_ _和和$组成,其中字母可以是Unicode字符集中的字符,如大、小写英文字母、汉字、日文片假名和朝鲜文等,数字为 0 到 9u 标识符的第一个字符不能是数字第一个字符不能是数字u

2、 长度不限,但不宜过长u 区分大小写u 不能用关键字u在Java规范中约定:n关键字、变量名、对象名、方法名、包名通常全部字母小写;n如果由多个单词构成标识符,则首字母小写,其后单词首字母大写,如toString;n类名首字母大写,如FirstJava;n常量名全部字母均大写,如BOOK。下面是几个有效的标识符:identifier thisone UserName User_name _system_varl$max 下面是几个非法的变量名:3max room#class 指出哪些标识符是不准确的,说明原因 here _there this that it 2tol _it (变量名不能以数

3、字开头)(包含非法字符“#”)(“class”为保留字)Java语言中一些被赋以特定的含义、并用做专门用途的单词称为关键字u所有Java关键字都是小写的ugoto和const 虽然从未使用,但也作被为Java关键字保留uTURE、FALSE、NULL等都不是Java关键字3.1.2 关键字关键字(keyword)TURE、FALSE、NULL是合法的Java标识符吗?关键字关键字-1 原始数据类型-byte-short-int-long-float-double-char-boolean 循环关键字-do-while-for-break-continue 分支关键字-if-else-switc

4、h-case-default-break 方法、变量和类修饰符-private-public-protected-final-static-abstract-synchronized-volatile 异常处理-try-catch-finally-throw-throws 对象相关关键字-new-extends-implements-class-instanceof-this-super-interface 字面值常量-false-true-null 方法相关关键字-return-void 包相关关键字-package-import关键字关键字-2u圆括号“()“:用于方法参数、控制语句、数据

5、类型转换u中括号“:用于数组u大括号“:用于构造语句块u逗号“,”:在方法声明或调用时的参数列表中用于分隔多个参数,也可在一条声明语句中同时声明多个属性或局部变量时起分隔作用u 分号“;”:Java语句必须以分号作为结束标记,for循环语句中使用分号来分隔不同的成份u 空格“:Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行u 圆点“.“:用于访问对象成员(属性或方法)3.1.3 分隔符分隔符3.1.4 3.1.4 数据类型数据类型 布尔(boolean)数值类型类数组字符(char)字节(byte)短整数(short)整数(int)浮点类型单精度浮点数(float)双精度浮

6、点数(double)数据类型基本数据类型引用数据类型枚举接口定点类型长整数(long)图3-1Java数据类型u逻辑类型u只有两个取值:true和falseu8位u注意:Java语言中boolean类型只允许使用boolean值,在整数类型和在整数类型和boolean类型之间无转换计算类型之间无转换计算 1布尔型布尔型 booleanbool.java2 2整数类型:整数类型:bytebyte,shortshort,intint,longlongu 所有Java编程语言中的整数类型都是带符号的数字,不存在无符号整数u 长度不变类型长度字节数取值范围byte8位1字节-128127short16

7、位2字节-3276832767int32位4字节-21474836482147483647long64位8字节-92233720368547758089223372036854775807u整型常量:u十进制:123、234u八进制:077、011 /首位为“0”u十六进制:0 x12ABC /首位为“0 x”u整型常量默认为intu长整型常量:后面加L或lTestInteger.javau float型:n常量:123.34f、12.76F、123.0f u double型:n 常量:123.34d、123.43(d可以省略)、123.0D、2.08E25n浮点型常量默认为double 3

8、3浮点类型浮点类型 float float,doubledouble浮点类型长度字节数取值范围float32位4字节-3.40282347E+38F3.40282347E+38Fdouble64位8字节-1.7976931348623157E+308 1.797693134862315 7E+308Sa.javau 使用char类型可表示单个字符,用单引号括起来u 16位u 字符常量:n用英文单引号括起来的单个字符。如:a、汉 n用英文单引号括起来的十六进制字符代码值,格式为:u*,其中u是约定的前缀,*为4位十六进制数,是该字符在unicode字符集中的序号,如:u0061、u004b。n转

9、义字符 4字符类型字符类型 char 转义字符含义单引号”双引号b退格t制表符r回车符n换行符反斜杠转义字符.java注意:u用双引号引用的文字,就是我们平时所说的字符串类型u字符串类型不是原始类型,而是一个类类(class)StringString类类uString类被用来表示字符序列5.类型转换类型转换u将一种数据类型的常量或变量转换到另外的一种数据类型,称为类型转换u类型转换有两种:n隐式类型转换(自动类型转换)n显式类型转换(强制类型转换)(1)隐式类型转换 在实际中常会将一种类型的值赋给另外一种变量类型。如果这两种类型是兼容的,Java将执行自动类型转换。简单的说,当把占用位数较短的

10、数据转化成占用位数较长的数据时,Java执行自动类型转换,不需要在程序中作特别的说明。例如 int i=10;long j=i;类型转换从低到高级的优先关系:byte short int long float double char低高(2)强制类型转换 不是所有的数据类型都允许隐式自动转换。例如,下面的语句把long型数据赋值给int型数据,在编译时就会发生错误:long i=10;int j=i;/精度失真 改为:long i=10;int j=(int)i;(数据类型)变量名(数据类型)变量名 经过强制类型转换,将得到一个在“()”中声明的数据类型的数据,该数据是从指定变量所包含的数据转

11、换而来的。值得注意的是,指定变量本身不会发生任何变化。注意:u 布尔型不能和其它类型进行转换;u 优先级高的值优先级低的值精度失真 强制类型转换的格式是:强制类型转换的格式是:赋值时,必须按照”变量类型的优先级高于所赋数值的优先级”的原则,否则出错。例:float f=8.36;(出错)改为:float f=(float)8.36;或:float x=8.36f;或:double d=8.36;表表3-5基本数据类型的转换基本数据类型的转换char ch;byte b;short s;int i;long k;float f;double d;char ch;ch=(char)b;ch=(ch

12、ar)s;ch=(char)i;ch=(char)k;ch=(char)f;ch=(char)d;byte b;b=(byte)ch;b=(byte)s;b=(byte)i;b=(byte)k;b=(byte)f;b=(byte)dshort s;s=(short)ch;s=b;s=(short)i;s=(short)k;s=(short)f;s=(short)d;int i;i=ch;i=b;i=s;i=(int)k;i=(int)f;i=(int)d;long k;k=ch;k=b;k=s;k=i;k=(long)f;k=(long)d;float f;f=ch;f=b;f=s;f=i;f

13、=k;f=(float)d;double d;d=ch;d=b;d=s;d=i;d=k;d=f;类型提升类型提升下面的代码能通过编译吗?byte a=100;byte b=100;byte c=100;int y=a*b*csystem.out.println(y);u所有的byte、short型值被提升到intu若有一个操作数是long型,整个表达式被提升到long型u若有一个操作数是float型,整个表达式被提升到float型u若有一个操作数是double型,整个表达式被提升到double型u 常量:程序执行中其值不能改变的量n直接常量n符号常量:常量名一般大写final float PI

14、=3.14;public final int MAX=10;u 变量:在程序执行期间可根据需要经常变化的值u 必须先声明和初始化(赋初值),然后才可以使用修饰符 =初始化表达式;int x,y,z=10;public String str1=“姓名”;3.1.5 3.1.5 常量和变量常量和变量u变量的四个基本属性n变量名n变量的数据类型n变量的当前值n变量存储单元的地址1.编写Java应用程序,测试并体会各种原始类型数据的定义,赋值和输出。输出可采用下述形式的语句:/其中x是变量名,如a,b,c等。2.使用char型的三种常量声明方式为char型变量赋值并输出。System.out.prin

15、tln(x=+x);【例3-4】VariableDeclaration.java3.1.6 运算符与表达式运算符与表达式u运算符:表示运算类型u操作数:参与运算uJava常用运算符:n算术运算符:+,-,*,/,%,+,-n关系运算符:,=,n赋值运算符:=扩展赋值运算符:+=,-=,*=,/=n条件运算符:?:n实例运算符:instanceof 1.运算符运算符u算术运算符:加号(+)、减号(-)、乘号(*)除号(/)、取模(%)、自增运算符(+)、自减运算符(-)u注意:n整数除法会直接砍掉小数,而不是进位n取模运算结果的符号与第一个操作数的符号相同n取模运算符%的操作数可以为浮点数:37

16、.2%10=7.2nJava对加运算符进行了扩展,使它能够进行字符串的连接,如:“abc”+“def”的运算结果为串abcdefn前缀+、-与后缀+、-的区别:n+i在使用i之前,使i的值加1n-i 在使用i之前,使i的值减1 n i+在使用i之后,使i的值加1ni-在使用i之后,使i的值减1例如:int a=5,x,y,m,n;x=+a;y=a-;m=a+;n=a-;程序依次执行以后x,y,m,n,a的值是多少?u关系运算符:、=、=、=、!=n二元运算符,用来比较任意类型的两个值,返回布尔类型的值true或false 如:109 /结果为false 3!=5 /结果为truen建议不要直接

17、比较两个浮点数是否相等Math.abs(f1-f2)8&82n:异或,异真同假n&、|:条件与、条件或(短路与、短路或)n如果|左边表达式的值为true,则整个表达式的结果为true,不必再计算右边的表达式n如果&左边表达式的值为false,则整个表达式的结果为false,不必再计算右边的表达式表3-6 布尔逻辑运算真值表OP1OP2OP1&OP2OP1|OP2OP1OP2!OP1OP1&OP2OP1|OP2falsefalsefalsefalsefalsetruefalsetruefalsetruetruetruetruefalsefalsetruetruefalsetruetruetrue

18、truefalsefalseu位运算符:&、|、和 n用于对整数或字符的二进制位进行布尔运算n按位与运算(&):0&0=0,0&1=0,1&0=0,1&1=1n按位或运算(|):0|0=0,0|1=1,1|0=1,1|1=1n按位异或运算():异真同假00=0,01=1,10=1,11=0n按位取反运算():0=1,1=0n左移位运算符():执行左移位。右边的空位补0。在不产生溢出的情况下,数据左移1位相当于乘以2:int a=64,b;/a的二进制表示100 0000 b=a):左边按符号位补0或1。例如:int a=16,b;/a的二进制表示10000 b=a2;/b=4n不带符号位的右移

19、():左边补0u赋值运算符:=n二元运算,左边的操作元为变量,不能是常量n复合赋值操作:x+=10n=与=的区别!u三元条件运算符(?:):x?y:z;n运算的规则是:先计算表达式x的值,若x为真,则整个运算的结果是表达式y的值;若x为假,则整个运算的结果是表达式z的值n从两个数中找出较大的数的功能。int a=3,b=4;int max=ab?a:b;max的值为4。n 三元条件运算是可以嵌套的,如:以下语句中,max表示的是a、b、c三个数中的最大值,其值为5 int a=3,b=4,c=5;int max=(ab?a:b)c?(ab?a:b):c;u实例运算符:instanceofn一元

20、运算符n判断一个指定对象是否是一个指定类(或它的子类)的实例:obj instanceof myclass 其中obj是一个对象,myclass是一个类,若obj是myclass类的对象,则运算结果是true,否则是false 2.表达式表达式u 用Java运算符将操作数连接起来的、符合Java语法规则的式子 u 运算符的优先级决定了表达式中多个运算执行的先后顺序,优先级高的先运算,优先级低的后运算,优先级相同的则由运算符的结合性确定其计算顺序 u 运算符的结合性决定了同一优先级的多个运算符的运算顺序,包括左结合(从左向右)和右结合(从右向左)u 可以用圆括号圆括号改变表达式中运算符的运算次序

21、,圆括号中的表达式称为子表达式 表表3-8 Java运算符列表运算符列表优先级优先级分类分类运算符运算符结合性结合性描述描述1(高)(高)二元二元.()左结合左结合成员、括号成员、括号new+-后置自增、自减后置自增、自减2+-!右结合右结合前置自增、自减,取负,取反前置自增、自减,取负,取反内存分配内存分配3二元二元*/%左结合左结合乘、除乘、除4+-加、减加、减5 移位移位6 =instanceof关系、实例关系、实例7=!=关系关系8&逻辑逻辑910|11&12|13三元三元?:右结合右结合条件条件14二元二元=+=-=*=/=%=&=|=赋值赋值15(低)(低)二元二元,左结合左结合逗

22、号逗号3.2 控制语句控制语句 u 1.java语言语句的分类:n方法调用语句:如System.out.println(“Hello java”);n表达式语句:由一个表达式构成一个语句,如赋值语句:int x=2;n复合语句:用把一些语句括起来构成复合语句npackage语句和import语句:npackage语句指明了该源文件定义的类所在的包nimport 语句可以引入所需要的类n空语句:;n控制语句控制语句控制语句顺序结构顺序结构选择语句选择语句循环语句循环语句转移语句转移语句表达式语句表达式语句空语句空语句复合语句复合语句条件语句条件语句if开关语句开关语句switchwhiledo-

23、whileforbreakcontinuereturn3.2.1顺序语句顺序语句u 顺序结构语句包括:n表达式语句n空语句n复合语句。语句1语句n3.2.2选择语句选择语句u 又称条件语句,通过判定条件的真假来决定执行某个分支语句u if单分支语句:if(表达式)语句组;u二路分支结构:if (表达式)语句组 else 语句组u例如:if(ab)c=a;else c=b;布尔表达式?语句1语句2truefalse入口点出口点【例3-5】MaxMin.javau if语句嵌套:if(表达式1)语句组1;else if(表达式2)语句组2;else if(表达式3)else if(表达式n)语句组

24、n else 语句组n+1【例3-7】StatementNestedScore.javauswitch语句:switch(表达式)case 判断值1:语句块1;break;case 判断值2:语句块2;break;case 判断值3:语句块3;break;case 判断值n:语句块n default:语句块n+1;表达式语句1语句n值1入口点出口点图3-5 switch结构值2值n语句2u switch后面括号中表达式的值必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,也不能为一个字符串。u一个switch语句可以代替个ifelse语句组成的分

25、支结构,而switch语句从思路上显得更清晰。【例3-9】SwitchSeason.javau While循环语句while(布尔表达式)一条语句或者多条语句;3.2.3循环语句循环语句 布尔表达式?语句truefalse入口点出口点【例3-10】WhileSum.java u do-while语句do 一条语句或者多条语句;while(布尔表达式);布尔表达式?语句false入口点出口点true【例3-12】DoWhileSum.java u for循环语句for(表达式1;表达式2;表达式3)一条语句或者多条语句;表达式2表达式1false入口点出口点图3-8 for语句执行流程true语

26、句表达式3【例3-15】ForSum.java u returnn格式1:return;一般若方法为void类型,return可省略n格式2:return 返回值;该格式返回值可以是基本数据类型和引用数据类型,但必须和方法的类型一致,否则编译无法通过3.2.4转移语句转移语句 ubreakn终止switch语句的执行,跳出switch语句,执行switch语句后面的语句;n终止循环语句序列,跳出循环结构,即跳出while、for等语句;n与标号配合使用从内层循环或者内层语句块退出【例3-18】BreakStatement.java ucontinuen用于循环n结束本次循环,转入下一次循环n与

27、标号配合使用中断内层循环【例3-19】ContinueStatement.java 3.3 数组数组 3.3.1一维数组一维数组u按序排列的同类数据元素的集合称为数组 u一维数组的定义:数组类型 数组名 或 数组类型 数组名 u例如:int student;int student;int c,d,e;int c,d,e;推荐前者声明时不能指定数组长度用用new初始化一维数组初始化一维数组u使用new分配内存空间分配内存空间,并按照数组的类型,为每一个数组元素建立默认值。u格式:数组名new 数组元素的类型数组元素的个数u例如:int a;a=new int6 或 int a=new int6;

28、或或int a=new int1,2,3,4,5,6;动态初始化有确定值初始化时不能指定数组长度new时必须指定数组长度获取一维数组元素个数获取一维数组元素个数uJava语言自动为每个数组变量提供length属性保存数组存储单元个数数组名.lengthu例如:int a=new int6;int l=a.length;一维数组元素的引用和运算一维数组元素的引用和运算 u引用格式:数组名下标int a=new int10;/创建数组int b=a0+a9;/使用数组元素u数组下标为从0到9。如果使用了a10,程序运行时将提示错误:java.lang.ArrayIndexOutOfBoundsEx

29、ception u可以在声明数组的同时,给数组元素赋初值。所赋初值的个数决定数组元素的个数u格式:数据类型 数组名初值表u例如:int a=1,2,3,4,5,6;赋初值初始化数组赋初值初始化数组静态初始化不能指定数组长度u使用new动态分配存储单元后,将自动对数组元素进行初始化 数据类型初始化值数据类型初始化值byte、short、int、long0charu0000float0.0fbooleanfalsedouble0.0引用数据类型null例:求数组元素的最小值例:求数组元素的最小值class qiuminpublic static void main(String args)int

30、a=5,8,2,4,1,9,78;/通过赋初值初始化数组 System.out.println(The min is:+minnum(a);static int minnum(int num)int min=num0;for(int i=0;inumi)min=numi;return min;public呢?源文件名?能编译吗?编译后的类文件名?能执行吗?【例【例3-20】使用】使用new创建有创建有10个整数元素的数组个整数元素的数组/InitArray.java public class InitArray public static void main(String args)int a

31、rray;array=new int10;System.out.printf(%s%8sn,数组元素,对应的值);for(int i=0;iarray.length;i+)System.out.printf(%5d%8dn,i,arrayi);int array=new int10;【例【例3-21】使用】使用new创建有创建有10个整数元素的数组个整数元素的数组/InitArray1.java public class InitArray1 public static void main(String args)int array=32,27,64,18,95,14,90,70,60,37;

32、System.out.printf(%s%8sn,数组元素,对应的值);for(int i=0;iarray.length;i+)System.out.printf(%5d%8dn,i,arrayi);数组的遍历for(int i:array)System.out.printf(%8dn,i);for each循环;循环array中的每个元素【例【例3-22】用数组分析调查结果】用数组分析调查结果/StudentPoll.java public class StudentPoll public static void main(String args)int responses=1,2,6,4

33、,8,5,9,7,8,10,1,6,3,8,6,10,3,8,2,7,6,5,7,6,8,6,7,5,6,6,5,6,7,5,6,4,8,6,8,10;/声明长度为11的数组,用于统计1-10的打分人数 int frequency=new int11;for(int i=0;i responses.length;i+)/统计1-10中的值并把相应的结果保存到frequency数组中 +frequencyresponsesi;System.out.printf(%s%10sn,打分值,多少人次);for(int j=1;jfrequency.length;j+)/输出分析结果 System.ou

34、t.printf(%6d%10dn,j,frequencyj);要求:40名学生对某个食堂的饭菜质量进行110的打分(1表示非常差,10是非常好)。使用数组将40个结果输入整型数组,并对打分结果进行分析。3.3.2二维数组二维数组u数组元素中的值是数组即为多维数组u二维数组较常用u二维数组声明格式:数组类型 数组名或数组类型 数组名u例如:int array_name ;或 int array_name;声明时不能指明数组长度二维数组的初始化二维数组的初始化 u声明的同时进行初始化:数据类型数组名数据类型数组名new new 数据类型数据类型 行数行数列数列数 或数据类型数据类型 数组名数组名

35、new new 数据类型数据类型 行数行数列数列数 u例如:int a=new int 56;或int a=new int 56;new时必须指明数组长度通过赋初值初始化二维数组通过赋初值初始化二维数组u格式:数据类型数组名数据类型数组名 =初值表初值表,初值表初值表,初值表初值表u例如:int a =65,34,78,81,56,92,56,87,90,92,69,75 二维数组的引用和运算二维数组的引用和运算u 二维数组元素的引用格式为:数组名下标1下标2u 下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,数组下标从0开始u 二维数组元素个数:数组名.l

36、ength 数组的行数 数组名i.length 数组的列数【例【例3-23】二维数组使用】二维数组使用/TwoDimensionalArray.java/使用二维数组存储数据并输出二维数组中的元素。public class TwoDimensionalArraypublic static void main(String args)int array1=10,2,30,20,5,60;int array2=11,21,31,32,5,61;System.out.println(数组array1的数组元素为:);for(int row=0;row array1.length;row+)for(i

37、nt column=0;column array1 row.length;column+)System.out.println(array1row column);System.out.println(数组array2的数组元素为:);for(int row=0;row array2.length;row+)for(int column=0;column array2row.length;column+)System.out.println(array2 row column);例:输出二维数组各元素的值例:输出二维数组各元素的值 class Qpublic static void main(

38、String args)int a=1,2,3,4,5,6,7,8,9;System.out.println(数组a各元素的值为:);for(int i=0;i3;i+)for(int j=0;j3;j+)System.out.print(aij+t);System.out.println();不规则二维数组不规则二维数组 u为二维数组申请存储空间,既可以一次申请所需的全部空间,也可以分多次申请。u例如:uint mat =new int 23;/一次申请二维数组的全部空间 u多次申请空间的语句序列如下,与上述语句效果相同:uint mat ;umat=new int 2;umat0=new

39、int 3;umat1=new int 3;mat有2个元素,每个元素都是int类型的一维数组u若令mat1=new int 2;mat0与mat1长度不等,即mat的两行长度不等,成为不规则数组3.4 3.4 字符串字符串 3.4.1声明字符串变量声明字符串变量 Java使用java.lang包中的String类来创建一个字符串变量。因此,字符串变量是类类型变量类类型变量,是一个对象,某个具体的字符串是String类的一个实例。声明及初始化声明及初始化u声明格式1:String name;/声明一个String类的变量(对象)name=new String(“沈阳小”);/申请分配空间或者

40、String name=new String(“沈阳小”);u声明格式2:String name;name=沈阳小;或者 String name=沈阳小;一般习惯使用格式2(1)字符串赋值:u可以为其赋一个字符串常量,也可以将一个字符串变量或表达式的值赋值给字符串变量:S1=“Chinese people”;S2=S1;S3=“a lot of“+S2;u运算符“”的将前后两个字符串连接起来。3.4.23.4.2字符串的运算字符串的运算 (2)字符串连接:u“+”可以将两个字符串连接起来:String str=中+国;/字符串str的值为中国 str1+=efgh;u 只有+=能用于字符串变量

41、,其它复合赋值运算符行 str1-=“efgh”;/语法错误u 当字符串与其它类型的值执行连接运算时,Java自动将其它类型转换为字符串:int i=96;String str=Java程序设计考分为+i;/str的值为Java程序设计考分为96 String str=Java程序设计实训成绩为+A;/str的值为 Java程序设计实训成绩为A(3)字符串关系运算:u按照字符串中的字符次序依次比较,结果确定,就停止比较:ABZA;/结果为true,较长的字符串较长u字符串和字符不能比较3.4.3 String3.4.3 String类的常用方法类的常用方法方法说明length()返回字符串的长

42、度equals(Object anObject)将给定字符串与当前字符串相比较,若相等返回true,否则返回falsesubstring(int beginIndex)返回字符串中从beginIndex开始的子串substring(int beginIndex,int endIndex)返回从beginIndex开始到endIndex的子串charAt(int index)返回index指定位置的字符indexOf(String str)返回str在字符串中第一次出现的位置replace(char oldChar,char newChar)以newChar字符替换串中所有oldChar字符tr

43、im()去掉字符串的首尾空格【例3-25】使用String类中的方法判断回文字符串/*算法一:分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不等,则肯定不是,yes=false,立即退出循环,否则继续比较,直到字符全部比较完,yes仍为true,才能肯定str是回文串*/public class RotorString public static void main(String args)String str=rotor;if(args.length0)/获取命令行参数,str=args0;System.out.println(str=+str);

44、/算法一:boolean yes=true;int n=str.length();/获取字符串长度 int i=0;char ch1,ch2;while(yes&(in/2)ch1=str.charAt(i);/获取最前的字符 ch2=str.charAt(n-i-1);/获取最后的字符 System.out.println(ch1=+ch1+ch2=+ch2);if(ch1=ch2)i+;/比较两个字符 else yes=false;System.out.println(“算法一:”+yes);/*算法二:将原串str反转成temp串,再比较两串,若相等则是回文字符串*/String temp=,sub1=;for(i=0;in;i+)sub1=str.substring(i,i+1);/获取子串 temp=sub1+temp;/连接字符串 System.out.println(temp=+temp);System.out.println(“算法二:”+str.equals(temp);/比较字符串本章小结u基本数据类型u控制语句u数组u字符串

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|