Java 应用程序有且仅有的一种参数传递机制,即按值传递。
按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,调用代码中的原始值也随之改变。
在 C++ 中当传递给函数的参数是引用时,您传递的就是这个引用,或者内存地址(按引用传递)。在 Java 应用程序中,当对象引用是传递给方法的一个参数时,您传递的是该引用的一个副本(按值传递),而不是引用本身。
/**
*不可变的、任意精度的有符号十进制数。
*除法时如果除不尽会报异常
*/
BigDecimal d = new BigDecimal(3);
//BigDecimal.ONE.divide(d) ;
BigDecimal.ONE.divide(d,2,BigDecimal.model) ;
//保留小数
BigDecimal bd = new BigDecimal(3.1415926);
System.out.println(bd);
System.out.println(bd.setScale(5,BigDecimal.ROUND_HALF_EVEN));
System.out.println(bd.setScale(3,BigDecimal.ROUND_HALF_UP));
System.out.println(bd.setScale(3,BigDecimal.ROUND_HALF_UP));
System.out.println(bd.setScale(2,BigDecimal.ROUND_HALF_UP));
System.out.println(bd.setScale(1,BigDecimal.ROUND_HALF_UP));
System.out.println(bd.setScale(0,BigDecimal.ROUND_HALF_UP));
B/S——C/S样式
document.onkeydown = hotkey;
function hotkey() {
var a = window.event.keyCode;
alert(a) ;
if ((a == 81) && (event.altKey)) {// alt+q
alt_q() ;
}
if ((a == 77) && (event.ctrlKey))// alt+m
{
ctrl_m() ;
}
}