java課件-入門以及變量debug_第1頁
java課件-入門以及變量debug_第2頁
java課件-入門以及變量debug_第3頁
java課件-入門以及變量debug_第4頁
java課件-入門以及變量debug_第5頁
免費預覽已結束,剩余58頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

-

JavaSE(JavaPlatformStandardEdition,標準版)用來開發(fā)桌面應用、C/S結構網絡應該,是JavaEE的基礎,是Java技術體系的核心。是本門課程的內容。

-

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

-JavaME(JavaPlatformMicroEdition,微型版)用于小規(guī)模的嵌入式開發(fā),適合手機等嵌入式設備。課程體系中不涉及此版本。Java語言的特點跨平臺解釋執(zhí)行面向對象(應逐步建立面向對象的編程思想)自動垃圾回收魯棒支持多線程編程簡單性Java語言特點跨平臺(可移植、一次編寫,處處運行)簡言之,跨平臺的含義是使用Java語言開發(fā)應用,不需要為不同的平臺開發(fā)不同的程序,而是只開發(fā)一套應用,就可以運行在不同的平臺上。Java語言的特點Java語言特點解釋執(zhí)行解釋執(zhí)行的含義是,Java程序編譯之后,只是生成了class文件,稱為字節(jié)碼,并不是機器碼。在執(zhí)行時,JVM中的解釋器,會根據當前平臺的特征,對class文件進行解釋,生成符合當前規(guī)范的機器碼,得以運行。Java語言的特點Java語言特點面向對象的語言Java語言是一門面向對象語言,具備面向對象語言三大特征:封裝、繼承、多態(tài)。Java語言的特點Java語言特點自動垃圾回收程序員無權回收內存。系統級線程跟蹤每一個存儲空間的分配情況,在JVM空閑周期,垃圾收集線程檢查,釋放內存。Java語言的特點Java語言特點魯棒魯棒即健壯的意思,Java語言從編譯到運行期,都有很多機制,以保證其程序的魯棒性,如異常處理機制,也是保證魯棒性的重要手段。Java語言的特點Java語言特點支持多線程編程支持多線程編程是很多編程語言能夠實現的功能,Java也不例外。Java語言的特點Java語言特點學習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程序運行所需的核心類庫。兩者之間的關系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、將存折或儲蓄卡遞給銀行職員并告知取款數額2、取號排隊5、銀行職員辦理取款事宜生活中的程序6、拿到錢并離開銀行4、輸入密碼計算機中的程序什么是指令?1、做口述筆記……2、鍵入信函的內容……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視圖中查看結果。命名規(guī)范1、字母2、下劃線‘_’3、‘$’

符號首字母任意多的:1、數字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,參數必須是String[],否則運行時出現“沒有main方法”錯誤

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

歡迎進入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語句必須以分號結束!;代碼錯誤publicclassHelloWord{publicstaticvoidmain(String[]args){//輸出消息到控制臺

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

房間名字

房間類型

入住的客人變量

變量名

變量類型

變量值對應變量應用1、在內存中存儲本金1000元2、顯示內存中存儲的數據的值publicclassHelloAccp1{publicstaticvoidmain(String[]args){

intmoney=1000;//存數據

}}

數據類型

變量名

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

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

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

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

doublescore=98.5;Stringname="張三";

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

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

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

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

intx=65;

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

intx=65;

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

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

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

doublesecondAvg;//第二次平均分

intrise=2;secondAvg=firstAvg+rise;

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

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

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

charresult=age+sex;

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論