首先,你要知道,變量i是局部變量,j是靜態(tài)的全局變量。
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷推廣、網(wǎng)站重做改版、秦都網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為秦都等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
其次,你要明白,在Java中,基本類型的參數(shù),如int、float、char等,都是按值傳遞的,而對(duì)象,如String等是按引用傳遞,跟C++里面的按地址傳遞類似。
最后解釋:在amethod()方法中,你傳遞了參數(shù)i,并在方法內(nèi)部分別為i和j的值乘以2,然而,在方法體內(nèi)部,i的確是編程了20,j也變成了40.
但是,出了該方法體,當(dāng)回到main方法時(shí),i的值是沒有改變的,因?yàn)閯倓偸前粗祩鬟f的,在main中i的值依舊是10,而j因?yàn)槭庆o態(tài)變量,自然對(duì)它的作用是有效的。
所以,最后的結(jié)果就如你所見了。
最后,推薦一個(gè)Java基礎(chǔ)群:84994654
首先這段代碼沒有發(fā)全
片段代碼總體意思是模擬了兩個(gè)數(shù)相加,輸出結(jié)果
private void calculation(String a, String b){ //定義一個(gè)私有方法calculation有兩個(gè)參數(shù) a和b 兩個(gè)參數(shù)的類型為String字符串類型
double v1 = Double.parseDouble(a); //定義一個(gè)double類型變量v1,將a變量轉(zhuǎn)換成double類型(double雙精度數(shù)字類型)賦值給v1
double v2 = Double.parseDouble(b); //定義一個(gè)double類型變量v2,將b變量轉(zhuǎn)換成double類型(double雙精度數(shù)字類型)賦值給v2
double v=0; //定義一個(gè)double類型變量v,初始值為0(這里java在編譯后應(yīng)該是double v=0.00D)
switch(op){ //JAVA中的switch函數(shù)(方法)參數(shù)是op【這里應(yīng)該是有輸入才對(duì),該變量在代碼中是有誤】
case '+': //當(dāng)傳入的參數(shù)op為‘+’執(zhí)行以下代碼即兩數(shù)相加,并將參數(shù)a,b置空
v = v1 + v2;
exit = '0';
a = b = null;
op = 'n';
break;
}
}
import java.io.*;
//類的功能:接收用戶輸入的數(shù)值x,如果x50,就打印輸出
public class NumberTest{
public static void main(String[] args) throws IOException{
//定義最大的數(shù)(和用戶輸入的數(shù)相比較)
final int MAX_NUM=50;
//字符輸入流:用于接收鍵盤輸入
InputStreamReader ir=new InputStreamReader(System.in);
//緩沖流:通過緩沖輸入提高性能
BufferedReader in=new BufferedReader(ir);
//輸出一行提示信息:Input x is:
System.out.println("Input x is: ");
//把輸入的一行信息保存在變量s中
String s=in.readLine();
//再將s轉(zhuǎn)換為整型
int x =Integer.parseInt(s);
//和預(yù)先設(shè)定的最大值進(jìn)行比較,如果比它小,就輸出接收到的變量值
if(xMAX_NUM){
System.out.println("x = " +x);
}
}
}
static int number;//定義數(shù)組空間
static int[] t1=new int[number];
final關(guān)鍵字,數(shù)組下標(biāo)是不能更改的,static final int number;
類似于cc++const
java中可以使用file對(duì)象,獲取當(dāng)前電腦硬盤基本信息,示例如下:
import?java.io.File;
public?class?DiskSpaceDetail?{
public?static?void?main(String[]?args)?{
File?diskPartition?=?new?File("C:");
long?totalCapacity?=?diskPartition.getTotalSpace();?
long?freePartitionSpace?=?diskPartition.getFreeSpace();?
long?usablePatitionSpace?=?diskPartition.getUsableSpace();?
System.out.println("****?Sizes?in?Mega?Bytes?****\n");
System.out.println("Total?C?partition?size?:?"?+?totalCapacity?/?(1024*1024)?+?"?MB");
System.out.println("Usable?Space?:?"?+?usablePatitionSpace?/?(1024?*1024)?+?"?MB");
System.out.println("Free?Space?:?"?+?freePartitionSpace?/?(1024?*1024)?+?"?MB");
System.out.println("\n****?Sizes?in?Giga?Bytes?****\n");
System.out.println("Total?C?partition?size?:?"?+?totalCapacity?/?(1024*1024*1024)?+?"?GB");
System.out.println("Usable?Space?:?"?+?usablePatitionSpace?/?(1024?*1024*1024)?+?"?GB");
System.out.println("Free?Space?:?"?+?freePartitionSpace?/?(1024?*1024*1024)?+?"?GB");
}
}
使用java自帶的性能分析工具jvisualvm , 可以方便的查看內(nèi)存, 對(duì)象, 線程等多種信息.
win+R????然后輸入???jvisualvm??回車即可
效果如下圖