999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

圖示教學法在Java類型轉換中的應用

2007-12-31 00:00:00
考試周刊 2007年42期

摘 要:本文屬于教學教法的探討類文章,主要是借助圖示法來揭示Java類型轉換中的一些規律和方法。該方法清晰直觀的顯示了Java中類型轉中的不同情形。通過實踐,教學效果良好。

關鍵詞:圖示教學法 Java 類型轉換

圖示教學法是以圖形、圖象或表格為主要形式,揭示事物現象或本質特征,激發學生思維,使其更好地掌握有關知識,把握事物發展規律,加快教學進程的一種教學方法。這種教學法用形象化的圖形,圖象或表格的形式講授基本概念,揭示事物之間的邏輯聯系,其實質是使知識形象化,抽象理論具體化,零碎知識系列化。

Java類型轉換涉及的類型較多,轉換方法靈活多變。一般的講解授課,學生總是感覺東西多而且亂。而圖示教學法直觀明了,便于學生理解和掌握知識。

我們知道:Java的數據類型分為三大類,即布爾型、字符型和數值型,而其中數值型又分為整型和浮點型;相對于數據類型,Java的變量類型為布爾型boolean;字符型char;整型byte、short、int、long;浮點型float、double。其中四種整型變量和兩種浮點型變量分別對應于不同的精度和范圍。此外,我們還經常用到兩類變量,即String和StringBuffer。對于這些變量類型之間的相互轉換在我們編程中經常要用到。本文將通過圖示法對Java類型的轉換中做了一些總結和探討。

下面圖1、圖2和圖3是轉換圖,我們分別稱之為“三角轉換圖”、“星形轉換圖”和“矩形轉換圖”。“三角轉換圖”主要顯示了StringBuffer、String、Integer和int之間的類似三角形的轉換關系。“星形轉換圖”顯示了日期Date類型和String類型、int類型和long類型之間的轉換關系。而“矩形轉換圖”則顯示了byte、short、char、int、long、float、double之間的轉換關系。

在圖1中,總共涉及到8種轉換,每種轉換分別舉例介紹如下:

(1)由Integer類型轉換到int類型,可以使用Integer類型的方法intValue()。假設x是Integer類型的變量,則x.intValue()轉換為int型。

(2)由int轉換為Integer型,直接利用Integer的構造函數,new Integer(x),這里假設x為整型變量。如Integer i=new Integer(3)。

(3)由int型轉為String,只需要int與空串相加,如String a=“”+9;或者通過String類的方法valueOf(),比如String.valueOf(12.345),將放回字符串“12.345”。

(4)數字字符串轉換為int型,只需要調用Integer類的parseInt()方法。如int i=Integer.parseInt(“123”)。

(5)Integer轉換為String,直接利用其toString()方法。

(6)String轉換為Integer類,需要調用Integer類的valueOf()方法。如Integer x=Integer.valueOf(“123”)。

(7)直接調用StringBuffer類的構造函數直接可以將String變為StringBuffer類,如StringBuffer sb=new StringBuffer(“123”)。

(8)將StringBuffer類變為String類,需要調用StringBuffer類的toString()方法,如str是StringBuffer類型的變量,str.toString()將把str轉換為String類型;也可以利用類StringBuffer的substring方法,該方法是提取字串的函數,當然也可以拿來生成StringBuffer類型變量對應的String變量。如將StringBuffer類型的變量sb轉換為對應的String類型數據,可以這樣轉換:String s=StringBuffer.subString(0,sb.length())。

這里有幾點要注意:

1. 上面設計到的String必須是數字組成的字符串,否則會發生數據轉換異常。

2. 除了上面介紹的基本的轉換方法之外,還可以在此基礎上變化出多種轉換。比如把String轉換成Integer類型,可以直接按照(6)的方法來轉換,也可以經由int類型為中間橋梁做轉換,通過(4)、(2)來達到轉換的目的。Integer x=new Integer(Integer.parseInt(“123”))。再比如從int轉換為String類型,除了上面直接的轉換方法之外,還可以先把int轉為Integer,然后調用Integer類的toString()方法。如String a=new Integer(8).toString()。

3. 通過前面“三角形轉換”的介紹,我們再進一步討論下包裝類和對應的簡單類型之間的轉換:在討論之前,簡單了解一下Java的包裝類。所謂包裝類,就是可以直接將簡單類型的變量表示為一個類,在執行變量類型的相互轉換時,我們會大量使用這些包裝類。Java共有六個包裝類,分別是Boolean、Character、Integer、Long、Float和Double,從字面上我們就可以看出它們分別對應于boolean、char、int、long、float和double在進行簡單數據類型之間的轉換(自動轉換或強制轉換)時,總是可以利用包裝類進行中間過渡。一般情況下,首先聲明一個變量,然后生成一個對應的包裝類,就可以利用包裝類的各種方法進行類型轉換了。例如:例1,當希望把float型轉換為double型時:float f1=100.00f;Float F1=new float(f1);Double d1=F1.doubleValue();//F1.doubleValue()為Float類的返回double值型的方法。

當希望把double型轉換為int型時:double d1=100.00;Double D1=new Double(d1);int i1=D1.intValue();

當希望把int型轉換為double型時,自動轉換:int i1=200;double d1=i1;

