我有一個java的程序,里面有幾個句子不明白,哪位高手幫我看看? 愛
第一個在main方法之前定義的變量,是全局變量,作用域是整個程序的生命周期,而在main內部定義的變量,出了main函數后就不好使了。
第二個,PassTest應該也是你定義的一個類,然后你在這個程序中要使用這個類,所以要創建一個該類的對象然后才能使用啊,PassTest pt=new PassTest();就是在創建這個對象。 第三個,pt就是你剛剛創建的PassTest類的對象,而changeInt()應該是PassTest中的一個方法,*Int()就是PassTest類的對象在調用類中的方法。
java中的輸入語句是怎樣的呢
找了很多的資料終于被我找到了點頭緒了。
。 哈哈 。
。好高興。
看看這個的輸入 。 public static void main(String[] args) throws IOException{ InputStreamReader reader = new InputStreamReader(System。
in); BufferedReader input = new BufferedReader(reader); System。out。
print("Enter the number: "); String text = input。readLine(); } 這段代碼實在太長了。
我想簡化點。 能不能不要那個throws IOException 把那個去掉。
。結果是程序無法編譯的結果。
后來又想。
在網上尋找別的更簡便的輸入方法。
。 編輯特別推薦: 指點一下:到底該不該去考JAVA認證? Java認證權威問答精華集 終于看到了 Java5。
0以后可以使用java。util。
Scanner類: Scanner sc = new Scanner(System。in); int i = sc。
nextInt(); long l = sc。nextLong(); float f = sc。
nextFloat(); double d = sc。nextDouble(); String s = sc。
nextLine(); 這個多簡單啊。
。 來得實在。
這樣就簡單多了。
什么是java基本語句
就是最基本的語句唄。
如下都是基本語句。 1、表達式語句 一些表達式除了計算表達式的值以外,還有“副作用”,這些表達式可以直接做語句(后面加分號)。
什么叫“副作用”?一個表達式有“副作用”,是指:在對該表達式計值時,會改變Java程序的狀態,以致再次對該表達式計值時,可能會得出不同的結果。有“副作用”的表達式包括:賦值、自增、自減、方法調用、對象建立。
例如: a = 1; // Assignment x *= 2; // Assignment with operation i++; // Post-increment --c; // Pre-decrement *n("statement"); // Method invocation 2、復合語句:用一對大括號括起來的一組語句(在Delphi里,是用begin/end對包含) 凡是可以出現語句的地方,都可以出現復合語句。 3、空語句:單個分號 4、帶標號的語句:語句前面加上標識符(作為語句的標號)和冒號,break語句和continue語句可能會使用標號 例如: rowLoop: for(int r = 0; r < *; r++) { // A labeled loop colLoop: for(int c = 0; c < *; c++) { // Another one break rowLoop; // Use a label } } 5、局部變量聲明語句 [final] type name [= value] [, name [= value]] 。
; 局部變量(簡稱變量),是存儲值的位置的符號名,定義在方法中或復合語句中;所有變量在使用前必須先聲明---這就是變量聲明語句; Java是強類型語言,變量聲明規定了變量的類型,只有該類型的值可以存儲在該變量中; 注:Pascal、C#是強類型語言,C、C++不是 1)最簡單形式:只規定變量類型和變量名;比如 int counter; 2)在變量聲明中包含初始化,即:等號后面的表達式規定了變量的初始值;例如: int i = 0; String s = readLine( ); int[] data = {x+1, x+2, x+3}; // Array initializers 3)單個變量聲明語句可以聲明并且初始化多個變量,條件是這些變量必須有相同的類型;變量之間用逗號隔開。例如: int i, j, k; float x = 1.0, y = 1.0; String question = "Really Quit?", response; 4)Java1.1以后,變量聲明語句可以用final關鍵字開頭,表示:一旦變量的初始值被規定了,以后就不允許改變了 注:和C++的const相似 例如: final String greeting = getLocalLanguageGreeting( ); 5)局部變量聲明可以出現在代碼的任何地方,不一定非要在方法或代碼塊的開頭;甚至可以出現在for循環的初始化部分; 6)局部變量只可以在定義它們的方法或代碼塊中使用,這稱為該變量的作用域(scope) 6、if/else語句:if ( expr ) statement [ else statement] 1)條件表達式的值是boolean類型;在Java5.0中,這個值可以是boolean的包裝類Boolean; 2)Delphi中,else之前的語句末尾不能加分號! 3)如果if語句里是另一個if語句,后面的else與哪個if搭配? 答案是:與最近的if搭配。
7、switch語句:switch ( expr ) { [ case expr : statements ] 。 [ default: statements ] } 1)switch表達式可以是int、short、byte、char; 在Java5.0以后,也可以是這些類型對應的包裝類;enum類型也是允許的; 2)其他和C/C++相同,不再贅述 8、while語句:while ( expr ) statement 9、do語句:do statement while ( expr ); 10、for語句:for ( init ; test ; update ) statement 在for語句的init和update中,可以有用逗號分隔開的多個語句(這是Java中唯一可以用逗號分隔語句的地方!),這些語句順序執行 11、for/in語句(見語句(二)) 12、break語句:break [ label ] ; 1)簡單的break:直接退出包含break的最內層的while、do、for、switch語句; 2)break后面帶語句標號:立即退出被標記的塊,這個塊可以是任何類型的語句,不限于循環或switch。
例如: testfornull: if (data != null) { // If the array is defined, for(int row = 0; row < numrows; row++) { // loop through one dimension, for(int col = 0; col < numcols; col++) { // then loop through the other. if (data[row][col] = = null) // If the array is missing data, break testfornull; // treat the array as undefined. } } } // Java interpreter goes here after executing break testfornull 13、continue語句:continue [ label ] ; break語句是推出一個循環,而continue是退出循環的當前迭代,開始下一次迭代; continue,無論后面有沒有語句標號,都只能用于while、do、for循環中 當不使用語句標號時,continue使最內層的循環開始下一次迭代;當使用語句標號(該標號標記一個包含這個continue的循環語句),continue使得被標記的循環開始下一次迭代。例如: while、do、for在處理continue時稍有不同: * while循環,簡單地返回到循環頂部,再次測試循環條件,如果條件滿足,再次執行循環體; * do循環,跳到循環底部,在那兒測試循環條件,以決定是否進行下一次迭代; * for循環,跳到循環頂部,在那兒先執行update(比如增量)表達式,然后評估循環條件,決定是否進行下一次迭代; 14、return語句:return [ expr ] ; 參考: http://**it/2008/1225/article_*。
JAVA語句
String : 字符串類型 一、構造函數 String(byte[ ] bytes):通過byte數組構造字符串對象。
String(char[ ] value):通過char數組構造字符串對象。String(Sting original):構造一個original的副本。
即:拷貝一個original。String(StringBuffer buffer):通過StringBuffer數組構造字符串對象。
例如:byte[] b = {'a','b','c','d','e','f','g','h','i','j'}; char[] c = {'0','1','2','3','4','5','6','7','8','9'}; String sb = new String(b); //abcdefghij String sb_sub = new String(b,3,2); //de String sc = new String(c); //0123456789 String sc_sub = new String(c,3,2); //34 String sb_copy = new String(sb); //abcdefghij *n("sb:"+sb); *n("sb_sub:"+sb_sub); *n("sc:"+sc); *n("sc_sub:"+sc_sub); *n("sb_copy:"+sb_copy); 輸出結果:sb:abcdefghij sb_sub:de sc:0123456789 sc_sub:34 sb_copy:abcdefghij 二、方法:說明:①、所有方法均為public。②、書寫格式: [修飾符] <返回類型><方法名([參數列表])> 例如:static int parseInt(String s) 表示此方法(parseInt)為類方法(static),返回類型為(int),方法所需要為String類型。
1. char charAt(int index) :取字符串中的某一個字符,其中的參數index指的是字符串中序數。字符串的序數從0開始到length()-1 。
例如:String s = new String("abcdefghijklmnopqrstuvwxyz"); *n("*(5): " + *(5) ); 結果為: *(5): f2. int compareTo(String anotherString) :當前String對象與anotherString比較。相等關系返回0;不相等時,從兩個字符串第0個字符開始比較,返回第一個不相等的字符差,另一種情況,較長字符串的前面部分恰巧是較短的字符串,返回它們的長度差。
3. int compareTo(Object o) :如果o是String對象,和2的功能一樣;否則拋出ClassCastException異常。例如:String s1 = new String("abcdefghijklmn"); String s2 = new String("abcdefghij"); String s3 = new String("abcdefghijalmn"); *n("*eTo(s2): " + *eTo(s2) ); //返回長度差 *n("*eTo(s3): " + *eTo(s3) ); //返回'k'-'a'的差 結果為:*eTo(s2): 4 *eTo(s3): 104. String concat(String str) :將該String對象與str連接在一起。
5. boolean contentEquals(StringBuffer sb) :將該String對象與StringBuffer對象sb進行比較。6. static String copyValueOf(char[] data) :7. static String copyValueOf(char[] data, int offset, int count) :這兩個方法將char數組轉換成String,與其中一個構造函數類似。
8. boolean endsWith(String suffix) :該String對象是否以suffix結尾。例如:String s1 = new String("abcdefghij"); String s2 = new String("ghij"); *n("*th(s2): " + *th(s2) ); 結果為:*th(s2): true9. boolean equals(Object anObject) :當anObject不為空并且與當前String對象一樣,返回true;否則,返回false。
10. byte[] getBytes() :將該String對象轉換成byte數組。11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :該方法將字符串拷貝到字符數組中。
其中,srcBegin為拷貝的起始位置、srcEnd為拷貝的結束位置、字符串數值dst為目標字符數組、dstBegin為目標字符數組的拷貝起始位置。例如:char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!'};//s1=I love her!String s2 = new String("you!"); *rs(0,3,s1,7); //s1=I love you!*n( s1 ); 結果為:I love you!12. int hashCode() :返回當前字符的哈希表碼。
13. int indexOf(int ch) :只找第一個匹配字符位置。14. int indexOf(int ch, int fromIndex) :從fromIndex開始找第一個匹配字符位置。
15. int indexOf(String str) :只找第一個匹配字符串位置。16. int indexOf(String str, int fromIndex) :從fromIndex開始找第一個匹配字符串位置。
例如:String s = new String("write once, run anywhere!"); String ss = new String("run"); *n("*f('r'): " + *f('r') ); *n("*f('r',2): " + *f('r',2) ); *n("*f(ss): " + *f(ss) ); 結果為:*f('r'): 1 *f('r',2): 12 *f(ss): 1217. int lastIndexOf(int ch)18. int lastIndexOf(int ch, int fromIndex)19. int lastIndexOf(String str)20. int lastIndexOf(String str, int fromIndex) 以上四個方法與13、14、15、16類似,不同的是:找最后一個匹配的內容。public class CompareToDemo { public static void main (String[] args) { String s1 = new String("acbdebfg"); *n(*dexOf((int)'b',7)); } } 運行結果:5 (其中fromIndex的參數為 7,是從字符串acbdebfg的最后一個字符g開始往前數的位數。
既是從字符c開始匹配,尋找最后一個匹配b的位置。所以結果為 5)21. int length() :返回當前字符串長度。
22. String replace(char oldChar, char newChar) :將字符號串中第一個oldChar替換成newChar。23. boolean startsWith(String prefix) :。
java中的if與else語句
if (條件一){} = 如果括號中條件一的正確,則執行大括號中的語句if (條件一){語句一} else{語句二} 如果條件一正確,執行語句一,否則執行語句二if (條件一){語句一} else if(條件二){語句二} 如果條件一正確,執行語句一,如果條件二正確,則執行條件二還有一種if (條件一){語句一} else if(條件二){語句二} else{語句三}如果條件一正確,執行語句一,如果條件二正確,則執行條件二,如果條件一和條件二都不正確,則執行語句三。
Java中的for語句的用法
格式:
for (initialization;condition;increment)statement;
其中:
initialization是for循環的初始部分,它用來設置循環控制變量,并制初值;
condition是條件判斷部分,由該條件判斷的真假決定for循環合時推出;
increment是增量部分,每執行一次循環后,由增量部分決定循環控制的變化情況;
(這三部分必須用分號隔開)
statement稱為for循環的循環體,它可以是一條語句也可以是一個語句塊。
執行步驟:
首先執行初始化部分,然后執行條件判斷部分,若條件為真,則執行for循環的statement語句,
當循環的statement語句執行完后執行增量部分,然后再執行條件判斷部分,為真,則繼續執行
循環,否則執行for循環后面的語句。
例:for (i=1;i<=10;i++)*n(i);
1.當初始化、條件判斷、增量三部分為空時,就實現了一種無限循環:
for( ; ; )statement;
但實際中,這樣的無限循環往往并不是真的讓它無限執行下去,只要在statement中在合適的條件下執行
break語句就可以跳出循環體。
2.無循環體的for循環,此時不提供statement:
for(t=0;t<some_value;t++);
這種循環一般用來產生時間延遲。
*語言不支持逗號運算符,但在循環初始化和增量兩部分 允許采用逗號,這樣也就可以使用由逗號
隔開多個表達式,從而在for循環中模擬了逗號運算符的功能,但注意,條件判斷部分必須是一個值為 布爾
型的表達式:
int i;
string s;
for (i=0,s="testing";
(i<10&&(*()>=1);
i++,s=*ing(1)
{
*n(s)
}
*的for循環允許在初始化部分零食說明局部循環變量:
for(int i =0;i<my_*;i++)
*n(" a [ " + i + "]= "+my_array[i]);
用這種方法定義的零食循環變量的作用域只在for循環體內,換句話說,它們的作用域在for循環體、
初始化、條件測試和增量中有效,在定義他們的循環外使用的有相同名字的變量不會受這些臨時的
循環變量的影響。
注意 :JAVA語法只允許程序員在初始化部分要么定義多個由逗號隔開的表達式,要么定義具有相同
類型的由逗號隔開的多個變量,但不能混用。
int j=3;
fot (int =0, j=0;i<j;i++,j--)
*n("k="+i*j);
*n("j=",j);
在for循環的初始化部分說明了 i 和 j 兩個循環變量,并將他們的值設置為0,在循環外,使用了一個
與循環變量 j 相同的變量,但 for 循環對 j 的值沒有影響,屏幕上輸出的 j 值還是3.
java中的if語句
結果是B
分析:
①你應當首先明白&&和||是簡單邏輯運算,
例如: if(a||b) 如果a是真,那么就不用執行b了 。
if(a&&b) 如果a是假,那么就不用執行b了 。
int i=1; if( true || ((i=2)==2) ) *n("i="+i); 結果為i=1
int j=1; if( false && ((j=2)==2) ) 結果為j=1
② 你的程序:
*((x==true) && (y=true)) z++;//x==true 是正確的但是是&&運算所以還要繼續往下執行 判斷y=true這句說明y已經被賦值成true了,也就是說這一句 (y=true)為真,所以前 ·········面(x==true)是真 后面 (y=true)是真,因此滿足if 條件,那么執行z++; z的值變成了21
8. if((y==true) || (++z==22)) z++;//y==true是正確的,原因上一句if 語句里面已經將y賦 值成true了,又因為 || 是簡單邏輯運算,所以后面的 (++z==22)語句就不用執行就能直接判 斷滿足該if 語句,然后執行 z++; 所以z從21加一變成了22。因此最后結果是22