Java基础--动态参数
package test.java15;
public class Params {
//动态参数--参数繁琐的问题,只能针对同一类型。对不同类型 用Object
/**
* 一个方法只能有1个动态参数
* 一个方法中,既有普通参数又有动态参数,动态参数只能放最后
* params实际上是一个数组
*
*/
public int sum(int...params) {
int result = 0;
for (int i = 0; i < params.length; i++) {
result += params[i];
}
return result;
}
public int sum1(int x,Object...params) {
System.out.println(x+"普通参数");
for (int i = 0; i < params.length; i++) {
System.out.println(params[i]);
}
return 0;
}
public static void main(String[] args) {
Params params = new Params();
int a = params.sum(1,2,3,4,10);
System.out.println(a);
int[] nums = {1,2,3,4};
System.out.println(params.sum(nums));
Params params2 = new Params();
params2.sum1(21,1,"ff",12.6D);
}
}
Android Java中的static与final关键字的作用
static
final
public class TestStaticFinal {
private static final String strStaticFinalVar = "aaa";
private static String strStaticVar = null;
private final String strFinalVar = null;
private static final int intStaticFinalVar = 0;
private static final Integer integerStaticFinalVar = new Integer(8);
private static final ArrayList<String> alStaticFinalVar = new ArrayList<String>();
private void test() {
System.out.println("-------------值处理前----------");
System.out.println("strStaticFinalVar=" + strStaticFinalVar + "");
System.out.println("strStaticVar=" + strStaticVar + "");
System.out.println("strFinalVar=" + strFinalVar + "");
System.out.println("intStaticFinalVar=" + intStaticFinalVar + "");
System.out.println("integerStaticFinalVar=" + integerStaticFinalVar + "");
System.out.println("alStaticFinalVar=" + alStaticFinalVar + "");
//strStaticFinalVar="哈哈哈哈";//错误,final表示终态,不可以改变变量本身.
strStaticVar = "哈哈哈哈"; //正确,static表示类变量,值可以改变.
//strFinalVar="呵呵呵呵"; //错误, final表示终态,在定义的时候就要初值(哪怕给个null),一旦给定后就不可再更改。
//intStaticFinalVar=2; //错误, final表示终态,在定义的时候就要初值(哪怕给个null),一旦给定后就不可再更改。
//integerStaticFinalVar=new Integer(8); //错误, final表示终态,在定义的时候就要初值(哪怕给个null),一旦给定后就不可再更改。
alStaticFinalVar.add("aaa"); //正确,容器变量本身没有变化,但存放内容发生了变化。这个规则是非常常用的,有很多用途。
alStaticFinalVar.add("bbb"); //正确,容器变量本身没有变化,但存放内容发生了变化。这个规则是非常常用的,有很多用途。
System.out.println("-------------值处理后----------");
System.out.println("strStaticFinalVar=" + strStaticFinalVar + "");
System.out.println("strStaticVar=" + strStaticVar + "");
System.out.println("strFinalVar=" + strFinalVar + "");
System.out.println("intStaticFinalVar=" + intStaticFinalVar + "");
System.out.println("integerStaticFinalVar=" + integerStaticFinalVar + "");
System.out.println("alStaticFinalVar=" + alStaticFinalVar + "");
}
public static void main(String args[]) {
new TestStaticFinal().test();
}
}
Environment.getExternalStorageDirectory().getAbsolutePath()
所以,给自己的程序建个目录可如下所写:
String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp";
createDir(appHome)
但是,如果要建多层目录的文件夹的话,可不能一蹴而就。像下面这样写代码的话,执行代码后,在Android设备的外存里是不会创建文件夹“myApp/sub”的:
String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp";
createDir(appHome)
如果要建多层目录的文件夹,只能是一步一步的建,如下所示:
String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp";
String subPath = appHome+"/sub";
createDir(appHome);
createDir(subPath);