簡單類型的變量轉換為相應的包裝類,可以利用包裝類的構造函數。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value) 。

而在各個包裝類中,總有形為××Value()的方法,來得到其對應的簡單類型數據。利用這種方法,也可以實現不同數值型變量間的轉換,例如,對于一個雙精度實型類,intValue()可以得到其對應的整型變量,而doubleValue()可以得到其對應的雙精度實型變量。

4. StringBuffer、String和char也可以構成另外一個三角形轉換。char類型經過String.valueOf(char c)方法可以轉換為String類型,而通過String類型中的charArray()方法可以將字符串轉換為字符數組。我們還可以通過StringBuffer的charAt方法,獲取StringBuffer某個字符,或者通過StringBuffer的append(char ch)方法使char類型轉換為StringBuffer類型。

Date類與其它數據類型的相互轉換,見圖2。

整型和Date類之間并不存在直接的對應關系,只是你可以使用int型為分別表示年、月、日、時、分、秒,這樣就在兩者之間建立了一個對應關系,在作這種轉換時,你可以使用Date類構造函數的三種形式:Date(int year,int month,int date):以int型表示年、月、日;Date(int year,int month,int date,int hrs,int min):以int型表示年、月、日、時、分;Date(int year,int month,int date,int hrs,int min,int sec):以int型表示年、月、日、時、分、秒。在長整型和Date類之間有一個很有趣的對應關系,就是將一個時間表示為距離格林尼治標準時間1970年1月1日0時0分0秒的毫秒數。對于這種對應關系,Date類也有其相應的構造函數:Date(long date)

獲取Date類中的年、月、日、時、分、秒以及星期你可以使用Date類的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以將其理解為將Date類轉換成int。而Date類的getTime()方法可以得到我們前面所說的一個時間對應的長整型數,與包裝類一樣,Date類也有一個toString()方法可以將其轉換為String類。

在圖2中,主要涉及強制類型轉換之間的情況,共7種數據類型之間的轉換。每種類型下面的數字,表示該類型占用的字節數。比如float類型下面有個數字4,表示float占用4個字節。那么,類型按照實體箭頭所示的方向,是由低級數據類型往高級數據類型作轉換,或者絕大部分是由占用字節位數少的數據類型向占用位數多的類型轉換,這種類型轉換稱為自動類型轉換。而虛線箭頭表示的是由占用字節位數較高的類型向占用字節位數較少的類型轉換,這時進行的是強制類型轉換。

經過教學實踐,我們發現教學效果良好,學生們可以很清晰地看到其中內在的聯系,而且有助于學生的理解和記憶。

參考文獻:

[1]JDK在線幫助文檔.http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html.

[2]Bruce Eckel著.侯捷譯.Java編程思想(第二版).機械工業出版社,2002.9.

主站蜘蛛池模板: 亚洲欧美另类日本| 亚洲视频一区| 91在线国内在线播放老师| 欧美区日韩区| 91精品国产丝袜| 国产精品99一区不卡| 欧美激情综合一区二区| 久久香蕉国产线看观看式| 国产麻豆福利av在线播放| 国产精品浪潮Av| www.av男人.com| Jizz国产色系免费| 91破解版在线亚洲| 国内熟女少妇一线天| 亚洲国产成人久久精品软件| 超碰91免费人妻| 无码内射在线| 亚洲第一天堂无码专区| 99国产精品国产| 日韩a级毛片| 国产亚洲精品资源在线26u| 久久性视频| 精品成人一区二区| 国产99热| 亚洲天堂视频在线观看免费| 国产精品天干天干在线观看| 国产精品人莉莉成在线播放| 91精品国产自产91精品资源| 青青操国产视频| 在线播放91| 国产综合无码一区二区色蜜蜜| 国产一级片网址| 69视频国产| 在线亚洲精品自拍| 日本国产在线| 国产正在播放| 国产91丝袜| 亚洲欧美极品| 九九久久精品免费观看| 久久中文字幕2021精品| 亚洲综合色区在线播放2019| 日本午夜三级| 日本日韩欧美| 欧美第一页在线| 青青草原国产| 亚洲第一黄片大全| 欧美中文字幕一区二区三区| 午夜激情福利视频| 国产免费久久精品99re丫丫一| 亚洲精品在线观看91| 国产黑人在线| 国产中文一区a级毛片视频| 日本道综合一本久久久88| 国产电话自拍伊人| 一级毛片免费的| 日本久久网站| 国产福利小视频在线播放观看| 香蕉eeww99国产精选播放| 欧美啪啪视频免码| 国产在线观看一区二区三区| 视频在线观看一区二区| 亚洲香蕉伊综合在人在线| 国产原创第一页在线观看| 高清欧美性猛交XXXX黑人猛交| 激情视频综合网| 免费在线不卡视频| 手机精品福利在线观看| 国产高清毛片| 青草娱乐极品免费视频| 国产精品综合色区在线观看| 国产综合网站| 67194亚洲无码| 多人乱p欧美在线观看| 国产色爱av资源综合区| 久久男人资源站| 一级一级一片免费| 狠狠ⅴ日韩v欧美v天堂| 四虎永久在线精品影院| 亚洲国产欧美中日韩成人综合视频| 亚洲丝袜中文字幕| 久久a级片| 久久9966精品国产免费|