ImageVerifierCode 换一换
格式:PPT , 页数:103 ,大小:1.83MB ,
资源ID:7996051      下载积分:18 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7996051.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第02章--Java语言基础(信息学院2014级).ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第02章--Java语言基础(信息学院2014级).ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,程序设计实用教程(第,4,版),*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,程序设计实用教程(第,4,版),单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java

2、程序设计实用教程(第,4,版),单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Java,程序设计实用教程(第,4,版),1,Java,程序设计实用教程(第,4,版),第,2,章,Java,语言基础,2.1,语言成分,2.2,流程控制语句,2.3,数组,2.4,静态方法,2.5,字符串,掌握,Java,语言的基本语法成分。注意与,C/C+,不同之处。,掌握数组类型和字符串的使用方法。,掌握,Java,语言的方法声明和调用规则,掌握方法参数和返回值的传递规则。,重点:,数组的引用模型;使用静态方法,引用类型作为方法的参数和返回值,,字符串,。,内容和

3、要求:,Java,程序设计实用教程(第,4,版),3,数据类型,变量,运算符,控制流语句,Java,块,变量是存储数据的基本单元。,数据类型,确定要存储在内存中的数据的类型。,运算符,是一个符号,用于操作一个或多个参数以得出结果。,程序是按顺序执行的。,控制流语句,允许改变此顺序。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),4,2.1,语言成分,2.1.1,标识符与关键字,2.1.2,基本数据类型,2.1.3,变量与常量,2.1.4,运算符与表达式,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),5,2.1.1,标识符与关键字,关键字:由,Java,定义的

4、具有特定含义的单词;,标识符:用户定义的单词,用于变量、类、对象、方法等;,分隔符:分开两种语法成分,注释:用于说明和解释的一段文字;,程序书写风格:标识符命名和代码编写的一种习惯;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),6,1.,关键字,保留文字:,null,、,true,、,false,abstract,assert,boolean,break,byte,case,catch,char,class,const,continue,default,do,double,else,enum,extends,final,finally,float,for,goto,if,

5、implements,import,instanceof,int,interface,long,native,new,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,throw,throws,transient,try,void,volatile,while,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),9,2.标识符约定,关键字、变量名、对象名、方法名、包名通常,全部字母小写,如果由多个单 词构成标识符,则首字母小写,其后单词首字母大写,

6、如,toString,类名首字母大写,常量名全部字母均大写,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),10,3.,分隔符,分隔符用于分开两个语法成分。,不同的语法成分使用不同的分隔符。例如,关键字、标识符的分隔符是,空格,,语句的分隔符是分号,(;),,数据的分隔符是逗号,(,,,),等。,public,class,Welcome1,public static void main(String args),int i,j,;,system.out.println(“,梅花香子苦寒来,!),;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),11,4.,注释

