「java初期参数」java参数表
本篇文章给大家谈谈java初期参数,以及java参数表对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 参数传递问题
Java的参数传递总结:
JAVA的参数传递总是传"值",但是传值方式也分为两种方式,它们是靠传递参数的类型区分的。这两种类型分别为JAVA的基础类型和Object(对象)类型;基础类型包括boolean,byte,short,char,int,long,float,double,而Object就是对象,如数组.在参数为基础类型时,见代码:
public class A{
public static void main(String arg[]){
int a=3;
method1(a);
System.out.println(a);
}
public static void method1(int a){
a=4;
}
}
此时结果的输出将是1,而且只要你的值在Main函数中没变,a的值不管怎么传都不回变,这是因为a是传值,而这个"值"是a的一个拷贝,a的值在传递后的改变只是改变了a的拷贝的内容,并没有改变真正的a的值;对于参数为对象
public class A{ public class A{
public static void main(String arg[]){ public static void main(String arg[]){
int[] a=new int[1]; int[] a=new int[1];
a[0]=3; a[0]=3;
method1(a); method1(a);
System.out.println(a[0]); System.out.println(a[0]);
} }
public static void method1(int[] a){ public static void method1(int[] a){
a[0]--; a=new int[0];
} a[0]=4;
} }
}
左边的结果将是2,右边的结果将是3(未变),原因是:在传递的参数为对象时,这个传递的"值"中放的内容实际上是对向所在的地址,左边的情况是指针定位到对象的地址后,在上面把内容给改了,所以数组的值后会改变,而右边的情况为给对象新分配了一个指针到新的地址上面去,所以所有的操作都在新的地址上面,并不会影响原来的值。注:对于String,Interger,Boolean,Double等的系统对象,它们虽然是Object,但是任何方式的传递参数的值得改变并不会影响原来的值。
java的类型参数是什么意思
应该是泛型中提到的一个概念,T 表示传入任意参数,在给一个泛型类初始化的时候我们要给它传入具体的值,一般是一个类型,如String,Integer或者是一个java bean类型的数据,这时候,String是作为一个参数传过去的,但它表示的是一个字符串类型,也就是传入了String类型的参数。此时String就是一个参数,一个类型参数。如Liststring testList = new Liststring(); 一个泛型数组,我们要规定该list中只能传入字符串怎么办,这时就给他传入一个String类型参数,只要传入其他类型就会在编译期报错,这也是泛型的一个优点。
java方法中的参数列表包括哪些
首先java的参数传递总是传"值",但是传值方式也分为两种方式,它们是靠传递参数的类型区分的。这两种类型分别为java的基础类型和object(对象)类型;基础类型包括boolean,byte,short,char,int,long,float,double,而object就是对象,如数组,和你自己定义的类型比如上面的person,传递的参数为对象时,这个传递的"值"中放的内容实际上是”对像所在的地址“,方法中根据你传进来的地址找到对象把对象改了~注:对于string,interger,boolean,double等的系统对象,它们虽然是object,但是任何方式的传递参数的值得改变并不会影响原来的值
java中使用 参数的 4个基本要素是什么?
返回值类型、参数类型、参数个数、参数顺序
即返回时类型必须与参数类型一致,
为参数赋值时类型要与定义时一致,
为参数赋值时值个数必须与定义时个数一样多,
而且赋值时参数的顺序一定要匹配
呵呵,如果是的话,要给我加点分哦!
java 参数
自己编写了一个方法,通过了编译,未测试。
代码如下,以连接Oracle为例,相关Url,user,password可用使用其它方法替代。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AllTests {
/**
* input: List 保存输入的SQL链表,(只支持查询类SQL语句)
* output:ListListMapString, Object 每个sql执行的结果封装到List中,如果需要封装到Map可以自行增加相关put动作。
**/
public List executeSqlList(ListString sqlList) throws Exception {
ListListMapString, Object result = new ArrayListListMapString, Object();//输出的结果
//输入检查,是否链表为空
if(null==sqlList||sqlList.size()==0)
throw new Exception("输入的sql List 为空");
//数据库连接所需参数
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String url = "jdbc:oracle:thin:@IP:POST:orcl";
// orcl为数据库的SID
String user = "user";
String password = "password";
try {
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
for(int num=0;numsqlList.size();num++)
{
String tempSql = (String)sqlList.get(num);//获取链表中的sql语句
tempSql = tempSql.trim().toUpperCase();
//检查sql是否是查询类型的语句,通过判断前六位是否是"SELECT"来判断是否是查询类sql
if(!"SELECT".equals(tempSql.substring(0,6)))
{
throw new Exception("输入的sql不满足要求,目前只支持查询类别SQL");
}
else
{
ListMapString, Object tempResultList = new ArrayListMapString, Object();
st.execute(tempSql);
ResultSet rs = st.getResultSet();
int i = 1;
if (null != rs) {
ResultSetMetaData rsmt = rs.getMetaData();
MapString, Object titleRecord = new HashMapString, Object();
while (rs.next()) {
MapString, Object recordMap = new HashMapString, Object();
if (null != rsmt rsmt.getColumnCount() 0) {
for (int j = 1; j rsmt.getColumnCount() + 1; j++) {
Object tempColumnValue = (Object) rs.getObject(j);//列数据,需要考虑类别
String columnName = rsmt.getColumnName(j);//列名称
// String columnClassName = rsmt.getColumnClassName(j);//列的类别
if(i==1)
titleRecord.put(columnName, columnName);
recordMap.put(columnName, tempColumnValue);
}
}
if(i==1)//增加表头
tempResultList.add(titleRecord);
tempResultList.add(recordMap);
i++;
}
}
result.add(tempResultList);
}
}
conn.commit();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}
关于java初期参数和java参数表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。