文档详情

Java程序设计及应用 李宗军 02 3新.ppt

发布:2015-12-15约2.73千字共16页下载文档
文本预览下载声明
第4讲:方法与包 内容提要 方法 方法的参数传递 方法的可变参数 格式化输出 包 import package 教学要求 重点掌握: 方法的参数传递原则 使用import/package语句的程序代码的编译、执行过程。这也是一个难点。 1 方法的参数传递 Java方法的参数传递所遵循的规则 栈内容拷贝传递。 要理解这个规则需要首先弄清楚Java对内存的划分管理。Java把内存分为栈(stack)和堆(heap)两部分。栈是Java访问内存的入口,对堆的访问是通过栈完成的。在栈中存放变量的值,若变量是基本类型的,则变量的值就是数据本身,这时Java直接把数据放在栈中;若变量是引用类型的,则会在堆中开辟一块连续的区域用来存放对象,并把对象的首地址放在栈中,即变量的值是对象的首地址。 所谓栈内容拷贝传递就是把栈中变量的值拷贝了一份,然后把副本传给了方法参数。 代码演示 21 int i=10; 22 t.methodOne(i); 23 System.out.println(i=+i); 26 A a=new A(); 27 t.methodTwo(a); 28 System.out.println(a.k=+a.k); 30 String s=abc; 31 t.methodThree(s); 32 System.out.println(s=+s); 方法的可变参数 所谓可变参数就是指方法的参数个数不是固定的,而是变化的,可以是零个,也可以是任意正整数个。其声明的语法如下: methodName( VarParaType ... var ){ //... } 例如: void f(int a, String b, int ... var){} void g(String ... str){} 可以这样调用上面的方法: g(); g(abc); g(a,b); g(a,b,c); 格式化输出 public PrintStream printf(String format, Object... args) 举例 4 //定义一些变量,用来格式化输出 5 double d = 345.678; 6 String s = 你好!; 7 int i = 1234; 8 9 //%表示进行格式化输出,%之后的内容为格式的定义 10 System.out.printf(%f\n,d);//f表示格式化输出浮点数 举例(续) 12 //9.2中的9表示输出的长度,2表示小数点后的位数 13 System.out.printf(%9.2f\n,-d); 14 15 System.out.printf(%+9.2f\n,d);//+表示输出的正数带正号 16 17 //-表示输出的数左对齐(默认为右对齐) 18 System.out.printf(%-9.4f\n,d); 19 20 //+-表示输出的数带正负号且左对齐 21 System.out.printf(%+-9.3f\n,d); 22 23 System.out.printf(%d\n,i);//d表示输出十进制整数 24 System.out.printf(%o\n,i);//o表示输出八进制整数 25 System.out.printf(%x\n,i);//x表示输出十六进制整数 26 举例(续) 27 //#x表示输出带有十六进制标志的整数 28 System.out.printf(%#x\n,i); 29 30 System.out.printf(%s\n,s);//s表示输出字符串 31 32 //可以输出多个变量,注意顺序 33 System.out.printf(输出一个浮点数:+ 34 %f,一个整数:%d,一个字符串:%s\n,d,i,s); 35 36 //k$表示格式字符串之后的第k个参数, k是具体数字 37 System.out.printf(字符串:%2$s,%1$d的十六进制数:%1$#x,i,s); 38
显示全部
相似文档