java課件-入門以及變量debug_第1頁
java課件-入門以及變量debug_第2頁
java課件-入門以及變量debug_第3頁
java課件-入門以及變量debug_第4頁
java課件-入門以及變量debug_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

javaSEJava語言概述Java語言概述Java是SUN公司(斯坦福大學(xué)網(wǎng)絡(luò)公司)1995年推出的一門高級編程語言是一種面向Internet的編程語言,隨著Java技術(shù)在Web方面的不斷成熟,已經(jīng)成為Web應(yīng)用程序的首選開發(fā)語言是簡單易學(xué)、完全面向?qū)ο?、安全可靠,與平臺無關(guān)的編程語言Java包括Java語言和Java平臺2009年SUN公司被Oracle公司收購Java技術(shù)的三個版本Java技術(shù)分為三個版本

-

JavaSE(JavaPlatformStandardEdition,標(biāo)準(zhǔn)版)用來開發(fā)桌面應(yīng)用、C/S結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)該,是JavaEE的基礎(chǔ),是Java技術(shù)體系的核心。是本門課程的內(nèi)容。

-

JavaEE(JavaPlatform,EnterpriseEdition,企業(yè)版)用來開發(fā)企業(yè)環(huán)境下的應(yīng)用程序,通常來說,JavaEE包含JSP、Servlet、JDBC、XML等13種技術(shù)。Java課程體系中,后續(xù)會重點學(xué)習(xí)這部分內(nèi)容。

-JavaME(JavaPlatformMicroEdition,微型版)用于小規(guī)模的嵌入式開發(fā),適合手機等嵌入式設(shè)備。課程體系中不涉及此版本。Java語言的特點跨平臺解釋執(zhí)行面向?qū)ο螅☉?yīng)逐步建立面向?qū)ο蟮木幊趟枷耄┳詣永厥蒸敯糁С侄嗑€程編程簡單性Java語言特點跨平臺(可移植、一次編寫,處處運行)簡言之,跨平臺的含義是使用Java語言開發(fā)應(yīng)用,不需要為不同的平臺開發(fā)不同的程序,而是只開發(fā)一套應(yīng)用,就可以運行在不同的平臺上。Java語言的特點Java語言特點解釋執(zhí)行解釋執(zhí)行的含義是,Java程序編譯之后,只是生成了class文件,稱為字節(jié)碼,并不是機器碼。在執(zhí)行時,JVM中的解釋器,會根據(jù)當(dāng)前平臺的特征,對class文件進行解釋,生成符合當(dāng)前規(guī)范的機器碼,得以運行。Java語言的特點Java語言特點面向?qū)ο蟮恼Z言Java語言是一門面向?qū)ο笳Z言,具備面向?qū)ο笳Z言三大特征:封裝、繼承、多態(tài)。Java語言的特點Java語言特點自動垃圾回收程序員無權(quán)回收內(nèi)存。系統(tǒng)級線程跟蹤每一個存儲空間的分配情況,在JVM空閑周期,垃圾收集線程檢查,釋放內(nèi)存。Java語言的特點Java語言特點魯棒魯棒即健壯的意思,Java語言從編譯到運行期,都有很多機制,以保證其程序的魯棒性,如異常處理機制,也是保證魯棒性的重要手段。Java語言的特點Java語言特點支持多線程編程支持多線程編程是很多編程語言能夠?qū)崿F(xiàn)的功能,Java也不例外。Java語言的特點Java語言特點學(xué)習(xí)Java編程相對容易Java語言取消了很多容易混淆的概念,比如多繼承、goto語句等。Java語言的特點環(huán)境搭建JavaSE開發(fā)工具包:JDK7官方下載:直接默認安裝即可。集成開發(fā)環(huán)境:Eclipse官方下載:直接解壓即可使用。JDK簡介JDK簡介JDK(JavaDevelopmentKit):給Java開發(fā)人員使用的工具包,包括Java的開發(fā)工具,也包括JRE。其中開發(fā)工具中包括編譯工具(javac.exe)、運行工具(java.exe)、打包工具(jar.exe)等。JRE(JavaRuntimeEnviroment):Java的運行環(huán)境,包括Java虛擬機和Java程序運行所需的核心類庫。兩者之間的關(guān)系JDK=JRE+開發(fā)工具JRE=JVM+核心類庫

JDK的配置(

配置JAVA_HOME及path)檢測環(huán)境變量是否配置成功:javac(JavaCompiler(Java編譯器)的縮寫)檢測java版本,在命令窗口中輸入java-versionJDK配置JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0_02