7、注释,(commentary),是,程序中用于说明和解释的一段文字,对程序运行不起作用。,程序 中添加注释的目的是增强程序的可读性,。,Java,提供,3,种注释方式,:,单行注释、多行注释和文 档注释。,/,/*/,/*,文档注释,用于从源代码自动生成文档执行,javadoc,命令,根据源代码中的内容生成网页,*,/,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),12,4.,文档注释,常用的文档标记,see,引用其他类,see,类名,see,完整类名,see,完整类名,#,方法名,类文档标记,version,版本信息,author,作者信息,方法文档标记,param,参数

8、名 说明,return,说明,exception,完整类名 说明,deprecated,声明方法为丢弃,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),13,2.1.2,基本数据类型,什么是数据类型,类型是具有相同逻辑意义的一组值的集合;,数据类型指一个类型和定义在这个类型的操作集合。,数据类型分类,基本数据类型:,8,种(,byte/short/int/long,、,char,、,double/float,、,boolean,)(取值范围决定于字节数),引用数据类型:,3,种数组、类,(,class,),和接口,(,interface,),从数据存放位置区分基本数据类型和引用

9、数据类型,?,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),14,Java数据存放位置,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),15,2.1.3,变量与常量,变量是存放数据的地方,电脑使用内存来记忆计算时所使用的数据,内存如何存储数据?内存像旅店,1,、开房间(单人间、双人间、总统套间),2,、入住,数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间,内存地址不好记,怎么办?,通过内存中小房间的别名找到数据存储的位置,变量是存储数据的一个基本单元,房间,房间名字,房间类型,入住的客人,变量,变量名,变量类型,变量值,为什么需要变量,对应,

10、武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),17,变量声明,变量声明语法,修饰符,类型 变量,=,表达式,变量,=,表达式,例如:,int i,j;,Java,中没有全局变量,,只有,方法变量,、,实例变量,(类中的非静态变量)、,类变量,(类中的静态变量)。,方法中的变量不能够有访问修饰符。所以下面,访问修饰符表仅针对于在类中定义的变量,。,声明实例变量时,如果没有赋初值,将被初始化为,null,(引用类型)或者,0,、,false,(原始类型)。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),18,Java变量修饰符 1/2,访问修饰符,名称,说明,备

11、注,public,可以被任何类访问,protected,可以被同一包中的所有类访问,可以被所有子类访问,子类没有在同一包中也可以访问,private,只能够被当前类的方法访问,缺省,无访问修饰符,可以被同一包中的所有类访问,如果子类没有在同一个包中,也不能访问,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),19,Java变量修饰符 2/2,修饰符,名称,说明,备注,static,静态变量(又称为类变量,其它的称为实例变量),可以被类的所有实例共享。,并不需要创建类的实例就可以访问静态变量,final,常量,值只能够分配一次,不能更改,注意不要使用,const,,虽然它和,C,

12、C+,中的,const,关键字含义一样,可以同,static,一起使用,避免对类的每个实例维护一个拷贝,transient,告诉编译器,在类对象序列化的时候,此变量不需要持久保存,主要是因为改变量可以通过其它变量来得到,使用它是为了性能的问题,volatile,指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理,变量声明示例,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),20,class VariableTest,public static void main(String args),double a=1.0;,int b=3;,Syste

13、m.out.println(,双精度变量的值为:,+a);,System.out.println(“,整型变量的值为:,”+b);/,使用变量,声明变量并初始化,数据类型,变量名,内存空间存的数值,21,变量的作用域和生存期,变量可以在代码块中声明,块以左大括号开始,以右大括号结束,块用来定义作用域,每次创建一个新块后,就会创建一个新的作用域,变量的作用域是一个作用的范围,每个变量都有自己的作用域,变量的生存期是指变量的生存周期,22,class ScopeVar,public static void main(String args),int num=10;,if(num=10,)/num1

14、在内层作用域中可用,int num1=num*num;,System.out.println(“num,和,num1,的值为,+num+num1);,System.out.println(“num1,的值为,+num1);,示例,/,错误!,num1,未知,检查变量的作用域,如果从变量的作用域外访问变量,则会出错!,23,常量,常量是一种标识符,它的值在运行期间恒定不变,常量标识符在程序中只能被引用,而不能被重新赋值,常量,圆周率,PI,圆周率,PI,代码表示方式,public,static final,double,PI,=3.14159265358979323846;,用法,将,ang,

15、角度转换成径度,public static double toRadians(double ang),return ang/180.0*,PI,;,24,常量的优点,如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?,public static double toRadians(double ang),return ang/180.0*,3.14159265358979323846,;,public static double toDegrees(double ang),return ang*180.0/,3.14159265358979323846,;,public,static

16、final,double,PI,=3.14159265358979323846;,/,圆周率,public static double toRadians(double ang),return ang/180.0*,PI,;,public static double toDegrees(double ang),return ang*180.0/,PI,;,程序的可读性变差:用户很难理解数字或字符串的意思,程序的可维护性变差:如果数值改变,则需要在很多地方改动,既麻烦又易出错,使用常量可以增强程序的可读性、可维护性,25,Java中常量的定义规则,加入,final,关键字代表常量,加入,sta

17、tic,关键字代表类变量,尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串,public class Student,public,static final,int,FEMALE,=1;/,代表女性,public,static final,int,MALE,=2;/,代表男性,private int sex;/,性别,public void setSex(int sex),if(sex=,FEMALE,),System.out.println(,这是一名女学生,);,else if(sex=,MALE,),System.out.println(,这是一名男学生,);,this.

18、sex=sex;,引用数据类型,引用数据类型:,3,种数组、类(,class,)和接口(,interface,),武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),26,int x=7;,int y=x;,String s=Hello;,String t=s;,int x=7;,int y=x;,String s=Hello;,String t=“World;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),27,2.1.4,运算符与表达式,运算符,描述,示例,算术运算符,算术运算符使用数字操作数。这些运算符主要用于数学计算,+,-,*,%,等,关系运算符,关系运

19、算符用于测试两个操作数之间的关系。使用关系运算符的表达式的结果为,boolean,型,=,=,、,=,、,、,=90),res=,优秀,;,else if(s=80),res=,良好,;,else if(s=60),res=,中等,;,else ,res=,不及格,;,return res;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),45,2.switch,语句,switch,语句的基本格式为:,switch,(,表达式,),case,常量表达式,1:,语句序列,1;,break;,case,常量表达式,2:,语句序列,2;,break;,default,:,语句序列,;

20、计算表达式的值,如果等于常量,1,如果等于常量,2,如果没有找到匹配的值,Switch语句,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),46,其中:,(1),表达式的值必须与整型兼容,整形或者字符。,(2),常量表达式是可能出现的值。,(3),不同的,case,分支对应着不同的语句或块序列。,(4)break,表示跳出这一分支。,【,习题,】switch,语句示例,输入数字,按下列对应关系显示。,输入数字 显示,1 A,2 B,3 C,4 D,其他?,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),47,import java.util.Scanner;,

21、public class SwitchExample,public static void main(String args),Scanner,s=new Scanner(System.,in);,System.,out.println(,请输入一个整数,);,int i=s.nextInt();,switch(i),武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),48,case 1:System.,out.println(A);,break,;,case 2:System.,out.println(B);,break,;,case 3:System.,out.println(

22、C);,break,;,case 4:System.,out.println(D);,break,;,default:System.,out.println(?);,每个分支后的,break,语句一定要加上,否则会出现什么情况,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),49,String day=,星期一,;,switch,(day),case,星期一,:,System.out.println(,星期一:青菜,);,break,;,case,星期二,:,System.out.println(,星期二:鱼,);,break,;,default,:,switch,后面小括号中

23、表达式的值必须是整型或字符型,代码错误,Switch,错误示例,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),50,2.2.4,循环语句,1.while,语句,while,(,循环条件,),循环操作,符合条件,循环继续执行;否则,循环退出,循环中被重复执行的操作,int,i=1;,while,(i =30,),System.out.println(,hello,);,i+;,特点:先判断,再执行,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),51,2.do-while,语句,do,循环操作,while,(,循环条件,);,先执行一遍循环操作,符合条件,循环继

24、续执行;否则,循环退出,特点:先执行,再判断,循环操作,循环条件,真,假,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),52,while,循环和,do-while,循环的区别,语法不同,初始情况不满足循环条件时,while,循环一次都不会执行,do-while,循环不管任何情况都,至少执行一次,do,循环操作,while,(,循环条件,),;,while,(,循环条件,),循环操作,先判断,再执行,先执行,再判断,比较,while,和,do-while,【,例,2.7】,计算并输出,Fibonacci,序列。,Fibonacci数列是首两项为0和1,以后各项是前面两项值之和的

25、数据序列:,0,1,1,2,3,5,8,13,21,34,55,.,是输出数列的前N(输入参数)项。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),53,import java.util.Scanner;,public class Fibonacci,public static void main(String args),Scanner s=new Scanner(System.in);,System.out.println(,请输入序列个数(大于,3,),);,int num=s.nextInt();,int i=0,j=1;,int nTimes=2;int temp;

26、System.out.print(+i+j);,do,temp=i+j;,i=j;j=temp;,System.out.print(+j);,nTimes+;,while(nTimes num);,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),54,与书上,P36,实现的差异?,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),55,3.for,语句,for,循环语句,for,循环语句,实现已知次数的循环,,其基本格式为:,for(,初始化表达式,;,测试表达式,;,步长表达式,),语句或块,;,for,循环的语法和执行顺序,3.for,语句,for,(,;,

27、),;,条件为,true,循环体被执行,for,(,int,i=0;i 100;i+),System.out.println(,hello,);,表达式,1,表达式,2,表达式,3,循环操作,参数初始化,条件判断,更新循环变量,1,2,4,3,For语句,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),57,其执行顺序如下:,(1),首先运行初始化表达式。,(2),然后计算测试表达式,如果表达式为,true,,执行语句或块;如果表达式为,false,,退出,for,循环。,(3),最后执行步长,【,例,2.8】,用,for,语句求累加和并显示计算公式。,public cla

28、ss Sum_for,public static void main(String args),int i=1,n=10,s=0;,for(i=1;i1;i-)/,循环控制变量递减变化,s+=i;,System.,out.print(i+);,System.,out.println(i+=+(s+i);,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),58,【,例,】,用,for,语句求累加和并显示计算公式。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),59,多重循环,【,例,2.9】,输出九九乘法表。,演示,for-for,的两重循环结构。,【,习题,】,

29、求,100,以内的素数。,演示,for,与,while,语句构成的二重循环结构。,【,例,】,输出如下格式的九九乘法表。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),60,61,public class Mul99,public static void main(String args),int i,j,n=9;,System.out.print(*|);,for(i=1;i=n;i+),System.out.print(+i);/,输出第一行,System.out.print(n-|);/,输出一行分隔线,for(i=1;i=n;i+),System.out.print(

30、);,System.out.println();,for(i=1;i=n;i+)/,输出九行,System.out.print(+i+|);/,输出每行的乘数,for(j=1;j=i;j+)/,输出一行的若干乘积数,System.out.print(String.format(%4d,i*j);,System.out.println();,【,习题,】,求,100,以内的素数。,public class PrimeNumber,public static void main(String args),int i,n;,System.,out.print(prime Number in 100

31、 are:);,for(n=2;n=100;n+)/2100,的所有数,i=2;,while(i n),if(n%i=0),break;/,若能整除说明,n,不是素数,跳出当前循环,i+;,if(i=n)System.,out.print(n+);,/,是素数,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),62,素数定义:一个大于,1,的自然数,如果除了,1,和它自身外,不能被其他自然数整除的数;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),63,2.2.5,转移语句,return,语句,return,返回值,;,break,语句和,continue,语句

32、break;/,退出循环,continue;/,继续循环,【,例,】,用,for,语句求和,在,i=5,时,break/continue,说明两者差异。,public class Sum_for2,public static void main(String args),int i=1,n=10,s=0;,System.,out.print(Sum(+n+)=);/,显示计算公式,for(i=1;i n;i+)/,循环控制变量递减变化,if(i=5),break;/continue;,s+=i;,System.,out.print(i+);,System.,out.println(i+=+(

33、s+i);,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),64,【,例,】break/continue,差异,break/continue,分别是什么结果呢?,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),65,2.3,数组,2.3.1,一维数组,2.3.2,二维数组,定义:具有,相同数据类型,的元素的有序集合。,特性:,引用数据类型,,,动态数组,(new),。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),66,2.3.1,一维数组,声明,一维数组变量,数据类型,数组 或 数据类型 数组,int a,;,或,int,a;,使用,new,

34、为数组,分配空间,数组,=,new,数据类型,长度,a=new int5;,int a=new int5;,数组长度,length,数组,.length,2.3.1 一维数组,数组元素的表示及运算,数组,下标,,下标从,0,开始,a0,,,a1,,,a2,,,a3,,,a4,ai=ai-2+ai-1;/,数组元素参加运算,数组声明时赋初值,int a=1,2,3,4,5;,数组元素的初始化,类型,a=new,类型,5;/Java,对使用,new,分配的存储单元都进行初始化,根据类型不同赋给相应的初值。,P41,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),67,武汉理工大学信

35、息学院,Java,程序设计实用教程(第,4,版),68,图,2.8,一维数组,(,动态存储示意图,),【,例,2.5】,用一维数组计算,Fibonacci,序列值。,【,例,2.5】,用一维数组计算,Fibonacci,序列值。,public class Fib_array,public static void main(String args),int n=25,i;,int fib=new intn;,fib0=0;,fib1=1;,for(i=2;i n;i+),fibi=fibi-1+fibi-2;,for(i=0;i fib.length;i+)/,输出一维数组,System.,ou

36、t.print(fibi+);,System.,out.println();,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),69,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),70,数组的引用模型,基本数据类型变量的传值赋值,数组变量的引用赋值,b=a;,仅仅是把,a,的地址赋给了,b,变量,真正地给,b,数组也分配了内存空间,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),72,复制数组,public static void arraycopy(,Object,src,int srcPos,Object,dest,int destPos,i

37、nt length),例如:,int a=1,2,3,4,5;,int b=new int5;,System.arraycopy(a,0,b,1,4);/,将,a,数组的前,4,个元素复制到,b,数组中,ArrayCopyTest,例子中使用到,Arrays.toString,方法,,Arrays,用户介绍,73,import java.util.Arrays;,public class ArrayCopyTest,public static void main(String args),int src=1,2,3,4,5;,System.out.print(initial value:);,

38、System.out.println(Arrays.toString(src);,int dst=src;/,浅复制,dst2=30;,System.out.print(,浅复制修改数据元素后,src value:);,System.out.println(Arrays.toString(src);,System.out.print(,浅复制修改数据元素后,dst value:);,System.out.println(Arrays.toString(dst);,src=new int1,2,3,4,5;,System.arraycopy(src,0,dst,0,src.length);/,深

39、复制,dst2=30;,System.out.print(,深复制修改数据元素后,src value:);,System.out.println(Arrays.toString(src);,System.out.print(,深复制修改数据元素后,dst value:);,System.out.println(Arrays.toString(dst);,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),74,2.3.2,二维数组,声明二维数组,int mat=new int 34;,int mat=1,2,3,4,5,6;,二维数组元素表示格式如下:,二维数组,下标,1,下标,2

40、matij /,表示第,i,行第,j,列的数组元素,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),75,2.,二维数组的引用模型,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),76,【,例,2.6】,幻方,8,1,6,3,5,7,4,9,2,N,阶幻方:各行、各列、各对角线上数字之和相等。,幻方有多种构造方法,如杨辉法、连续摆数法。,连续摆数法构造规则:,(,1,)约定初始位置为第,1,行中间,放置,1,;,(,2,)向当前位置的右上方顺序放置下一个数,如数,5,、,6,;将幻方阵沿行、列方向看成环形,如数,2,、,3,;,(,3,)若当前放置数为,n,的

41、倍数,则下一个数的位置是本列的下一行。,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),77,import java.util.Scanner;,public class Magic,public static void main(String args),System.,out.print(,请输入阶数:,);,Scanner,scan=new Scanner(System.,in);,int n=scan.nextInt();/,阶数,int mat=new int nn;,int i=0,j=n/2;/i,j,用做下标,第,1,个数放在第,1,行中间位置,for(int

42、k=1;k=n*n;k+)/k,是自然数,matij=k;/,当前位置取值,if(k%n=0)/,当前值为,n,的倍数,i=(i+1)%n;/,下一位置向下一行,else,i=(i-1+n)%n;/,下一位置向右上方,j=(j+1)%n;,武汉理工大学信息学院,Java,程序设计实用教程(第,4,版),78,System.,out.println(n=+n);,for(i=0;imat.length;i+)/,输出二维数组,for(j=0;j=0),if(n=0|n=1),return 1;,else,return n*,factorial(n-1);/,递归调用,return-1;/n=0)

43、if(n=0|n=1),return n;,else,return,fibonacci(n-2)+fibonacci(n-1);,return-1;/,Fibonacci,数列当,n0,时无定义,public static void main(String args),Scanner,scan=new Scanner(System.,in);,int n=scan.nextInt();,for(int i=0;i99&i1000),判断是否是一个三位数,6.,表达式,(byte)127+(byte)127,的运算结果是,_,,,其数据类型是,_,。,【,答,】254,,,int ,解释,Ja

44、va,的整数默认是,int,类型。,武汉理工大学信息学院,Java,程序设计实用教程,(,第,4,版,),100,7.Java,语言的,char,字符类型与,C/C+,语言相比有什么差别?,【,答,】,两者字符常量表示形式相同,都是用单引号将字符括起来作为字符常量。,不同之处如下:,C/C+,语言的,char,类型表示,ASCII,字符,字长为,1,字节,取值范围为,0,127,;,Java,语言的,char,类型表示,Unicode,字符,占用,2,字节,取值范围为,u0000,uFFFF,(即,0,65535,)。,8.,字符,a,的,ASCII,编码是,97,,则表达式,a+1,的运算结

45、果是,_,,,(char)(a+1),的运算结果是,_,。,【,答,】98,,,b,解释,char,也是数值类型,,a+1,进行的是算术运算,操作数的数据类型相容,结果取较长的,int,数据类型,,a+1,运算含义为将,a,的,ASCII,码,97,加,1,。,9.,设,char ch1=108,ch2=73;,,语句,ch1=ch1+ch2;,有什么错误?如何改正?,【,答,】,编译错,不能将,int,转换成,char,。改正如下:,ch1=(char)(ch1+ch2);,解释,两个,char,作为数值参加算术运算时,默认的运算结果是,int,类型。所以,不能赋值给,char,变量。赋值给

46、char,变量之前需要进行强制转换。,10.,指出下列程序段中的错误以及出错原因。,int s=0;,for(int i=0;i10;i+),s+=i;,i+;,【,答,】,最后一句产生编译错。变量,i,的作用域在,for,语句中,在,for,语句之外则不能使用。,11.,以下数组声明错误的是,_,。,(,A,),int a;,(,B,),int a3;,(,C,),int a=1,2,3;,(,D,),int a=new int3;,【,答,】B,解释,Java,数组是动态数组,声明数组变量时不需要接线指定数组长度,只有使用,new,运算符申请数组存储空间时才需要指定数组长度。,12.,设

47、int a=new int5,b=a;,执行语句,b0=99;,后,,a,中各元素值为,_,。,【,答,】99,0,0,0,0,解释,Java,的数组是引用数据类型,两个数组变量之间的赋值是引用赋值,即两个数组变量引用同一个数组。,13.Java,方法的参数能够作为输出型参数吗?,【,答,】Java,方法的参数传递原则与赋值原则相同,根据参数类型分二种情况:,基本数据类型,参数是输入型参数,形式参数只能接收实际参数赋值,,形式参数改变后值不能作用于实际参数,,可以声明返回值向实际参数传递运算结果值。,引用数据类型,参数是输出型参数,形式参数接收实际参数的引用赋值,即形式参数和实际参数引用同一个引用类型数据(数组或对象),任何通过,形式参数对引用数据的更改都将作用于实际参数,。,14.,下列程序段希望用,for,语句求出,1n,累加和并显示,程序有错误吗?错误子啊哪?输出结果,i,和,s,的值分别是多少?,int i=1,n=10,s=0;,for(i=1;i=0&i=0&jtable.length),String temp=tablej;,tablej=tablei;,tablei=temp;,【,答,】,能。,table,是引用数据类型,参数采用引用传递方式。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服