㈠ java類常量和一般常量之間到底有什麼區別尼
變數分類
1. 類變數
l 在類定義中使用關鍵字static修飾的欄位
l 在介面聲明中使用或者不使用static修飾的欄位
說明:當准備好類或介面時就會創建一個類變數並將其初啟散鎮始化為一個默認值。當卸載類或介面時,就會有效的使類變數停止存在
2. 實例變數
在類聲明中不使用關鍵字static聲明的欄位
3. 數組元素(未命名的變數)
無論何時創建一個作為數組的新對象,都會創建這些變數並將其初始化為默認值。當數組不在被引用時,就會有效地使數組元素停止存在。
4. 方法參數變數
對於方法聲明中聲明的每個參數,當調用該方法時,都會創建一個新的掘啟參數變數。新變數會用來方法調用的相應的參數值進行初始化。當方法體執行完成時,就會有效地是方法參數停止存在。
5. 構造函數參數變數
對於構造函數中聲明的每個參數,每當類實例創建表達式或顯示構造函數調用調用該構造函數時,就會創建一個新的參數變數。新變數會用來自創建表達式或構造函數調用的相應的參數值進行初始化。當構造函數體執行完成時,就會有效地使構造函數參數停止存在。、
6. 異常處理程序參數變數
每當悄粗catch語句或者try語句捕獲一個異常時,就會創建一個異常處理程序參數。新變數會用與異常關聯的實際對象進行初始化。當與catch子句關聯的代碼塊執行完成時,就會有效地使異常處理程序參數停止存在。
7. 局部變數
通過局部變數聲明語句聲明的變數。局部變數使用前一定要賦值。局部變數不會自動初始化為默認值
8. Final變數
Final修飾的變數,只能被賦值一次,除非在賦值之前明確地取消對fianl變數進行賦值,否則,對final變數賦值,將會引發編譯時錯誤。
變數的初始值
在使用變數值之前,程序中每個變數都必須有一個值:
1. 每個類變數、實例變數或數組元素都會在創建時使用默認值對其進行初始化,以下是java中數據類型與其默認值的對應關系
byte、short、int :0
long :0L
float :0.0f
double :0.0d
char :空字元(即:/u0000)
boolean :false
應用類型 :null
2. 每個方法的參數都會被初始化為方法調用者提供的對應參數值
3. 每個構造函數參數都會被初始化為類實例創建表達式或顯示構造函數調用提供的對應參數值
4. 異常處理程序參數將被初始化為拋出一個表示異常的ix
5. 在使用局部變數之前,必須通過初始化或賦值顯示地為其賦值,編譯器可以使用明確賦值的規則對這種賦值方式ing驗證
文章出自CSDN,http://blog.csdn.net/shibenjie/article/details/4331693
㈡ 請教JAVA中數組的正確定義方法
一般來說這是不同語言之間競爭的結果,第二種方法在c語言等面向過程的語言中被廣泛的使用,鑒於許多程序員在學習java或者c#時候,都具有部分c的基礎,所以這種數組聲明的方式被保留了下來。
不過對於java和C#這類面向對象的語言,都推薦使用第一種命名方式,原因很簡單,第一,java和c# 把數組當成是對象處理,將數組統一的繼承自Array這個類。第二,將方括弧表示是數組類型,而寫在後方容易與變數的名稱相互混淆,鑒於一般程序設計語言的變數的定義結構為:
變數類型 變數名稱 賦值運算符 變數名稱或者常量參數;
因此採用第一種更有助於理解數組是一種引用的數據類型,而與基本數據類型相互區分。
其實在使用中,可以根據個人喜好來寫,sun公司推薦第一種原因在於此。
㈢ java中怎麼數組初始化
一維數組
1)
int[] a; //聲明,沒有初始化
2)
int[] a=new int[5]; //初始化為默認值,int型為0
3)
int[] a={1,2,3,4,5};
//初始化為給定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)
int[] a;
a=new int[5]; //正確,同(2)一樣
int[] a;
a={1,2,3,4,5}; //錯誤數組常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//錯誤,因為數組沒有初始化,不能賦值a[1]=2; 二維數組
1)
int[][] a;
//聲明,沒有初始化
2) int[][] a=new int[2][3];
//初始化為默認值,int型為0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};
//沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其實就是一個數組a[1]=new int[4];
//每一維的大小可以不一樣
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
㈣ java中的數組語法是什麼
數組定義:類型[] xxx; 類型 a[];
如:int[] ary = new int[5]; int ary2[] = new int[7];
數組定義的時候必須指定後面的長度.
數組元素引用:數組[index]; ary[0] ~ ary[ary.lenth-1]
數組下標從0開始,叢長度-1結束
㈤ java里定義常量為什麼都是一些簡單的字元串
一、關鍵字
關鍵字:被Java語言賦予特定含義的單詞。組成關鍵字的字母全部小寫。註:goto和const作為保留字存在,目前並不使用。main並不是關鍵字。
註:引用類型中還有一種特殊的null類型。所謂引用數據類型就是對一個對象的引用,對象包括實例和數組兩種。實際上,引用類型變數就是一個指針,只是Java中沒有指針這個說法。
㈥ java中數組的長度可以用普通變數而不必須是常量是么
是的。
在Java中,可以使用變數定義數組。
int size=100;
int[] num = new int[size];
這是可以的;
但是在C/C++,這樣是不可行的,除非加const
㈦ 在java中如何定義一個字元串數組
1. java中定義一個字元串數組方式如下,string類型和其他基本類型相似,創建數組有兩種方式:
String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
2.推薦用ArrayList<String> strArray = new ArrayList<String> (); 比較靈活。
3.也可以寫為如下格式:class[] array; array = new class[number];其中前半句為聲明,後半句為初始化,初始化必須要讓編譯器知道大小,聲明的時候java是不分配內存的,只有創建的時候也就是new的時候才會分配內存。
1.數組是相同數據類型的元素的集合。
2.數組中的各元素的存儲是有先後順序的,它們在內存中按照這個先後順序連續存放在一起。
3.數組元素用整個數組的名字和它自己在數組中的順序位置來表示。例如,a[0]表示名字為a的數組中的第一個元素,a[1]代表數組a的第二個元素,以此類推。
4.對於VB的數組,表示數組元素時應注意:下標要緊跟在數組名後,而且用圓括弧括起來(不能用其他括弧)。下標可以是常量,變數,或表達式,但其值必須是整數。下標必須為一段連續的整數,其最小值成為下界,其最大值成為上界。不加說明時下界值默認為1。
㈧ 請問如何定義數組的長度為任意
數組類型說明 在C語言中使用數組必須先進行類型說明。
數組說明的一般形式為:
類型說明符 數組名 [常量表達式],……
其中,類型說明符是任一種基本數據類型或構造數據類型。 數組名是用戶定義的數組標識符。 方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。
例如:
int a[10]; 說明整型數組a,有10個元素。
float b[10],c[20]; 說明實型數組b,有10個元素,實型數組c,有20個元素。
char ch[20]; 說明字元數組ch,有20個元素。
對於數組類型說明應注意以下幾點:
1.數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2.數組名的書鬧搏寫規則應符合標識符的書寫規定。
3.數組名不能與其它變數名相同,例如:
void main()
{
int a;
float a[10];
……
}
是錯誤的。
4.方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0],a[1],a[2],a[3],a[4]。
5.不能在方括弧中用變數來表示元素的個數, 但是可以是符號常數或常量表達式。例如:
#define FD 5
void main()
{
int a[3+2],b[7+FD];
……
}
是合法的。但是下述說明方式是錯誤的。
void main()
{
int n=5;
int a[n];
……
}
6.允許在同一個類型說明中,說明多個數組和多個變數。
例如: int a,b,c,d,k1[10],k2[20];
----------------------------------------------------------------------------------------------------
在JAVA中定義數組:
int[] x; 定義
x=new int[10]; 初始化
java程序中定義數組的操作與其他語言相比有一定的差異,一般說來創建一個java數組需要下面三個步驟。
1、聲明數組
聲明數組侍褲主要是聲明數組的名稱和數組所包含的元素的數據類型或元素的類名。聲明數組的語法格式有兩種。
數組元素類型 數組[ ];
數組元素類型[ ] 數組名;
方括弧--是數組的的標志,它可以出現在數組的後面,也可以出現在數組元素類型的後面,兩種定義方法沒有什麼差別。下面老彎簡的例子分別聲明了一個整數的數組和一個D200_Card類型的數組:
int MyIntArry[ ];
D200_Card[ ]ArryOf200Card;
2、創建數組空間
聲明數組僅僅指定了數組的名字和數組元素的類型,要想真正使用數組還需要位它開辟內存空間,即創建數組空間。與多數語言一樣,java不支持變長的數組,所以在創建數組空間時必須指明數組的長度,已確定所開辟的內存空間的大小。創建數組空間的語法格式為:
數組名=new 數組元素類型[數組元素的個數]
上面聲明的兩個數組可以這樣創建空間:
MyIntArray=new int[10];
ArrayOf200Caed=new D200_card[15];
創建數組空間的工作也可以與聲明數組合在一起,用一條語句完成。例如:
int MyIntArray[]=new int[10];
D200_Card[]ArrayOf200Card=new D200_Card[15];
對於數組元素類型是基本數據類型的數組,在創建數組空間的同時,還可以同時給出各數組元素的初值,這樣可以省略創建空間的new算符。例如:
int MyIntArray[]={1,2,3,4,5,6,7,8,9,10};
這個語句創建了一個包含10個整型元素的數組,同時給出了每個元素的初值。
3、創建數組元素並初始化
如果數組元素的類型是基本數據類型,那麼這第三步驟可以自行省略。因為基本數組類型量都有預設的初值,可以沒有專門的創建和初始化數組元素的語句。例如上面的數組MyIntArray[],如果不專門制定初值,那麼創建之後,它的每個數組元素都被自動賦值為0,不必再加後續步驟。
對於以某一類對象為數組元素的數組,創建並初始化每個數組元素的步驟卻是必不可少的。例如上面的數組ArrayOf200Card,它的每個元素都是一個D200_Card類的對象,在創建對象的同時必須要執行對象的構造函數。例如,D200_Card類的對象的構造函數為:
public D200_Card(long cn,int pw,double b,String c,double a){
cardNumber=cn;
password=pw;
balance=b;
connectNumber=c;
additorFee=a;
}
可見每創建一個D200_Card類的對象,都必須執行這個類的構造函數並給出相應的實際參數來初始化新對象的內部各個屬性變數或對象,所以對於數組ArrayOf200Card中的每個元素,必須用一條專門語句來實現創建該元素和執行構造函數初始化該元素的工作,一般用如下的循環完成。
for (int i=0;i<ArrayOf200Card.length;i=i++){
ArrayOf200Card[i]=
new D200_Card(200180000+i,1111,50.0,"200",0.1);
}
這個循環執行的結果將為從ArrayOf200Card[0]到ArrayOf200Card[14]的所有數組元素開辟並分配內存空間。語句中使用的ArrayOf200Card.length是數組ArrayOf200Card的一個整型域,裡面保存著數組元素的個數,用來作為循環終止條件非常合適。
㈨ 寫出數組定義的幾種方式,數組是說明類型的嗎(數據類型 值類型 JAVA中有ref關鍵字嗎)
java有ref的
int[] a={5,4,3,2,1}
int[5] a=;
int[] a=new int[5];
㈩ Java中的函數'常量'數組都是啥意思啊'本人學歷低'求詳細講解'不要講的太專業'聽不懂
常量:意義上與變數唯一的區別就是初始化之後不能再更改,一些定值通常設置為常量,程序中多處用到這個常量的時候,就不必每次都輸入實際值了,而且當你希望修改這個定值的時候(這里指初始化的時候),不必到程序中各個地方去修改,只需要修改這悔迅鄭個常量的初始值就可以達到目的。
數組:一般昌粗來碧頌說是同一類數據類型的數據集合,由數組+索引的方法訪問數組中各值,也有些數組可以存儲不同類型的數據,比如javaScript里的數組。