path=C:\ProgramFiles\Java\jdk1.7.0_02\bin銀行1、帶上存折/銀行卡去銀行3、將存折或儲蓄卡遞給銀行職員并告知取款數(shù)額2、取號排隊5、銀行職員辦理取款事宜生活中的程序6、拿到錢并離開銀行4、輸入密碼計算機中的程序什么是指令?1、做口述筆記……2、鍵入信函的內(nèi)容……3、發(fā)送傳真……1、口述2、信函System.out.println("口述");System.out.println("信函");System.out.println("傳真");指令被逐條執(zhí)行程序員老板秘書程序:為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合要執(zhí)行的一組指令程序3、傳真使用Eclipse開發(fā)Java工程創(chuàng)建工作空間,即workspace;選擇適合的Perspective,如JavaPerspective;創(chuàng)建JavaProject;在src目錄下創(chuàng)建JavaClass;運行有main方法的Java類,在Console視圖中查看結(jié)果。命名規(guī)范1、字母2、下劃線‘_’3、‘$’

符號首字母任意多的:1、數(shù)字2、字母3、下劃線‘_’4、‘$’符號其余部分Java語言中,命名要符合一定規(guī)則money,score,name,sex變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScoreJava程序框架publicclassHelloAccp{publicstaticvoidmain(String[]args){

…這里填寫代碼!...}}外層框架Java入口程序框架填寫代碼第一個Java類(HelloWorld.java)

