java學習筆記之語法入門詳解_第1頁
java學習筆記之語法入門詳解_第2頁
java學習筆記之語法入門詳解_第3頁
java學習筆記之語法入門詳解_第4頁
java學習筆記之語法入門詳解_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

java基礎(chǔ)語法PATH:告訴操作系統(tǒng)所使用的工具程序在哪個目錄下ClassPath:執(zhí)行這個java平臺上已經(jīng)編譯完成的java程序demo是范例程序bin是提供java的工具程序lib實際使用的java工具類標準輸入串對象System.in提供read()方法,取得一個字節(jié)的數(shù)據(jù),不太適應(yīng)可以使用java.util.Scanner類取得使用者的輸入EG:importjava.util.Scanner;publicclassScannerDemo{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("請輸入你的名字:");System.out.printf("hello你好%s加油啊",sc.next()); }}new關(guān)鍵詞表示要新增一個Scanner對象,需要一個System.in對象然后交給Scanner做一些處理,next功能是取得用戶輸入的字符串要想取得數(shù)字可以用nextInt()功能,就是:System.out.printf("您輸入了%d\n",sc.nextInt());如果要想取得包括空格符的輸入,使用java.io.BufferedReader類取得輸入importjava.io.*;都位于java.io包下面所以可以用星號代替EG:importjava.io.*;publicclassbfrdmo{ publicstaticvoidmain(String[]args)throwsIOException //使用BufferedReader對象的readLine()方法必須處理java.io.IOException(Execption) { BufferedReaderbfrd=newBufferedReader( newInputStreamReader(System.in));標準語句 //這句語句表示定義一個類型為BufferedReader的參考對象,而newBufferedReader()表示以BufferedReader類構(gòu)建一個對象,newInputStreamReader(System.in)表示接受一個System.in對象來構(gòu)建一個InputStreamReader對象 System.out.print("請輸入一列文字,可以包括空白:"); Stringtext=bfrd.readLine(); System.out.println("您輸入的文字:"+text); }}可以將輸出重新定位至一個一個文件:javahello>hellojava.txt就可以在hellojava.txt里面查看輸出結(jié)果。除了標準輸入流out之外,java程序在執(zhí)行之后還會開啟標準輸入串in與標準錯誤輸出串err,err會立即顯示指定的錯誤信息讓使用者知道,即使定位至文件err輸出串的信息也不會被重新定位,而是顯示在指定的設(shè)備上publicclassErroDemo{ publicstaticvoidmain(String[]args) { System.out.println("使用out輸出信息"); System.err.println("使用err輸出信息"); }}結(jié)果:輸出格式控制常用的輸出控制符:\\反斜線\"雙引號\uxxxx16進制指定Unicode輸出\dxxx8進制\b倒退一個字符\f換頁\n換行\(zhòng)r光標移至行首\t跳格(一個TAB鍵)importjava.lang.Integer;publicclassTigerNumberDemo{ publicstaticvoidmain(String[]args) { System.out.printf("%d%n",19); System.out.printf("%o%n",19); System.out.printf("%x%n",19);}}結(jié)果:★★:%d表示數(shù)值以十進制表示,%o是八進制表示,%x是十六進制表示%n輸出平臺的換行字符%s字符串格式化輸出%c字符形式System.out.printf("example:%8.2f%n",19.2345);輸出結(jié)果:19.23%8.2f%n表示預(yù)留8個字符寬度,不足在前面補上空格,同時保留兩位小數(shù)點f(浮點型)%n換行數(shù)據(jù)的運算System.out.printf("short\t數(shù)值范圍:%d~%d\n", Short.MAX_VALUE,Short.MIN_VALUE);System.out.printf("int\t數(shù)值范圍:%d~%d\n", Integer.MAX_VALUE,Integer.MIN_VALUE);System.out.printf("Byte\t數(shù)值范圍:%d~%d\n", Byte.MAX_VALUE,Byte.MIN_VAL結(jié)果:變量和常量標識符:變量必須要有一個標識符,標識符賦予變量.類和方法的名稱不能包含空格不能是關(guān)鍵字嚴格區(qū)分大小沒有最大長度,可以由下劃線java常量java變量:[修飾符]類型變量名[=初值],變量名[=初值],。。。eg:intx=0,y=1,z=1;變量其實是內(nèi)存中一小塊區(qū)域,使用變量名來訪問這塊區(qū)域,因此每一個變量使用前必須先申明,后進行賦值。用下劃線作為變量的開始,表示他是私有的,只有程序的某個范圍使用,外界并不知道。eg:double_window_center_x;如果變量前面有final關(guān)鍵詞來限定,一旦指定了值之后,就不能改變它的值。intageOfStudent=5年級;doublescoreOfStudent=80.0;charlevelOfStudent='B';System.out.println("年級得分等級");System.out.printf("%d%.1f%c", ageOfStudent,scoreOfStudent,levelOfStudent);結(jié)果: 程序的執(zhí)行過程heap:堆new出來的東西stack:棧存放局部變量load:裝載引導(dǎo)datasegment:靜態(tài)變量,字符串常量codesegment:代碼區(qū),存放代碼1。程序load到內(nèi)存區(qū)2.找到main方法開始執(zhí)行3.執(zhí)行過程中的內(nèi)存管理,先從codesegment開始。java變量的分類按照聲明的位置劃分:局部變量:main方法或語句塊內(nèi)部定義的變量成員變量:方法外部,類的內(nèi)部定義的變量類外面不能有變量的聲明按照數(shù)據(jù)類型劃分基本數(shù)據(jù)類型變量邏輯類型:邏輯值有兩種狀態(tài),即boolean類型,true和falsebooleantruth=true(聲明一個boolean類型的變量truth,并初始化其值為true)字符類型:使用char類型表示單個字符char類型的字面量必須包含在兩個單引號內(nèi)如:‘a(chǎn)’eg:charch=‘a(chǎn)’;charch1,ch2;下面的是錯誤的eg:charch='ab';因為單引號只能包含一個字符charch=“a”;雙引號表示界定的是一個字符串常量整數(shù)類型:byteshortintlong他們的區(qū)別在于表示的數(shù)值范圍不同eg:bytesmallone=7;shortcount=1000;intscore=100;longbigone=99999999L,largeone;由于小寫l容易與數(shù)字1混淆,所以一般長整形里面都是用L做后綴浮點類型:float和doubleeg:doublex=3.14;floatx=2.718F;基礎(chǔ)數(shù)據(jù)類型轉(zhuǎn)換boolean類型不可以轉(zhuǎn)換為其他數(shù)據(jù)類型整形,字符型,浮點型的數(shù)據(jù)在混合運算中相互轉(zhuǎn)換,遵循以下原則:容量小的類型自動轉(zhuǎn)換為容量大的數(shù)據(jù)類型:大小排序:btye,short,char<int<long<float<doublebtye,short,char之間不會相互轉(zhuǎn)化,他們?nèi)咴谟嬎銜r首先轉(zhuǎn)換為int類型容量大的類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型,要加上強制轉(zhuǎn)化符,但可能造成精度降低或者溢出0.1是double類型,比較和條件運算(>和<)true和false一個=是賦值,兩個==是運算符★★條件式?成立返回值:不成立返回值eg:60>0?是:否結(jié)果:是importjava.util.Scanner;publicclasscdti{ publicstaticvoidmain(String[]args) { Scannersc=newScanner(System.in); System.out.print("請輸入學生的分數(shù):"); intscoreOfStudent=sc.nextInt(); System.out.println("該生是否及格?"+(scoreOfStudent>=60?'是':'否')); }}結(jié)果:邏輯和位運算邏輯運算符:與(&&)或(||)取反(!)位運算符:&(AND)|(OR)^(XOR)~(補碼)在位運算中還有左移(<<)和右移(>>)兩個運算符intnumber=1;System.out.println("2的0次方:"+number);number=number<<1;System.out.println("2的1次方:"+number);number=number<<1;System.out.println("2的2次方:"+number);number=number<<1;System.out.println("2的3次方:"+number);number=number>>1;System.out.println("2的2次方:"+number);結(jié)果:遞增和遞減i++先取值運算再自加1先取出i值運算完之后在自加1++i先自加1再運算--i先自減1然后再運算,i--先取值運算然后再減1inti1=10,i2=20;inti=(i2++);System.out.print("i="+i);System.out.println("i2="+i2);結(jié)果:inti=0;System.out.println(++i);System.out.println(--i);結(jié)果:++i相當于i=i+1;--i相當于i=i-1賦值運算符a+=ba=a+b;a/=ba=a/b;a|=ba=a|b;a<<=ba=a<<b;a^=ba=a^b;3.4流程控制:為了告訴計算機在特定的條件下執(zhí)行的動作。if條件式if(條件式)語句一;else語句二;意思就是當條件式為true時執(zhí)行語句一,否則執(zhí)行語句二復(fù)合語句(使用{}定義程序塊將復(fù)合語句包括起來)if(條件式){語句一;語句二;}else{語句一;語句二;}EG:Scannersc=newScanner(System.in);System.out.print("請輸入數(shù)字:");intinput=sc.nextInt();intremain=input%2;if(remain==1)System.out.println(input+"是奇數(shù)");elseSystem.out.println(input+"是偶數(shù)");結(jié)果:if(條件式一){語句一;if(條件式二)語句二; 語句三;}if(條件式一)語句一;elseif(條件式二)語句二;elseif(條件式三)語句三;else語句四;語句四會在一二三都不成立的情況下執(zhí)行。Scannersc=newScanner(System.in);System.out.print("請輸入成績:");intscore=sc.nextInt();if(score>=90)System.out.printf("%d是等級A",score);elseif(score>=80&&score<90)System.out.printf("%d是等級B",score);elseif(score>=70&&score<80)System.out.printf("%d是等級C",score);elseif(score>=60&&score<70)System.out.printf("%d是等級D",score);ElseSystem.out.printf("%d是等級E",score);結(jié)果:if是與最近的一個else配對switch條件式switch只能比較數(shù)值或者字符switch(變量名稱或表達式){case符合數(shù)字或字符:語句一;break;case符合數(shù)字或字符:語句二;break;default:語句三;}default不一定需要,可以省略。case后面是冒號“:”而不是“;”要注意如果比較的是字符,則記得加上單引號(‘’)for循環(huán)for(初始式;判斷式;遞增式){語句一;語句二;}如果語句只有一個那么{}可以省略初始式只會執(zhí)行一次,之后重新進行循環(huán)式,都會根據(jù)判斷式來判斷判斷是否執(zhí)行下一個循環(huán),遞增式每次都會執(zhí)行java中可以直接在for中定義變量與指定初始值。publicstaticvoidmain(String[]args){for(intj=1;j<10;j++){for(inti=2;i<10;i++){System.out.printf("%d*%d=%d\t",i,j,i*j);}System.out.println();//這是換行}結(jié)果:while循環(huán):根據(jù)指定的條件式來判斷是否執(zhí)行循環(huán)體。while(條件式){語句一;語句二;}如果只有一句語句{}可以省略不寫,主要是用于重復(fù)性的動作,Scannersc=newScanner(System.in);intscore=0,sum=0,count=-1;while(score!=1){count++;sum+=score;System.out.print("請輸入成績(以1結(jié)束):");score=sc.nextInt();}System.out.println("平均:"+(double)sum/count)結(jié)果:while可以用作無窮循環(huán)。while(true){循環(huán)內(nèi)容;……}無窮循環(huán)由自己循環(huán)中的某個條件式來結(jié)束,while(true){語句;if(條件式)break;//跳離循環(huán)……}while循環(huán)有時稱之為當型循環(huán),因為循環(huán)時先會進行條

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論