java全局變量和局部變量 什么叫靜態(tài)變量?與動(dòng)態(tài)變量的差別在哪?
什么叫靜態(tài)變量?與動(dòng)態(tài)變量的差別在哪?動(dòng)態(tài)變量和靜態(tài)變量之間的定義和區(qū)別如下:1。在定義中,靜態(tài)變量比動(dòng)態(tài)變量多了一個(gè)關(guān)鍵字static,例如:dynamic variables:inti,stati
什么叫靜態(tài)變量?與動(dòng)態(tài)變量的差別在哪?
動(dòng)態(tài)變量和靜態(tài)變量之間的定義和區(qū)別如下:
1。在定義中,靜態(tài)變量比動(dòng)態(tài)變量多了一個(gè)關(guān)鍵字static,例如:dynamic variables:inti,static variables:staticnti
2。在子例程中,動(dòng)態(tài)變量每次被調(diào)用時(shí)都從零開始,原始數(shù)據(jù)不會被保留。當(dāng)調(diào)用靜態(tài)變量時(shí),原始值不會改變,例如:Main(){inti}For(I=0I<5i)fun()//fun1()}void fun()//輸出結(jié)果是11111{intjj printf(%d,J)}void fun 1()//輸出結(jié)果是12345{staticintjj printf(%d,J)}
靜態(tài)變量指流程結(jié)束后仍保留。動(dòng)態(tài)意味著在一個(gè)進(jìn)程完成后,下一次執(zhí)行該進(jìn)程時(shí),變量返回初始值。舉一個(gè)簡單的例子:private static function fa(nasiinteger)Dima=a n fa=a endfunction private subcommand1_uClick()dimisinteger forI=1到5 print“sum”I&“=”amp fa(I)nexti endsub如果局部變量沒有定義為static,那么a的初始值總是0,并且運(yùn)行結(jié)果是相同的。定義為靜態(tài)變量,每次運(yùn)行都是在上次運(yùn)行值的基礎(chǔ)上添加的,每次運(yùn)行的初始值是上次運(yùn)行的結(jié)果。