使用javacHelloWorld.java進行編譯使用javaHelloWorld進行運行第一個Java類publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(“helloworld!");}}第一個Java類(HelloWorld.java)使用Eclipse創(chuàng)建、編譯、運行

程序運行都從main方法開始運行,main方法必須遵守規(guī)范:staticvoidmain,參數(shù)必須是String[],否則運行時出現(xiàn)“沒有main方法”錯誤

第一個Java類publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(“helloworld!");}}練習(xí)控制臺輸出以下信息:*********************************************

歡迎進入Java編程世界*********************************************publicclasshelloWord{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!ACCP5.0");}}常見錯誤5-1注意類名命名規(guī)范!演示示例:程序排錯技巧命名規(guī)范publicclassHelloWord{publicstaticmain(String[]args){//輸出消息到控制臺

System.out.println("你好!");}}常見錯誤5-2main方法作為程序入口,void必不可少!voidpublicclassHelloWord{publicstaticvoidmain(String[]args){//輸出消息到控制臺

system.out.println("你好!ACCP5.0");}}常見錯誤5-3編譯出錯,無法解析system!Java對大小寫敏感!代碼錯誤publicclassHelloWord{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!")}}常見錯誤5-4每一條Java語句必須以分號結(jié)束!;代碼錯誤publicclassHelloWord{publicstaticvoidmain(String[]args){//輸出消息到控制臺

System.out.println("你好!);}}常見錯誤5-5注意:不要漏寫引號!"總結(jié)Java的源文件均為.java文件一個Java文件中可以有多個類,但是通常建議為一個.java文件名必須與public類名同名,如果類不是public,文件名可以不與類同名,但是不建議如此一個Java類如果需要運行,必須有符合規(guī)范的main方法,即publicstaticvoid修飾的main方法,參數(shù)為String[]回顧內(nèi)存如何存放數(shù)據(jù)電腦使用內(nèi)存來記憶計算時所使用的數(shù)據(jù)內(nèi)存如何存儲數(shù)據(jù)?內(nèi)存像旅館數(shù)據(jù)各式各樣,要先根據(jù)數(shù)據(jù)的需求(即類型)為它申請一塊合適的空間1、開房間(單人間、雙人間、總統(tǒng)套間)2、入住√變量1000*(1+5%)內(nèi)存10001050變量:一個數(shù)據(jù)存儲空間的表示對于專業(yè)程序員,數(shù)據(jù)存入內(nèi)存不算完:怎么找到存入的數(shù)據(jù)?存進去還能改嗎?98.76不同數(shù)據(jù)存入具有不同內(nèi)存地址的空間,相互獨立在銀行存1000元錢,銀行一年的利息5%,那一年之后錢變成了多少?為什么需要變量內(nèi)存地址不好記,怎么辦?通過內(nèi)存中小房間的別名找到數(shù)據(jù)存儲的位置變量是存儲數(shù)據(jù)的一個基本單元房間

房間名字

房間類型

入住的客人變量

變量名

變量類型

變量值對應(yīng)變量應(yīng)用1、在內(nèi)存中存儲本金1000元2、顯示內(nèi)存中存儲的數(shù)據(jù)的值publicclassHelloAccp1{publicstaticvoidmain(String[]args){

intmoney=1000;//存數(shù)據(jù)

}}

數(shù)據(jù)類型

變量名

內(nèi)存空間存的數(shù)值System.out.println(money);//使用數(shù)據(jù)變量的聲明和賦值使用變量的步驟:第一步:聲明一個變量第二步:賦值第三步:使用變量數(shù)據(jù)類型變量名=數(shù)值;根據(jù)類型開辟空間將數(shù)據(jù)存入空間取出數(shù)據(jù)使用數(shù)據(jù)類型變量名;變量名=數(shù)值;intmoney=1000;intmoney;money=1000;變量名命名規(guī)則1、字母2、下劃線‘_’3、‘$’

符號首字母任意多的:1、數(shù)字2、字母3、下劃線‘_’4、‘$’符號其余部分變量名Java語言中,變量命名要符合一定規(guī)則money,score,name,sex變量命名規(guī)范:簡短且能清楚地表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫。例如:myScore注釋Java注釋//單行注釋/*單、多行注釋*//**文檔注釋*/

常見符號分號:在Java中,有一些字符被當(dāng)作分隔符使用,最常用的分隔符是分號(;),用來分隔語句空白:在代碼中遇到運算符時,例如=等,兩端留出空格,增強代碼可讀性。代碼行之間,可以根據(jù)邏輯關(guān)系加空白行,增強可讀性花括號:用來包括自動初始化的數(shù)組的值用來定義程序塊,類,方法以及局部范圍基本數(shù)據(jù)類型8種基本數(shù)據(jù)類型數(shù)據(jù)類型位數(shù)取值范圍說明byte(1字節(jié))8-27~27-1

整數(shù)short(2字節(jié))16-215~215-1

int(4字節(jié))32-231~231-1

long(8字節(jié))64-263~263-1

float(4字節(jié))32略浮點數(shù)(小數(shù))double(8字節(jié))64略char(2字節(jié))16‘\u0000’~‘\uFFFF’0~65535包括單個字符charsex='男';boolean1true/false布爾數(shù)據(jù)類型的使用輸出Java課考試最高分:98.5輸出最高分學(xué)員姓名:張三輸出最高分學(xué)員性別:‘男’publicclassHelloAccp2{publicstaticvoidmain(String[]args){

doublescore=98.5;Stringname="張三";

charsex='男';System.out.println("本次考試成績最高分:"+score);//輸出其他……}}單引號雙引號連接輸出信息

演示示例:不同類型變量存取使用變量存儲以下MP3信息,并打印輸出品牌(brand):愛國者F928重量(weight):12.4電池類型(type):內(nèi)置鋰電池價格(price):499基本數(shù)據(jù)類型轉(zhuǎn)換程序中經(jīng)常會遇到要將數(shù)據(jù)類型進行轉(zhuǎn)換的情況(如:在一個表達式中存在不同類型的操作數(shù)時),Java的數(shù)據(jù)類型轉(zhuǎn)換比C控制得更為嚴格;數(shù)據(jù)類型轉(zhuǎn)換有兩種情況:自動類型轉(zhuǎn)換強制類型轉(zhuǎn)換自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換也稱作隱式類型轉(zhuǎn)換;將一種類型的變量賦值給另一種類型的變量時,只要滿足以下條件,就會發(fā)生自動類型轉(zhuǎn)換兩種類型之間相互兼容目標(biāo)類型大于源類型(即類型提升)如:

charch='A'; intnum=ch; floatf=num; doubled=f; //類型轉(zhuǎn)換自動發(fā)生,無需顯式說明類型提升規(guī)則有類型提升的情況下,編譯器將自動進行類型轉(zhuǎn)換,否則就要進行強制類型轉(zhuǎn)換;類型提升應(yīng)遵循如下規(guī)則:兩種類型必須兼容,且目標(biāo)類型大于源類型,例如:

byte、char和short類型都可以提升為int型。對于表達式而言,其最終結(jié)果將會與表達式中最高的數(shù)據(jù)類型相同。byte<short(char)<int<long<float<double強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換也稱作顯式類型轉(zhuǎn)換;如果被轉(zhuǎn)換的值的數(shù)據(jù)類型大于其目標(biāo)類型,將會丟失部分信息;如:

intx=65;

charch=x;這樣的語句將報錯,因為char類型精度低于int類型,編譯器無法將其自動轉(zhuǎn)換,只能進行強制轉(zhuǎn)換:

intx=65;

charch=(char)x;例子就是inta=130;byteb=(byte)a;b的值得運算//java采用補碼存儲整數(shù),int型為32位,byte為8位//那么130在內(nèi)存中的表示形式:00000000000000000000000010000010//這樣截取后8位就變成10000010,補碼表示的時候第一位是符號位,0正1負,//所以可以知道10000010肯定是一個負數(shù)了,再來看它的數(shù)值部分,//補碼由正數(shù)變負數(shù),還是正數(shù)變負,方法:“按位取反,再加1”,//所以0000010應(yīng)該變?yōu)?111101+1=1111110(即126)//又因為是負數(shù),所以就截取變成-126了

//我們再來看下-130的例子(符號位是1,其余按位取反+1)//-130在內(nèi)存中的表示形式:11111111111111111111111101111110//這樣截取后8位就變成01111110//顯然這是整數(shù)啊,然后數(shù)值部分是126//64+32+16+8+4+2=126自動類型轉(zhuǎn)換某班第一次Java考試平均分81.29,第二次比第一次多2分,計算第二次考試平均分?

doublefirstAvg=81.29;//第一次平均分

doublesecondAvg;//第二次平均分

intrise=2;secondAvg=firstAvg+rise;

System.out.println("第二次平均分是:"+secondAvg);在某種條件下,系統(tǒng)自動完成類型轉(zhuǎn)換兩種類型兼容例如:int和double兼容目標(biāo)類型大于源類型例如:double型大于int型對于表達式如果一個操作數(shù)為double型,則整個表達式可提升為double型類型提升規(guī)則intbefore=20;//apple筆記本市場份額doublerise=9.8;//增長的份額intnow=before+rise;//現(xiàn)在的份額intnow=before+(int)rise;

去年Apple筆記本所占的市場份額是20,今年增長的市場份額是9.8,求今年所占的份額?編譯出錯:不能完成自動類型轉(zhuǎn)換(類型名)表達式強制類型轉(zhuǎn)換intb=(int)10.2;doublea=10;intc=(int)a;強制類型轉(zhuǎn)換更改為

演示示例:強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換完整代碼演示intage=19;charsex=‘女’;

charresult=age+sex;

下面語句正確嗎?inta=10;intb=10.2;doublec=10;c=a;intd=c;int不可以自動轉(zhuǎn)換成chardouble不可以自動轉(zhuǎn)化成int常見錯誤Java中的運算符按照功能分,Java中的運算符可以分為五類算術(shù)運算符比較運算符邏輯運算符賦值運算符位運算符算術(shù)運算符算術(shù)運算符單目:+(取正)-(取負)++(自增1)--(自減1)雙目:+-*/%(取余)(+還可以連接字符串)三目:a>b?true:false說明:當(dāng)a大于b的時候,為true(也就是冒號之前的值),否則為false;這整個運算符包括一個關(guān)系運算符(可以是“>”"<""!="等等),一個“?”,一個“:”,冒號前后需要有兩個表達式或者是值或者是對象。inta=4,b=5; intc;//四則運算符號的演示 c=a+b; System.out.println(c);//打印出加結(jié)果 c=a-b; System.out.println(c);//打印出減結(jié)果 c=a/b; System.out.println(c);//打印出除的結(jié)果 c=a%b; System.out.println(c);//打印出余數(shù)結(jié)果//三元運算符的使用 System.out.println(a>b?a:b);//打印出三元運算結(jié)果

inti=3;intsum=0;sum=(i++)+(i--)*(i++)+(++i)+(i++)-(--i)+(++i);System.out.println(sum);//打印出結(jié)果比較運算符比較運算符:==,<,>,<=,>=,!=除了==!=外,都只能比較基本數(shù)據(jù)類型注意:用來做比較運算比較后結(jié)果:boolean類型使用比較運算符可以比較高低、大小、長短大象的壽命<烏龜?shù)膲勖鎻埲某煽?gt;李四的成績假令狐沖每次考試成績>=90分真籃球的大小==地球的大小假由此看出inti=2; System.out.println(3>6);//>練習(xí) System.out.println(3!=5);//練習(xí)!= System.out.println(3>=5);//練習(xí)>= System.out.println(i==6);//>練習(xí)== System.out.println(5>5);//練習(xí)>邏輯運算符邏輯運算符用于連接兩個boolean類型的表達式&&(雙與)、||(雙或)、&(與)、|(或)、^(異或)、!(非運算)運算符表達式說明&&條件1&&

條件2僅僅兩個條件同時為真,結(jié)果為真||條件1||條件2只要兩個條件有一個為真,結(jié)果為真!!條件條件為真時,結(jié)果為假條件為假時,結(jié)果為真注意事項注意事項&&與&的運算結(jié)果是相同的,對于&而言無論左邊為什么值,右邊都參與運算;對于&&來說,只要左邊為false右邊就不再運算,直接返回false||與|的運算結(jié)果是相同的,對于|而言無論左邊為什么值,右邊都參與運算;對于||來說,只要左邊為true右邊就不再運算,直接返回true

&&和||可以理解為物理上的短路,實際中多用&&及||位運算符位運算符:(先轉(zhuǎn)化成二進制再進行運算)與(&)、非(~)、或(|)、異或(^)移位運算符:<<、>>(有符號右移)

、>>>(無符號右移)左移1位相當(dāng)于乘以2,右移1位相當(dāng)于除以2,比乘除運算效率更高,忽略符號位,空位都以0補齊

inta=8,c;c=a>>2;原來:00001000移動后:00000010邏輯運算符有什么用? 用于連接兩個boolean類型的表達式。

&:與,符號的運算特點: true&true=tr

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論