




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容提要方法方法的参数传递方法的可变参数格式化输出包importpackage教学要求重点掌握:方法的参数传递原则使用import/package语句的程序代码的编译、执行过程。这也是一个难点。1方法的参数传递Java方法的参数传递所遵循的规则栈内容拷贝传递。要理解这个规则需要首先弄清楚Java对内存的划分管理。Java把内存分为栈(stack)和堆(heap)两部分。栈是Java访问内存的入口,对堆的访问是通过栈完成的。在栈中存放变量的值,若变量是基本类型的,则变量的值就是数据本身,这时Java直接把数据放在栈中;若变量是引用类型的,则会在堆中开辟一块连续的区域用来存放对象,并把对象的首地址放在栈中,即变量的值是对象的首地址。所谓栈内容拷贝传递就是把栈中变量的值拷贝了一份,然后把副本传给了方法参数。代码演示21inti=10;
22t.methodOne(i);
23System.out.println("i="+i);26Aa=newA();
27t.methodTwo(a);
28System.out.println("a.k="+a.k);30Strings="abc";
31t.methodThree(s);
32System.out.println("s="+s);方法的可变参数所谓可变参数就是指方法的参数个数不是固定的,而是变化的,可以是零个,也可以是任意正整数个。其声明的语法如下:methodName(VarParaType...var){
//...
}例如:voidf(inta,Stringb,int...var){}
voidg(String...str){}可以这样调用上面的方法:g();
g("abc");
g("a","b");
g("a","b","c");格式化输出publicPrintStreamprintf(Stringformat,Object...args)举例4//定义一些变量,用来格式化输出
5doubled=345.678;
6Strings="你好!";
7inti=1234;
8
9//"%"表示进行格式化输出,"%"之后的内容为格式的定义
10System.out.printf("%f\n",d);//"f"表示格式化输出浮点数举例(续)12//"9.2"中的9表示输出的长度,2表示小数点后的位数
13System.out.printf("%9.2f\n",-d);
14
15System.out.printf("%+9.2f\n",d);//"+"表示输出的正数带正号
16
17//"-"表示输出的数左对齐(默认为右对齐)
18System.out.printf("%-9.4f\n",d);
19
20//"+-"表示输出的数带正负号且左对齐
21System.out.printf("%+-9.3f\n",d);
22
23System.out.printf("%d\n",i);//"d"表示输出十进制整数
24System.out.printf("%o\n",i);//"o"表示输出八进制整数
25System.out.printf("%x\n",i);//"x"表示输出十六进制整数
26
举例(续)27//"#x"表示输出带有十六进制标志的整数
28System.out.printf("%#x\n",i);
29
30System.out.printf("%s\n",s);//"s"表示输出字符串
31
32//可以输出多个变量,注意顺序
33System.out.printf("输出一个浮点数:"+34"%f,一个整数:%d,一个字符串:%s\n",d,i,s);
35
36//"k$"表示格式字符串之后的第k个参数,k是具体数字
37System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);
38
包Java采用包机制的原因packageimportpackagepackage语句首先看一个例子:1packageabc.d;
2classTestPackage{
3publicstaticvoidmain(String[]args){
4System.out.println("Youareright!");
5}
6}编译、运行javac-dC:\testTestPackage.java
java-cpC:\testabc.d.TestPackageimport与importstaticimportstaticpkg.ClassName.staticMember;
importstaticpkg.ClassName.*;//也可以这样
例如:1importstaticjava.lang.System.*;
2//不可import静态属性的静态成员,如下行代码所示
3//importstaticjava.la
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同劳务合同范例
- 公司合并协议合同范本
- 全职合同范本
- 医院物业招聘合同范本
- 加盟快递押金合同范本
- 单位电线更换维修合同范本
- 声学顾问合同范本
- 单位车棚工程合同范本
- cpvc管购买合同范本
- ul认证合同范本
- 2025电力物资检储配一体化建设技术导则
- 新学期 开学第一课 主题班会课件
- 民法典合同编讲座
- 2024年青岛港湾职业技术学院高职单招语文历年参考题库含答案解析
- 广西壮族自治区公路发展中心2025年面向社会公开招聘657名工作人员高频重点提升(共500题)附带答案详解
- 大学转专业高等数学试卷
- DBJ51-T 198-2022 四川省既有民用建筑结构安全隐患排查技术标准
- 公司厂区保洁培训
- 江苏省招标中心有限公司招聘笔试冲刺题2025
- 2024年防盗门销售合同范本
- 支付令申请书(2025版)
评论
0/150
提交评论