java基礎(chǔ)筆記
《java基礎(chǔ)筆記》由會(huì)員分享,可在線閱讀,更多相關(guān)《java基礎(chǔ)筆記(116頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Java day01=Java - sun公司 1995幾個(gè)特點(diǎn):簡(jiǎn)單,安全,跨平臺(tái),面向?qū)ο?,分布,健壯,解析,高性能,多線程,動(dòng)態(tài)性,體系結(jié)構(gòu)中立安全:允許用戶使用指針,不允許操作指針跨平臺(tái):C+ : 源碼 -(編譯)-目標(biāo)碼 -(連接)-可執(zhí)行文件 目標(biāo)碼:二進(jìn)制機(jī)器碼c+中的源碼是跨平臺(tái)的。c+中的指針其實(shí)是內(nèi)存中的編號(hào)(地址)一個(gè)字節(jié) = 連續(xù)的8位二進(jìn)制位。 1G = 1024*1024*1024JAVA:源碼 -(編譯)-字節(jié)碼JAVA是字節(jié)碼跨平臺(tái)。搭建Java開(kāi)發(fā)環(huán)境: JDK/JRE/JVM什么是JDK:JAVA開(kāi)發(fā)工具包(做JAVA開(kāi)發(fā)是必須下載JDK)什么是JRE:JAVA的運(yùn)行環(huán)境(若只運(yùn)行JAVA文件只要下JRE就可以了)什么是JVM;JAVA虛擬機(jī)JVM(java虛擬機(jī))功能:用來(lái)屏蔽不同系統(tǒng)的差異,為上層的字節(jié)碼提供統(tǒng)一的運(yùn)行環(huán)境。JDK下的bin目錄:可執(zhí)行文件(這些都是開(kāi)發(fā)過(guò)程中所要用的命令。如javac ,java)JDK下的JRE目錄:BIN目錄,LIB目錄。這里的BIN目錄中放的是運(yùn)行中用到的命令,LIB目錄中放的都是JAR文件,JAR文件中放的都是一寫編譯好的字節(jié)碼。打成JAR文件的目的:方便傳輸。LIB目錄下的rt.jar,改文件下放的是JAVA開(kāi)發(fā)的類庫(kù)JDK下的SRC.ZIP包:放的是rt.jar包中的源碼,而rt.jar中放的是對(duì)應(yīng)的字節(jié)碼。-設(shè)置環(huán)境變量: JAVA_HOME:代表JDK安裝路徑 =/opt/jdk1.6.0 d:/a/b/jdk1.6CLASSPATH:系統(tǒng)搜索類的路徑 =. (指的是當(dāng)前目錄)PATH:命令的搜索路徑 =/opt/jdk1.6.0/bin 或 =$PATH:/opt/jdk1.6.0/bin 或 =$PATH:$JAVA_HOME/bi $PATH: 在原先的PATH基礎(chǔ)上加上其它路徑-第一個(gè)JAVA代碼第一步: vi MyFirstJava.java第二步:public class MyFirstJava - 定義一個(gè)類public static void main(String args) - 主方法格式固定String name=tangliang; - 定義一個(gè)變量為字符串,字符串值用雙引號(hào)來(lái)引起int age=30; -定義一個(gè)整數(shù)類型值為30System.out.println(my name is:+name); - 輸出語(yǔ)句()里是要輸出的內(nèi)容System.out.println(my age is:+age); - JAVA中加號(hào)也可以做字符串的鏈接第三步: javac MyFirstJava.java - 編譯源代碼文件(跟源文件名) 第四步: java MyFirstJava - 執(zhí)行字節(jié)碼文件(跟的是類名)通配符號(hào)編譯:javac my*.java - 編譯以my字母開(kāi)頭的所有java文件帶包編譯:javac -d . PackageTest.java帶包執(zhí)行:java sd0807.day01.PackageTestPublic被稱作為訪問(wèn)修飾符 - 作用是:控制程序的其他部分對(duì)該部分的訪問(wèn)級(jí)別Class表面JAVA程序中的全部?jī)?nèi)容是包含在類中的。注意點(diǎn):1. 一個(gè)JAVA源文件只能定義一個(gè)public類2. 而且PUBLIC修飾的類名必須同文件名一致(大小寫也要一直)3. 可以定義其他非public類.4. 字節(jié)碼文件與類一一對(duì)應(yīng),而不是同你的源文件一一對(duì)應(yīng).5. 可以運(yùn)行的JAVA方法的文件,一定要包含一個(gè)主方法,而且主方法簽名是固定的6. 包含主方法的類叫主類,java命令后跟的是主類的名字7. main方法是程序的入口包的定義(目的是確保類名的唯一性)包用來(lái)放所寫文件的目錄.怎么來(lái)聲明一個(gè)包:package SD0807.day01; - 包的定義(可以是0或1行,若聲明則必須在java文件第一行)+package SD0807.day01;public class PackgeTestpublic static void main(String args)System.out.println(Package Test!);+帶包編譯:javac -d . PackageTest.java帶包執(zhí)行:java sd0807.day01.PackageTest若java PackageTest 其實(shí)它將類找到了,只是它找到是帶包的類,而命令里面是不帶包的,所以會(huì)報(bào)錯(cuò)。為什么執(zhí)行帶包的類要加路徑名?(由于JAVA命令的執(zhí)行步驟)java命令的三個(gè)步驟:1,找到類的字節(jié)碼文件2,加載類-從磁盤中去讀取對(duì)應(yīng)的類,到哪里去找就是從(classpath中配置的路徑)3,找主方法執(zhí)行若從網(wǎng)上下一寫工具包必須在classpath中配置工具包所在的位置,這樣我們就可以使用該工具包想使用中間件,這樣classpath必須指向?qū)?yīng)的xxx.jar。而在JDK中的rt.jar我們沒(méi)有配置上,卻能用到里面對(duì)應(yīng)的類,因?yàn)樗詣?dòng)會(huì)去找JRE/lib/rt.jar找。rt.jar / 放在 jdk1.6.0/jre/lib/rt.jar使用api 提供的類,java虛擬機(jī)是怎么找到的?就在rt.jar ;里, 即使不設(shè)到 CLASSPATH 下虛擬機(jī)也能運(yùn)行;+例子:第一步:(寫類)ToolA類: package com.tarena;public class ToolApublic static void main(String args)System.out.println(ToolA);Test類: package com.tarena.day01; public class Testpublic static void main(String args)ToolA t = new ToolA();System.out.println(test);第二步:(編譯)javac -d . ToolA.java - 可以編譯(生成一個(gè)文件夾為com)javac -d . Test.java -直接編譯Test.java會(huì)出錯(cuò),因?yàn)橛玫搅薚oolA類第三步:(把類ToolA打包)jar -cvf abc.jar ./com - ToolA類在包c(diǎn)om.tarena 下將產(chǎn)生的abc.jar包放到任意的目錄下,這里放到aa目錄。第四步:配置ToolA類的classpath=d:aaabc.jar第五步:(編譯Test類)javac -d . Test.java - 可以編譯第六步:(執(zhí)行)java com.tarena.day01.Test也可以執(zhí)行ToolA類java com.tarena.ToolA+找對(duì)應(yīng)類的順序:1,在當(dāng)前包下找(所以注意不要在自己的包下創(chuàng)建和JDK中同名的類,這樣在調(diào)用JDK中同名的類回出錯(cuò))2,在rt.jar中找3,在 classpath中指定的路徑下找+如果自己在本包中定義了一個(gè)String類這樣下面代碼會(huì)出錯(cuò):public class Abpublic static void main(String args)System.out.println(aaaaa);-出現(xiàn)的錯(cuò)誤是說(shuō)主方法沒(méi)找到。因?yàn)閙ain參數(shù)中的String類不是JDK中的String類所以上面的main方法不是主方法了,只能是自己所定義的一個(gè)普通的類。所以該類在編譯的時(shí)候不報(bào)錯(cuò),在執(zhí)行的時(shí)候就會(huì)出錯(cuò)。+java.lang包下的類,可以不需給出包明,其它的都要給出包名,由于java.long包下的類很常用。-類的導(dǎo)入import: 可以多行。作用導(dǎo)入所要用到的類。java.lang包下的類,可以不需要導(dǎo)入,其它的包中的類都必須導(dǎo)入。怎么導(dǎo)入:import java.util.scanner; - 導(dǎo)入scanner類import java.util.*; - 導(dǎo)入該包下所有的類package xxxxx;(0或1行)import xxxxxxx; (0或多行);class xxxxx (1個(gè)或多個(gè)但只有一個(gè)public class)靜態(tài)導(dǎo)入:不僅能導(dǎo)入類,還可以導(dǎo)入靜態(tài)域。兩個(gè)實(shí)際用:1, 對(duì)算術(shù)函數(shù)的導(dǎo)入2, 笨拙的常量+常用命令:Javac - 編譯命令Java - 運(yùn)行命令Javadoc - 生成程序文檔,在java 源文件中提取文檔注釋, 生成程序文檔.- 文檔注釋注釋: / 單行注釋 (按住 ctrl+/ )就可以注釋選中的程序) /* */ 多行注釋 /* */ 特殊的多行注釋,定義在類之前,類的屬性或方法之前, 叫文檔注釋; javadoc MyFirstJava.java d .docs /將生成的html文件放到當(dāng)前目錄下的docs子目錄下;作用:生成JAVA文檔.從你的程序代碼中提取注釋/* */ 后跟的是自由格式文本在自由格式文本中可以使用HTML修飾符: 一定不要使用 , ,因?yàn)樗麄兣c文檔格式發(fā)生沖突。類的注釋:多行注釋的時(shí)候很多程序員習(xí)慣每行以星號(hào)開(kāi)頭,不建議這樣做。方法的注釋:param - 參數(shù),可以占據(jù)多行,可以用HTML標(biāo)記return - 返回throws - 可能拋出的異常域注釋: 只需要對(duì)公有域(通常指的是靜態(tài)常量)建立文檔/*The “hearts”card sut*/Public static final int HEARTS=1;通用注釋author name - 作者version text - 版本since text - 始于條目deprecatecd text - 對(duì)類,方法,變量添加一個(gè)不再使用的注釋如:deprecated UsesetVisible(true)insteadsee referencesee The Core ava home pageJava day02 -打包 jar 生成/修改 java 歸檔文件 (.jar) , 跟.zip 一樣; jar cvf abc.jar(目標(biāo)文件) ./abc (把哪一個(gè)目錄打包成jar文件) -c creat 創(chuàng)建新的jar文件 -v visable 顯示出來(lái) -f filename 指定文件名 -x 展開(kāi)存檔中的命名的(或所有的文件 jar cvf abc.jar ./abc / 多了一個(gè)清單文件;manifest.info jar xvf abc.jar / 展開(kāi)jar文件的內(nèi)容; 刪除com/ 目錄結(jié)構(gòu) 留下一個(gè)abc.jar ; 將環(huán)境變量的CLASSPATH 追加一個(gè) sd0705corejavaabc.jar 就是將壓縮文件展開(kāi)后在根目錄下找 .class 文件; rt.jar / runtime 放在 jdk/jre/lib/rt.jar CLASSPATH 使用api 提供的類,java虛擬機(jī)是怎么找到的?就在rt.jar ;里, 即使不設(shè)到 CLASSPATH 下虛擬機(jī)也能運(yùn)行;只要在這個(gè)目錄下就能找到; -常用的包;java.lang java的語(yǔ)言包java.awt/java.swing/java.awt.ent 圖形開(kāi)發(fā)是要用到的包java.applet 開(kāi)發(fā)小程序用的包什么叫application(應(yīng)用程序):就是包含主方法的程序。另外的的程序是沒(méi)包含主方法,必須放到容器里(如嵌入到瀏覽器里)去執(zhí)行。java.io 輸入輸出時(shí)要用到。java.net java中網(wǎng)絡(luò)開(kāi)發(fā)。java.util java工具包。- 標(biāo)識(shí)符 命名規(guī)則: (1) 由字母、數(shù)字、下劃線、$組成,不能以數(shù)字開(kāi)頭; 可以用中文;如: string 中文=abc; 只能以字符、“_”或“$”開(kāi)頭; 字符可以是漢字; (2) 大小寫敏感; (3) 不得使用java中的關(guān)鍵字和保留字; (4) Java語(yǔ)句以分號(hào)分隔,Java代碼塊包含在大括號(hào)內(nèi),忽略空格。標(biāo)識(shí)符 (5) 無(wú)長(zhǎng)度限制。- 命名習(xí)慣(1) 標(biāo)識(shí)符要符合語(yǔ)義信息(2) 包名 所有字母小寫(3) 類名 每個(gè)單詞首字母大寫,其它小寫 /TarenaStudent(4) 變量和方法: 第一個(gè)單詞小寫,從第二個(gè)單詞開(kāi)始首字母大寫 /tarenaStudent(5) 常量: 所有字母大寫,每個(gè)單詞之間用 _ 連接 /int MONEY_VALUE = 50;(6) 用以命名類、方法和變量、以及包遵守JAVA的命名規(guī)范,類以每個(gè)單詞都以大寫字母開(kāi)頭。 -關(guān)鍵字 Abstract continue for new switch assert default goto package synchronized boolean do if private this break double implements protected throw by e else import public throws case enmum instanceof return transient catch extends int short try char final interface static 等等- 八種數(shù)據(jù)類型 1,布爾型:boolean 只有false/true兩個(gè)值(不存在如C+的與整數(shù)相互轉(zhuǎn)換) 2,字符類型: char 2字節(jié) 16位 (065535) 默認(rèn)就是無(wú)符號(hào)的16位整型;只能表示整數(shù);char類型也可以用通用轉(zhuǎn)義字符,但是不能用ASCII碼。可以用“u0000”這種格式,因?yàn)閏har型中使用的是unicode編碼方式。u0060 四位都是十六進(jìn)制的;賦值方式:char zhChar=中; char enChar=a;char ucChar=u0060; - Unicode也是一種字符編碼方法(其為16進(jìn)制)int a =0 char b=0 int a =0 char b=u0000 相等char a =0 char b=u0000 char a =8 char b =5+3char a =8 char b =5+3 相等int a =8 char b = 5+3int a=8 char b=5+3字符0與整數(shù)0是不相等的,第五組相等。u0061 -表示為au0041 -表示A字符0的編碼為:u0048 3,字符串類型:定義:String name=tangliang; - 注意:賦值要有雙引號(hào) 4,整數(shù)類型: byte1字節(jié)8位 -128到127-27到27-1java中都是有符號(hào)的;沒(méi)有有符號(hào)和無(wú)符號(hào)的差別; 內(nèi)存中的存儲(chǔ):正整數(shù): 原碼 負(fù)整數(shù): 補(bǔ)碼= 原碼取反+1; 25 原碼: 00011001 補(bǔ)碼:00011001 -25 先些25的原碼:00011001 -取反:11100110 -補(bǔ)碼:11100111 內(nèi)存中8位二進(jìn)制第八位:0表示正,1表示負(fù) 10000000表示的值為-128,過(guò)程: 10000000-(減1)-01111111-取反-10000000(2的7次方=128開(kāi)始第一位為1 則表示負(fù)數(shù)即-128)short 2字節(jié) 16位 -215到215-1 16位的短整型 3276832767(與char比較,char沒(méi)有負(fù)則其范圍065535,沒(méi)有符號(hào)位,存儲(chǔ)還是同樣的) int 4字節(jié)32位 -231到231-1 32位的整型(大概-2G到2G) long 8字節(jié)64位 -263到263-1 64位的長(zhǎng)整型;long a=12343545L(l); /一定要跟上L,大小寫都可以,最好用大寫;以0x開(kāi)頭就是十六進(jìn)制; - 二進(jìn)制與十六進(jìn)制的轉(zhuǎn)換4對(duì)1 以0開(kāi)頭的是八進(jìn)制; - 二進(jìn)制與八進(jìn)制的轉(zhuǎn)換byte bb=(byte)0x771; / 由于范圍超出了直接賦值是不可以的但可以強(qiáng)制轉(zhuǎn)換,強(qiáng)轉(zhuǎn)的規(guī)則:自動(dòng)截?cái)喔呶槐A糇畹偷?位; 5,浮點(diǎn)類型 (默認(rèn)是double,而且是近似存儲(chǔ)) float 4字節(jié)32位 單精度實(shí)數(shù); 224 X 10127 ; 前三個(gè)字節(jié)存數(shù)據(jù),后一個(gè)字節(jié)存位權(quán); double 8字節(jié)64位 雙精度實(shí)數(shù);java中小數(shù)默認(rèn)是double型:float f = 111.32; - 會(huì)出錯(cuò),因?yàn)槟J(rèn)是double型可以寫的方式;float f =(float)111.32;float f = 111.32f; - 注意十六進(jìn)制中f是個(gè)值,不是float類型。 float fa =123.4f; - 后面要加上大寫或小寫的f float fa =123.4E300F; float fa =(float)123.4E300; - 強(qiáng)轉(zhuǎn)后賦值給float變量double d = 333.5double dd = 886.45ddouble dddd= 768.987D注:整型值存放,正數(shù)存放原碼(二進(jìn)制碼),負(fù)數(shù)則存放補(bǔ)碼(原碼按位取反末位加一) 注:浮點(diǎn)型是近似存儲(chǔ)的,實(shí)型值在存儲(chǔ)時(shí)會(huì)損失精度,所以不要直接比較兩個(gè)實(shí)型值。 系統(tǒng)默認(rèn)的實(shí)型都是double型, 要使用時(shí)要在數(shù)據(jù)后加個(gè)f,或者強(qiáng)行轉(zhuǎn)換。強(qiáng)轉(zhuǎn)(占字節(jié)數(shù)大的類型轉(zhuǎn)到占字節(jié)數(shù)小的類型)時(shí)會(huì)放棄高位值只取低位值。 類型轉(zhuǎn)換整數(shù)是精確存儲(chǔ)浮點(diǎn)類型是近似存儲(chǔ)6.枚舉類型JDK5以后可以自定義枚舉類型:enum SizeSMALL,MEDIUM,LARGE,EXTRA_LARGE; 聲明這樣一種類型的變量: Size s =Size,MEDIUM;7大數(shù)據(jù)類型java.math.BigIntegerjava.math.BigDecimal這兩個(gè)類可以處理任意長(zhǎng)度的數(shù)值:1, BigInteger 實(shí)現(xiàn)任意精度的整數(shù)運(yùn)算2, BigDecimal 實(shí)現(xiàn)任意精度的浮點(diǎn)數(shù)運(yùn)算 可以用靜態(tài)方法valueof()將普通的數(shù)值轉(zhuǎn)換成大數(shù)值,但不可以用算術(shù)運(yùn)算符來(lái)做處理+public class test public static void main(String args) double a=2.0,b=1.1,c=0.9; if(a-b=c) System.out.println(ok!); else System.out.println( 不 ok! ); 答案是:不ok;2.0-1.1=0.8999999. / 是近似存儲(chǔ)不是精確存儲(chǔ) 取絕對(duì)值小于一個(gè)很小的數(shù): Math.abs(a-b)-c) short - int - long - float - doublechar - intint - double(數(shù)據(jù)不會(huì)丟失)int - float (數(shù)據(jù)會(huì)丟失)long - double(數(shù)據(jù)會(huì)丟失)long - float (數(shù)據(jù)會(huì)丟失) 其中: char型和int型之間可以相互轉(zhuǎn)換。char和short或byte不能相互轉(zhuǎn)換。char不能表示負(fù)數(shù); boolean類型是獨(dú)立的, 不能和其它類型相互轉(zhuǎn)換; 反之則需要強(qiáng)行轉(zhuǎn)換; 但是自動(dòng)類型轉(zhuǎn)換也會(huì)造成數(shù)據(jù)丟失: 如 int - float long- float long - double 只是讓位數(shù)上相等, 但是會(huì)丟掉低位的數(shù)據(jù);比如:把浮點(diǎn)值賦給整型,就會(huì)發(fā)生截?cái)?truncation) 注意: 隱式類型轉(zhuǎn)換;(a或b有一個(gè)為int) a 運(yùn)算符 b ,如果a,b中有任意一個(gè)是double型,前面運(yùn)算的結(jié)果就是double型, 如果a,b中有任意一個(gè)是float型,前面運(yùn)算的結(jié)果就是float型,如果a,b中有任意一個(gè)是long型,前面運(yùn)算的結(jié)果就是long型,如果a,b中沒(méi)有double、float、long型,那么其結(jié)果就為int型。java 數(shù)據(jù)類型:基本類型: 8種 引用類型: 類,接口,枚舉,標(biāo)注 空類型: voidint a=5; 系統(tǒng)會(huì)分配連續(xù)4個(gè)字節(jié)的空間: 0000 0000 | 0000 0000 | 0000 0000 | 0000 0101String a=”hello”;/ a 是一個(gè)引用 (地址), 不允許對(duì)其進(jìn)行修改; a - 四個(gè)字節(jié);存的是地址值 ;指向首地址-“hello”四個(gè)連續(xù)的存儲(chǔ)空間; -寫一個(gè)person類在其它類中寫了person p = new person();p - 在內(nèi)存中分到4個(gè)字節(jié)的空間,存放的是地址值。該地址就是后面new person() 產(chǎn)生 的空間。 這樣保證了所有的地址都指向合法的位置; 通過(guò)p.xxx(); -去訪問(wèn)對(duì)象的方法 p.xxxx; - 去訪問(wèn)對(duì)象的屬性對(duì)象: 充滿氫氣的氫氣球,引用是繩子,通過(guò)這個(gè)繩子找到這個(gè)氫氣球; 一個(gè)繩子只能連著一個(gè)氣球;一個(gè)氣球可以由多根繩子連著; 如果沒(méi)有引用,那么我們就訪問(wèn)不了,雖然它也存在,叫做垃圾。 Java 虛擬機(jī)的垃圾回收的機(jī)制;String s“hello”; s=null; System.gc(); / 可以建議虛擬機(jī)來(lái)回收這些垃圾;來(lái)提高效率。若有引用p,但沒(méi)有指向具體的對(duì)象。若去訪問(wèn)p就會(huì)出現(xiàn)nullpointerException(空指針異常)+編譯時(shí):錯(cuò)誤 :error(s) 警告: Warning(s)運(yùn)行時(shí):異常: 錯(cuò)誤:Person p = null; - 定義了引用但沒(méi)有對(duì)象p.name; - 訪問(wèn)Person類的name屬性;p.age; - 訪問(wèn)Person類的age屬性;這個(gè)異常,沒(méi)有對(duì)象,不可能訪問(wèn)對(duì)象的屬性,這在編譯的時(shí)候不會(huì)出錯(cuò),只有在運(yùn)行的時(shí)候才會(huì)出現(xiàn)的異常。 注: 一個(gè)對(duì)象有多個(gè)引用指向它時(shí),一個(gè)引用來(lái)改變它的值時(shí),其它也改。 一個(gè)引用只能指向一個(gè)對(duì)象;-運(yùn)算符:表達(dá)式: = *= /= %= += -= = = &= = |=a+=3 a=a+3;a*=4 a=a*4;比較符: = -右移 (用符號(hào)位填充左側(cè)) -無(wú)符號(hào)右移(用0填充前面的位置) 位運(yùn)算: ; 左移相當(dāng)于乘2的n次方; 右移相當(dāng)于除于2的n次方;空位補(bǔ)符號(hào)位; 移位若大于32,則相當(dāng)于移動(dòng)了對(duì)32求余的位數(shù),如:45%32 若被操作的數(shù)是long類型的則移位值要對(duì)64求余例如,-14 (即二進(jìn)制的 11110010)右移兩位等于 -4 (即二進(jìn)制的 11111100)- 注意:11110010,11111100 都是補(bǔ)碼 = 無(wú)符號(hào)右移動(dòng),移出的不管,移進(jìn)的都補(bǔ)0。 &(與): 按位與經(jīng)常用來(lái)把指定位置0,其它不變;輔助數(shù): 1111 10001; |(或): 把原來(lái)指定位置1, 其它位不變; 輔助數(shù): 0000 01110; (異或):異或運(yùn)算, 經(jīng)常用來(lái)把原數(shù)的指定位求反其它位不變;輔助數(shù): 000001110; (取反):按位取反。 對(duì)于& | 位與和位或,當(dāng)兩邊是的數(shù)據(jù)類型是byte時(shí)是位運(yùn)算, 若為boolean型則為邏輯運(yùn)算。 & | 短路運(yùn)算符, & 是第一個(gè)為假則不計(jì)算后者, | 是第一個(gè)為真不計(jì)算后者 + - a+ 與+a的區(qū)別。一條語(yǔ)句為 a+ 用+a來(lái)代替是可以的(只能使用于變量,不可為常量或數(shù)字) 若:b=a+ 相當(dāng)于b=a;a=a+1; 而b=+a 相當(dāng)于a=a+1;b=a; 三目運(yùn)算符: ? System.out.println(43?9:9.99);-補(bǔ)充-運(yùn)算符優(yōu)先級(jí)別運(yùn)算符 結(jié)合性 ( ) 從左向右! + - new 強(qiáng)制轉(zhuǎn)換從右向左* / %從左向右 從左向右 = instanceof 從左向右= = != 從左向右&從左向右從左向右|從左向右&從左向右|從左向右 ? :從右向左= += -= *= /= %= &= |= = = =從右向左Java day03-塊的概念:塊:指的是有花括號(hào)括起來(lái)的若干條簡(jiǎn)單的語(yǔ)句一個(gè)塊里面可以嵌套另一個(gè)塊不能在嵌套的兩個(gè)塊中聲明同名的變量。+public static void main(String args) int b=0;int b=0; - 以上代碼編譯時(shí)通不過(guò)的 +- 控制語(yǔ)句-if else格式:If(條件).else.If()條件后腰執(zhí)行多條語(yǔ)句就必須用花括號(hào)括起,若只有一條可以不用花括號(hào)。-if - else ; else 匹配的是向上最近的if ; 求一個(gè)數(shù)是不是素?cái)?shù): 循環(huán), 從2到n/2 或 sqrt(a) ;int a=13;/boolean flag=false;for(int i=2;iMath.sqrt(a)/if(flag=true) System.out.println(a 是素?cái)?shù));/if(flag=true)- switch格式: Switch(條件)case 條件值 :.break;case 條件值 :.break;default :.break;-switch中的變量類型只能是byte、 short、int、char, 枚舉五種類型;只有遇到break才會(huì)退出, 除非到程序末尾;default放在最后和前面有區(qū)別, 如果不寫break的話,放在最后會(huì)自動(dòng)退出;但是放到開(kāi)頭的話,會(huì)繼續(xù)執(zhí)行直到遇到break為止; 循環(huán)的設(shè)計(jì): -For循環(huán)for(); outer: in er: 標(biāo)簽只能和break/continue 結(jié)合使用;+public static void main(String args) int i=0;aa:while(true)i+;System.out.println(i);if(i10)break aa;+for(int i=0;i=0 & str.trim().charAt(0)=9); System.out.println(your user name is:+str); */ /第二種從鍵盤讀數(shù)據(jù)的方法 Scanner sca=new Scanner(System.in); System.out.println(Please input your name and age:); String name=sca.next(); int age=sca.nextInt(); System.out.println(your name is:+name); System.out.println(your age is :+age);=java.util.ScannerScanner sca = new Scanner(System.in);-System.in(是輸入流)String s1 =sca.next(); - 若輸入hello haha hehe這樣只能讀到helloString s2 = sca.nextline(); - 這個(gè)就能讀到所有的值int a = sca.nextInt();float f = sca.nextFloat();double d =s sca.nextDouble();System.out -是輸出流從一個(gè)字符串中取出首字符:String name=abcd;Char firstChar=name.charAt(0); -Math.pow(a,b)- Math類中有一個(gè)pow()方法表示,求a的b次方。break loop; - 跳出標(biāo)號(hào)所標(biāo)的循環(huán),若沒(méi)有跟標(biāo)號(hào),直接跳出循環(huán)continue - 同樣可以跟標(biāo)號(hào)。Java day04求一個(gè)數(shù)是不是素?cái)?shù): 循環(huán), 從2到n/2 或 sqrt(a) ;int a=13;boolean flag=true;for(int i=2;i=Math.sqrt(a);i+) if(a%i=0) flag=false; break; if(flag) System.out.println(a 是素?cái)?shù));elseSystem.out.println(a 不是素?cái)?shù));-數(shù)組: 1)聲明數(shù)組: 數(shù)組能以下列形式聲明:(兩種方式)類型 array;類型 array; 注:JAVA中推薦用: 類型 array;一個(gè)數(shù)組是一個(gè)對(duì)象聲明一個(gè)數(shù)組沒(méi)有創(chuàng)建一個(gè)對(duì)象聲明時(shí)不用指定長(zhǎng)度數(shù)組是引用類型; (類,接口,數(shù)組)2)創(chuàng)建數(shù)組:創(chuàng)建基本數(shù)據(jù)類型數(shù)組:int i = new int2; 創(chuàng)建引用數(shù)據(jù)類型數(shù)組:Student s = new Student100; 創(chuàng)建數(shù)組的三種形式: int arr1; arr1 =new int5;- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 基礎(chǔ) 筆記
鏈接地址:http://www.szxfmmzy.com/p-10787717.html