Java語(yǔ)言教學(xué)課件匯總整本書(shū)電子教案全套教學(xué)教程完整版電子教案(最新)_第1頁(yè)
Java語(yǔ)言教學(xué)課件匯總整本書(shū)電子教案全套教學(xué)教程完整版電子教案(最新)_第2頁(yè)
Java語(yǔ)言教學(xué)課件匯總整本書(shū)電子教案全套教學(xué)教程完整版電子教案(最新)_第3頁(yè)
Java語(yǔ)言教學(xué)課件匯總整本書(shū)電子教案全套教學(xué)教程完整版電子教案(最新)_第4頁(yè)
Java語(yǔ)言教學(xué)課件匯總整本書(shū)電子教案全套教學(xué)教程完整版電子教案(最新)_第5頁(yè)
已閱讀5頁(yè),還剩398頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章-緒論前言本章我們要了解 Java 語(yǔ)言的發(fā)展歷程,理解 Java 語(yǔ)言的特點(diǎn)、Java 程序的工作過(guò)程與類型,并 運(yùn)行第一個(gè) Java 程序。本章包含兩個(gè)任務(wù) :任務(wù)一帶你認(rèn)識(shí) Java 語(yǔ)言,安裝 JDK(Java Development Kit),并在命令行運(yùn)行第一個(gè) Java 程序 ;任務(wù) 2 帶你安裝 Eclipse,并在 Eclipse 中運(yùn)行第 1 個(gè) Java 程序。本節(jié)概述和學(xué)習(xí)目標(biāo)了解 Java 語(yǔ)言的發(fā)展歷程 ; 理解 Java 語(yǔ)言的特點(diǎn) ;理解 Java 程序的工作過(guò)程 ;理解 Java 程序的分類以及兩類程序的區(qū)別 ;正確安裝和配置 JDK ;正確安裝和使用

2、Eclipse ;正確編寫、編譯和運(yùn)行簡(jiǎn)單的程序。目錄1.1 認(rèn)識(shí)Java語(yǔ)言1.1.1 Java的誕生1.1.2 Java的發(fā)展1.1.3 Java語(yǔ)言的特點(diǎn)1.1.4 Java程序的分類1.1.5 Java程序的工作過(guò)程1.1.6 Java程序的發(fā)展過(guò)程1.2 安裝Eclipse1.1.1Java的誕生Java 是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。它是由 Sun Microsystems 公司(簡(jiǎn)稱 Sun 公司)于 1995 年 5 月推出的 Java 程序設(shè)計(jì)語(yǔ)言和 Java 平臺(tái) (即 Java SE、Java EE、Java ME)的總稱。1.1.2 Java的發(fā)

3、展1995 年 5 月 23 日,在 Sun World 大會(huì)上,Java 和 HotJava 瀏覽器的第一次公開(kāi)發(fā)布 標(biāo)志著 Java 語(yǔ)言正式誕生2006 年 12 月,Sun 公司發(fā)布 JRE 6.0。 2009 年 4 月 20 日,Oracle 公司(中文譯名為甲骨文公司)以 74 億美元收購(gòu) Sun 公司, 取得了 Java 的版權(quán)。2011 年 7 月,Oracle 公司發(fā)布了 Java 7 的正式版。 2014 年 3 月,Oracle 公司發(fā)布了 Java 1.8 版本,Oracle 公司官方稱其 Java 8Java 平臺(tái)由 Java 虛擬機(jī)和 Java 應(yīng)用編程接口構(gòu)成。

4、Java 分為三個(gè)體系,即 Java 平臺(tái)標(biāo)準(zhǔn)版、Java 平臺(tái)企業(yè)版和 Java 平臺(tái)微型版。1.1.3 Java語(yǔ)言的特點(diǎn)Java 語(yǔ)言是當(dāng)前最流行的網(wǎng)絡(luò)編程語(yǔ)言之一,具有如下的優(yōu)點(diǎn):簡(jiǎn)單性、平臺(tái)無(wú)關(guān)性、 面向?qū)ο?、分布式、較高的安全性、支持多線程、具有健壯性和動(dòng)態(tài)性等。簡(jiǎn)單性。復(fù)雜性的省略和實(shí) 用功能的增加使得 Java 程序開(kāi)發(fā)變得簡(jiǎn)單又可靠平臺(tái)無(wú)關(guān)性。java屏蔽了具體的平臺(tái)環(huán)境的要求。面向?qū)ο?。面向?qū)ο蟮募夹g(shù)具有繼承性、封裝性和多態(tài)性等多種優(yōu)點(diǎn),分布式。Java 建立在擴(kuò)展的 TCP/IP 網(wǎng)絡(luò)平臺(tái)上。安全性。Java 有建立在公共密鑰技術(shù)基礎(chǔ)上的確認(rèn)技術(shù),提 供了足夠的安全保障。

5、支持多線程。多線程機(jī)制使應(yīng)用程序能同時(shí)進(jìn)行不同的操作及處理不同的事件。健壯性。Java 是強(qiáng)類型語(yǔ)言,Java 沒(méi)有指針,Java 進(jìn)行自動(dòng)內(nèi)存回收J(rèn)ava 在編譯和運(yùn)行時(shí),都要對(duì)可能出現(xiàn)的問(wèn)題進(jìn)行檢查。動(dòng)態(tài)性。Java 在類庫(kù)中可以自由地加入新方法和實(shí)例變量,而不影響用戶程序的 執(zhí)行。1.1.4 Java程序的分類根據(jù)程序結(jié)構(gòu)和運(yùn)行環(huán)境的不同,Java 程序可以分為兩類 :Java 應(yīng)用程序(Java Application)和 Java 小應(yīng)用程序(Java Applet)Java Application 以 main() 方法作為程序入口,由 Java 解釋器加載執(zhí)行。Java 應(yīng)用程

6、序是完整的程序,能夠獨(dú)立運(yùn)行。Java Applet 不使用 main() 方法作為程序入口,需要嵌入到 HTML 網(wǎng)頁(yè)中運(yùn)行,由 Appletviewer 或其他支持 Java 的瀏覽器加載執(zhí)行,不能獨(dú)立運(yùn)行。1.1.5 Java程序的工作過(guò)程Java 語(yǔ)言包括 3 種核心機(jī)制 :Java 虛擬機(jī)、垃圾收集機(jī)制和代碼安全檢測(cè)。編寫 Java 源文件。將編輯好的 Java 源程序以擴(kuò)展名“.java”保存起來(lái),即保存 成“*.java”文件。編譯 Java 源程序。使用 Java 編譯器編譯“*.java”源程序,從而得到字節(jié)碼文 件“*.class”運(yùn)行 Java 程序 Java 程序的開(kāi)發(fā)

7、流程1.1.6 Java程序開(kāi)發(fā)過(guò)程Java 最常用的開(kāi)發(fā)平臺(tái)是 JDK,Java 語(yǔ)言的主流開(kāi)發(fā)環(huán)境是 JDK + Eclipse,下面介 紹如何下載和安裝 JDK 及配置 JDK 的環(huán)境變量。JDK 是 Sun 公司(現(xiàn)在是 Oracle 公司)提供的 Java 開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境,是所有 Java 應(yīng)用程序的基礎(chǔ)。JDK 為免費(fèi)開(kāi)源的開(kāi)發(fā)環(huán)境,任何開(kāi)發(fā)人員都可以直接從 Oracle 公司的官方網(wǎng)站下 載程序安裝包。1-2 Java 開(kāi)發(fā)平臺(tái)結(jié)構(gòu)圖案例1-2 JDK 的安裝與配置安裝后會(huì)在 C:Program Filesjava 路徑下創(chuàng)建名為“jdk1.8.0_171”和“jre1.8.

8、0_171”的兩個(gè)文件夾。jdk1.8.0_171 文件夾下的目錄結(jié)構(gòu)案例1-2 JDK 的安裝與配置在 Windows 系統(tǒng)中,右擊“我的電腦”圖標(biāo),從彈出的快捷菜單中選擇“屬性”命令, 在彈出的“系統(tǒng)屬性”對(duì)話框中選擇“高級(jí)”選項(xiàng)卡“高級(jí)”選項(xiàng)卡案例1-2 JDK 的安裝與配置單擊“環(huán)境變量”按鈕, 出現(xiàn)如圖 所示的“環(huán)境變量”對(duì)話框,在此分別對(duì) JAVA_HOME、Path、CLASSPATH 三個(gè)環(huán)境變量進(jìn)行設(shè)置。案例1-2 JDK 的安裝與配置JAVA_HOME 環(huán)境變量的設(shè)置Path 環(huán)境變量的設(shè)置案例1-2 JDK 的安裝與配置系統(tǒng)環(huán)境變量 CLASSPATH 的設(shè)置。需要新建一

9、個(gè)系統(tǒng)變量,將其命名為 CLASSPATH,并設(shè)置其值為“.;%Java_HOME% lib;%Java_HOME%jrelib” 或 者“.;%Java_HOME%libtools.jar;%Java_HOME%libdt.jar; %Java_HOME%jrelibrt.jar;”注意 :在上面變量值中,不要漏掉“.”,它代表當(dāng)前路徑,也就是在當(dāng)前路徑下尋找 需要的類案例1-2 JDK 的安裝與配置檢查 Java 運(yùn)行環(huán)境設(shè)置。在環(huán)境變量設(shè)置完成之后,需要測(cè)試 JVM 是否能正常 工作。打開(kāi) DOS 窗口,輸入如下命令 :java version若出現(xiàn)如圖所示的信息,就說(shuō)明環(huán)境變量設(shè)置成功

10、了。案例1-1 JavaApplication程序編寫舉例創(chuàng) 建 一 個(gè) Java Application 源 程 序( 擴(kuò) 展 名 為“.java”)。 創(chuàng) 建 一 個(gè) 名 為 HelloWorldApp.java 的文件,可在任何字符編輯器上輸入并保存下列 Java 源程序代碼 :public class HelloWorldApp public static void main(String args) System.out.println(Hello Word!); / 在控制臺(tái)上輸出字符串“Hello Word!” /main() 方法結(jié)束 /class 定義結(jié)束應(yīng)用程序的入口是 m

11、ain() 方法,它有固定的書(shū)寫方式 :public static void main(String args) . 案例1-1 JavaApplication程序編寫舉例對(duì)已創(chuàng)建好的 Java 源程序進(jìn)行編譯。該步驟是用 Java 編譯器對(duì) Java 源程序進(jìn)行編 譯,生成對(duì)應(yīng)的字節(jié)碼文件(擴(kuò)展名為“.class”)。如果編譯成功,會(huì)產(chǎn)生一個(gè)文件名相同 的帶“.class”擴(kuò)展名的字節(jié)碼文件。進(jìn)行編譯命令格式如下:javac HelloWorldApp.java解釋執(zhí)行已編譯成功的字節(jié)碼文件。用 Java 解釋器對(duì) Java 字節(jié)碼文件解釋執(zhí)行。 將上述得到的 HelloWorldApp.c

12、lass 用 Java 解釋器執(zhí)行 :java HelloWorld案例1-1 JavaApplication程序編寫舉例檢查程序的運(yùn)行結(jié)果。本程序的運(yùn)行結(jié)果HelloWorld.java 程序的運(yùn)行結(jié)果案例1-1 JavaApplet程序編寫編寫 Java Applet 源程序,將其保存為擴(kuò)展名為“.java”的文件。編譯 Java Applet 源程序,生成字節(jié)碼文件(擴(kuò)展名為“.class”)。/ 文件 HelloWorldApplet.javaimport java.awt.*; / 引入 java.awt 包中的類 import java.applet.*; / 引入 java.ap

13、plet 包中的類 public class HelloWorldApplet extends Applet / 繼承 Applet public void paint(Graphics g) / 重寫 paint 方法 / 在 (50, 40) 位置輸出字符串 g.drawString(Hello World !, 50, 40 ); 案例1-1 JavaApplet程序編寫編寫 Java Applet 源程序,將其保存為擴(kuò)展名為“.java”的文件。編譯 Java Applet 源程序,生成字節(jié)碼文件(擴(kuò)展名為“.class”)。/ 文件 HelloWorldApplet.javaimpo

14、rt java.awt.*; / 引入 java.awt 包中的類 import java.applet.*; / 引入 java.applet 包中的類 public class HelloWorldApplet extends Applet / 繼承 Applet public void paint(Graphics g) / 重寫 paint 方法 / 在 (50, 40) 位置輸出字符串 g.drawString(Hello World !, 50, 40 ); 案例1-1 JavaApplet程序編寫使用 JDK 編譯 Java Applet :使用 JDK 提供的 appletvi

15、ewer 運(yùn)行程序 :提醒 :Java Applet 必須創(chuàng)建一個(gè) Applet 或 JApplet 的子類。Java Applet 中不需要有 main() 方法。javac HelloWorldApplet.javaappletviewer HelloWorldApplet.htm目錄1.1 認(rèn)識(shí)Java語(yǔ)言1.2 安裝Eclipse1.2.1 Eclipse簡(jiǎn)介1.2.2 Eclipse的版本發(fā)展1.2.3 Eclipse的下載和安裝過(guò)程1.2.1 Eclipse簡(jiǎn)介在開(kāi)發(fā) Java 程序的過(guò)程中,有很多開(kāi)發(fā)工具可供選擇。用戶可以根據(jù)項(xiàng)目的性質(zhì) 和用途選擇適合的開(kāi)發(fā)工具。主流的開(kāi)發(fā)工具有

16、 TextPad、JCreator、NetBeans、Eclipse、 JBuilder、MyEclipse 等,其中使用最廣泛的是 Eclipse。Eclipse 是一個(gè)免費(fèi)的、開(kāi)放源代碼的、基于 Java 的可擴(kuò)展集成開(kāi)發(fā)平臺(tái)。Eclipse 本 身只是一個(gè)框架和一組服務(wù),用于通過(guò)插件、組件構(gòu)建開(kāi)發(fā)環(huán)境。Eclipse 有幾個(gè)下載版本,本書(shū)使用 Eclipse SDK 版本。1.2.2 Eclipse的版本發(fā)展Eclipse 是目前最受歡迎的跨平臺(tái)的 Java 自由集成開(kāi)發(fā)環(huán)境(IDE)之一。Eclipse 最 初是由 IBM 公司開(kāi)發(fā)的。2001 年 11 月被貢獻(xiàn)給開(kāi)源社區(qū),現(xiàn)在由非營(yíng)

17、利軟件供應(yīng)商聯(lián)盟 Eclipse 基金會(huì)(Eclipse Foundation)管理。Eclipse 3.1 版本代號(hào)為 IO,中文譯名為“木衛(wèi)一,伊奧”。Eclipse 3.5 版本代號(hào)為 Galileo,中文譯名為“伽利略”。Eclipse 3.7 版本代號(hào)為 Indigo,中文譯名為“靛青”。Eclipse 4.2 版本代號(hào)為 Juno,中文譯名為“朱諾”。Eclipse 4.4 版本代號(hào)為 Luna,中文譯名為“盧娜,月神”。 Eclipse 4.5 版本代號(hào)為 Mars,中文譯名為“火星”。提醒 :Eclipse 要求計(jì)算機(jī)上必須預(yù)先安裝好 1.5 或更高版本的 JRE,否則 Ecl

18、ipse 不 能工作。1.2.3 Eclipse的下載和安裝過(guò)程Eclipse 的下載。Eclipse 的安裝程序可以從 Eclipse 官方網(wǎng)站上獲 得。Eclipse 可以安裝在各種操作系統(tǒng)下。若在 Windows 系統(tǒng)下安裝 Eclipse 作為 Java 開(kāi)發(fā)環(huán)境,除了需要安裝 Eclipse 之外,還需要安裝 Java 的 JDK 或 JRE。Eclipse 的安裝。Eclipse 屬于綠色軟件,安裝程序不會(huì)往注冊(cè)表中寫入信息。 Eclipse 安裝程序是一個(gè)壓縮包,只需要進(jìn)行解壓縮就可以運(yùn)行 Eclipse 了。在解壓縮后的 eclipse 文件夾中可以找到 eclipse.exe

19、,雙擊該可執(zhí)行文件運(yùn)行 Eclipse。1.2.3 Eclipse的下載和安裝過(guò)程Eclipse 壓縮包解壓后的文件及目錄第一次啟動(dòng) Eclipse 時(shí)會(huì)提示設(shè)置工作空間,我們可以自定義一個(gè)目錄,也可以選擇默認(rèn)目錄。設(shè)置完成后,單擊 OK 按鈕進(jìn)入 Eclipse 的 Welcome(歡迎)界面。1.2.3 Eclipse的下載和安裝過(guò)程單擊歡迎中的關(guān)閉按鈕(左上方的 )可關(guān)閉 Welcome 界面,進(jìn)入 Eclipse 開(kāi)發(fā)界 面1.2.4 Eclipse的基本使用下面以案例 1-3 為例演示 Eclipse 的使用方法。:在 Eclipse 中,創(chuàng)建名字為“HelloWorld”的 Jav

20、a Project(Java 項(xiàng)目),并在該項(xiàng)目中創(chuàng)建包和類,最后輸出“Hello World”到控制臺(tái)。啟動(dòng) Eclipse。雙擊 eclipse.exe 啟動(dòng) Eclipse,出現(xiàn)如圖 1-17 所示的“Workspace Launcher”對(duì)話框,在該對(duì)話框中設(shè)置項(xiàng)目的默認(rèn)路徑(即工作空間對(duì)應(yīng)的路徑)。最后 單擊 OK 按鈕,即進(jìn)入 Eclipse 主界面。1.2.4 Eclipse的基本使用創(chuàng)建 Java 項(xiàng)目。進(jìn)入 Eclipse 環(huán)境后,在包視圖中會(huì)顯示當(dāng)前工作空間中已有的 項(xiàng)目,可以在已有項(xiàng)目下新建“包”,也可以選擇 File 菜單下的 New Java Project 命令,

21、或者單擊工具欄上的“New Java Project”按鈕,新建一個(gè)項(xiàng)目。選擇 New Java Project 命令后,系統(tǒng)將彈出如圖 所示的創(chuàng)建 Java 項(xiàng)目窗口。創(chuàng)建 Java 項(xiàng)目窗口1.2.4 Eclipse的基本使用創(chuàng)建 Java 包。Java 類的定義必須存在于包中。如果沒(méi)有創(chuàng)建包,當(dāng)在項(xiàng)目中創(chuàng) 建新的 Java 類時(shí),系統(tǒng)就采用隱含的無(wú)名包。創(chuàng)建包窗口1.2.4 Eclipse的基本使用創(chuàng)建類并執(zhí)行 Java 程序。在 Package Explorer 管理器視圖中選中“cn.cqvie. chapter01.exam1”包名,然后右擊,在彈出的快捷菜單中選擇 New 命令,

22、再選擇 Class 選項(xiàng), 彈出如圖 1-20 所示的創(chuàng)建類窗口,在 Name 文本框輸入類名“HelloWorld”,單擊 Finish 按鈕, 完成類的定義。創(chuàng)建類窗口1.2.4 Eclipse的基本使用此時(shí)就可以在代碼編輯器視圖中輸入 HelloWorld.java 的源代碼了。輸入完成后,保存 即可。類的結(jié)構(gòu)圖1.2.4 Eclipse的基本使用案例 的源代碼如下 :最后選中項(xiàng)目中含有 main() 方法的類名,單擊工具欄上 Run 按鈕右側(cè)的下三角按鈕, 在彈出的下拉菜單中選擇 Run As Java Application 命令,即可運(yùn)行 Application 類型的 Java

23、程序。package cn.cqvie.chapter01.exam1;public class HelloWorld public static void main(String args) / 輸出 Hello World 到控制臺(tái) System.out.println(Hello World); 思考題單選題1在 JDK 目錄中,Java 運(yùn)行環(huán)境的根目錄是( )。 ALib BDemo CBin DJre2下列關(guān)于 Java 語(yǔ)言特點(diǎn)的敘述中,錯(cuò)誤的是( )。 AJava 是面向過(guò)程的編程語(yǔ)言 BJava 支持分布式計(jì)算 CJava 是跨平臺(tái)的編程語(yǔ)言 DJava 支持多線程3main

24、() 方法是 Java Application 程序執(zhí)行的入口點(diǎn)。關(guān)于 main() 方法的方法頭, 以下( )項(xiàng)是合法的。Apublic static void main() Bpublic static void main(String args) Cpublic static int main(String arg) Dpublic void main(String arg)思考題單選題4編譯 Java Application 源程序文件將產(chǎn)生相應(yīng)的字節(jié)碼文件,這些字節(jié)碼文件的擴(kuò) 展名為( )。A“.java” B“.class” C“.html” D“.exe”5下列說(shuō)法中不正確的是(

25、 )。 AJava 源程序文件名與應(yīng)用程序類名可以不相同 BJava 程序中,public 類最多只能有一個(gè) CJava 程序中,package 語(yǔ)句可以有 0 個(gè)或 1 個(gè),并在源文件之首 DJava 程序?qū)ψ帜复笮懨舾?Java 程序語(yǔ)句的結(jié)束符是( )A“.” B“;” C“:” D“=”思考題單選題7Java 程序中,注釋的作用是( )。A在程序執(zhí)行時(shí)顯示其內(nèi)容 B在程序編譯時(shí)提示 C在程序執(zhí)行時(shí)解釋 D給程序加說(shuō)明,提高程序的可讀性8下列說(shuō)法中不正確的是( )AJava 應(yīng)用程序必須有且只有一個(gè) main() 方法。BSystem.out.println() 與 System.ou

26、t.print() 是相同的標(biāo)準(zhǔn)輸出方法CJava 源程序文件的擴(kuò)展名為“.java” DJava Applet 沒(méi)有 main() 方法。思考題單選題9JDK 的 bin 目錄下提供的 Java 編譯器是( )。Ajavac BJavadoc Cjava DAppletviewer10一個(gè) Java 源文件中可以有( )公共類。A一個(gè) B兩個(gè) C多個(gè) D零個(gè)11Java 語(yǔ)言是在( )年正式推出的。 A1991 B1992 C2001 D1995思考題填空題1Java 細(xì)分為三個(gè)版本,三個(gè)版本的簡(jiǎn)稱分別為 _、_、_。2Java 編譯器將用 Java 語(yǔ)言編寫的源程序編譯成 _。3Java

27、源程序的運(yùn)行至少要經(jīng)過(guò) _ 和 _ 兩個(gè)階段。4Java 源程序文檔和字節(jié)碼文件的擴(kuò)展名分別為“_”和“_”5Java 程序可以分為 Java Application 和 _。思考題實(shí)訓(xùn)題1下載并安裝、測(cè)試 JDK。 2編寫控制臺(tái)程序,程序的功能是,輸出“我喜歡Java程序設(shè)計(jì)!”和“我會(huì)刻苦學(xué)習(xí)!” 兩行文字信息。3.下載并安裝、測(cè)試Eclipse。4.在Eclipse中編寫控制臺(tái)程序,實(shí)現(xiàn)案例 1-3 的功能。5.在 Eclipse 中創(chuàng)建一個(gè) HelloEclipse.java 的應(yīng)用程序,其功能是在屏幕上顯示“努 力學(xué)習(xí) Eclipse?!?,編譯并運(yùn)行該程序。Thank you第2章-

28、 JAVA基礎(chǔ)知識(shí)前言在認(rèn)識(shí)Java語(yǔ)言的發(fā)展與特點(diǎn)并運(yùn)行第一個(gè)Java程序后,本章將深入學(xué)習(xí)Java基礎(chǔ)編程,包括標(biāo)識(shí)符、常量、變量、常用數(shù)據(jù)類型、控制臺(tái)輸入輸出的使用、常用運(yùn)算符與表達(dá)式、類型轉(zhuǎn)換機(jī)制。本章分為三個(gè)項(xiàng)目項(xiàng)目一帶你認(rèn)識(shí)標(biāo)識(shí)符、常量、變量和數(shù)據(jù)類型項(xiàng)目二帶你學(xué)習(xí)控制臺(tái)的輸入輸出項(xiàng)目三帶你學(xué)習(xí)常用運(yùn)算符、表達(dá)式和類型轉(zhuǎn)換機(jī)制本節(jié)概述和學(xué)習(xí)目標(biāo)理解標(biāo)識(shí)符、常量、變量;正確使用常用數(shù)據(jù)類型;正確實(shí)現(xiàn)控制臺(tái)的輸入輸出;理解常用運(yùn)算符與表達(dá)式;了解類型轉(zhuǎn)換機(jī)制;正確編寫簡(jiǎn)單的順序程序。目錄1.1 標(biāo)識(shí)符、常量、變量和數(shù)據(jù)類型1.1.1 標(biāo)識(shí)符1.1.2 常量1.1.3 變量1.1.4 數(shù)

29、據(jù)類型1.2 控制臺(tái)的輸入輸出1.3 常用運(yùn)算符、表達(dá)式和類型轉(zhuǎn)換機(jī)制1.1.1 標(biāo)識(shí)符標(biāo)識(shí)符(identifier)是給程序中的實(shí)體(變量、常量、方法、數(shù)組等)所起的一個(gè)名字。注意:標(biāo)識(shí)符必須以字母或下劃線開(kāi)頭,由字母、數(shù)字或下劃線組成;用戶不能采用Java語(yǔ)言已有的關(guān)鍵字作為同名的用戶標(biāo)識(shí)符;標(biāo)識(shí)符長(zhǎng)度沒(méi)限制;標(biāo)識(shí)符區(qū)分大小寫。1.1.1 標(biāo)識(shí)符例如,sum, PI , aa , bb43 , ch , a_53ff , _lab, area都是合法的標(biāo)識(shí)符,4mm , ma , _ch#a,1sum均是不合法的標(biāo)識(shí)符。1.1.2 常量常量是指在整個(gè)運(yùn)行過(guò)程中其值始終保持不變的量。Java

30、中的常量分為整型常量、浮點(diǎn)型常量、布爾常量和字符常量。常量的定義格式如下:final =,=;例如:final int a=10, b=20; final char f1=f, d=F;提醒:在Java語(yǔ)言中,無(wú)類型后綴的實(shí)型常量默認(rèn)為雙精度類型,也可以加后綴D或d。指定單精度型的常量,必須在常量后面加上后綴F或f。實(shí)型常量可表示為指數(shù)型。1.1.3 變量變量是由標(biāo)識(shí)符命名的數(shù)據(jù)項(xiàng),它是Java程序中的存儲(chǔ)單元,在該存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù)值在程序的執(zhí)行過(guò)程中可以發(fā)生改變。每個(gè)變量都必須聲明數(shù)據(jù)類型,變量的數(shù)據(jù)類型決定了它所能表示值的類型以及可以對(duì)其進(jìn)行什么樣的操作。變量既可以表示基本數(shù)據(jù)類型,又

31、可以表示對(duì)象類型(如字符串)的數(shù)據(jù)。當(dāng)變量表示的是基本數(shù)據(jù)類型時(shí),變量中存儲(chǔ)的是數(shù)據(jù)的值;當(dāng)變量是對(duì)象(引用)類型時(shí),變量中存儲(chǔ)的是對(duì)象的地址,該地址指向?qū)ο笤趦?nèi)存中的位置。1.1.3 變量Java中的變量在使用前必須先聲明,其聲明格式為:,;=,=;例如: int a, b, c;float f1=2.16f;double a1, a2=0.0;其中,多個(gè)變量間用逗號(hào)隔開(kāi),a2=0.0是對(duì)雙精度型變量a2賦初值0.0,末尾的分號(hào)是不能少的,只有這樣才夠成一個(gè)完整的Java語(yǔ)句。任何變量都有其固有的作用范圍,即作用域。當(dāng)聲明一個(gè)變量的同時(shí),就也指明了它的有效作用范圍。有關(guān)變量的作用域還將在后續(xù)

32、章節(jié)里講解。1.1.4 數(shù)據(jù)類型基本類型包括8種:布爾型(boolean)、字節(jié)型(byte)、字符型(char)、短整型(short)、整型(integer)、長(zhǎng)整型(long)、浮點(diǎn)型(float)和雙精度型(double)。引用數(shù)據(jù)類型包括3種:類(class)、接口(interface)、數(shù)組(array)。任務(wù)1的實(shí)現(xiàn)任務(wù)1:編寫一個(gè)應(yīng)用程序,實(shí)現(xiàn)從鍵盤上輸入圓的半徑值后,程序自動(dòng)計(jì)算圓面積并將結(jié)果顯示在控制臺(tái)上,即圓面積計(jì)算器。解決步驟:任務(wù)1 練習(xí)編寫程序,完成對(duì)兩個(gè)變量分別賦值為1和2,計(jì)算12的最終結(jié)果?什么是運(yùn)算符?什么是表達(dá)式?若已知a=3,b=4,c=false;試計(jì)算

33、下列表達(dá)式的值。d=ayd=ab|!c目錄1.1 標(biāo)識(shí)符、常量、變量和數(shù)據(jù)類型1.2 控制臺(tái)的輸入輸出1.2.1 輸入輸出概述1.2.2 控制臺(tái)輸出的實(shí)現(xiàn)1.2.3 控制臺(tái)輸入的實(shí)現(xiàn)1.3 常用運(yùn)算符、表達(dá)式和類型轉(zhuǎn)換機(jī)制1.2.1 輸入輸出概述要完成本任務(wù),必須輸入5個(gè)字符源碼和輸出密碼,即涉及到數(shù)據(jù)的輸入和輸出。數(shù)據(jù)的輸入輸出在程序設(shè)計(jì)和開(kāi)發(fā)中占有重要的地位,一個(gè)程序如果沒(méi)有輸出語(yǔ)句,就缺少和用戶交流過(guò)程中最后的也是最重要的交互步驟,同時(shí)也缺少對(duì)程序正確性的驗(yàn)證;一個(gè)程序如果沒(méi)有輸入語(yǔ)句,則數(shù)據(jù)來(lái)源呆板,使得程序設(shè)計(jì)缺少靈活性。所以一般情況下,一個(gè)程序都至少有一個(gè)輸出語(yǔ)句和必要的輸入語(yǔ)句。

34、Java使用System.out來(lái)表示標(biāo)準(zhǔn)輸出設(shè)備,而使用System.in來(lái)表示標(biāo)準(zhǔn)輸入設(shè)備。默認(rèn)情況下,輸出設(shè)備是顯示器,而輸入設(shè)備是鍵盤。1.2.2 控制臺(tái)輸出的實(shí)現(xiàn)為了完成控制臺(tái)的輸出,只需要使用println方法就可以在控制臺(tái)上顯示基本值或字符串。在緒論章節(jié)中,已經(jīng)介紹過(guò)輸出的方法,比如在控制臺(tái)上輸出字符串Hello Java!,具體代碼如下所示。提醒:println方法會(huì)在輸出的末尾換行,如果不需要換行,可以使用print方法輸出。1.2.2 控制臺(tái)輸入的實(shí)現(xiàn)Java并不直接支持控制臺(tái)輸入,但是可以使用Scanner類創(chuàng)建它的對(duì)象,以讀取來(lái)自System.in的輸入。如下所示:語(yǔ)法

35、new Scanner(System.in)表明創(chuàng)建了一個(gè)Scanner類型的對(duì)象,語(yǔ)法Scanner in 聲明in是一個(gè)Scanner類型的變量。整行的Scanner in = new Scanner(System.in)表明創(chuàng)建了一個(gè)Scanner對(duì)象,并且將它的引用賦值給變量in。對(duì)象可以調(diào)用自身的方法。調(diào)用對(duì)象的方法就是讓這個(gè)對(duì)象完成某個(gè)任務(wù)??梢哉{(diào)用表2-3中的方法以讀取各種不同類型的輸入。1.2.2 控制臺(tái)輸入的實(shí)現(xiàn)例如,從鍵盤讀取一個(gè)整數(shù),并賦值給變量a,可以使用如下代碼實(shí)現(xiàn)。任務(wù)2的實(shí)現(xiàn)任務(wù)2:諜戰(zhàn)片中,特工時(shí)常通過(guò)“加密”電報(bào),也就是一連串的數(shù)字和字符,向大本營(yíng)傳遞“情報(bào)”

36、。本任務(wù)將完成一個(gè)簡(jiǎn)單的加密程序,就是將輸入的“china”譯成密碼,并輸出。密碼規(guī)律是:用原來(lái)字母后面第4個(gè)字母代替。具體步驟如下:提示用戶輸入5個(gè)源碼;根據(jù)加密規(guī)則計(jì)算;輸出5個(gè)加密碼;任務(wù)2的練習(xí)求解一元二次方程提示用戶鍵盤輸入a、b、c,求一元二次方程 ax2bxc=0 的實(shí)根。作為順序程序,對(duì)方程是否有實(shí)根不作判斷。隨機(jī)產(chǎn)生一個(gè)4位自然數(shù),輸出它的逆數(shù)。如設(shè)某數(shù)2015,則其逆數(shù)為5102。目錄1.1 標(biāo)識(shí)符、常量、變量和數(shù)據(jù)類型1.2 控制臺(tái)的輸入輸出1.3 常用運(yùn)算符、表達(dá)式和類型轉(zhuǎn)換機(jī)制1.3.1 運(yùn)算符與表達(dá)式1.3.2 數(shù)據(jù)類型轉(zhuǎn)換1.3.3 數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊1

37、.3.1 運(yùn)算符與表達(dá)式 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符“”把右邊的數(shù)據(jù)賦值給左加的變量,左邊只能是變量,右邊可以是變量也可以是表達(dá)式。賦值運(yùn)算的一般格式為:變量數(shù)據(jù)或表達(dá)式;例如:int a; /定義整型變量float b; /定義float型變量char ch; /定義字符型變量1.3.1 運(yùn)算符與表達(dá)式 擴(kuò)展賦值運(yùn)算符在賦值符“”前加上其他運(yùn)算符,即構(gòu)成擴(kuò)展賦值運(yùn)算符,它將運(yùn)算的結(jié)果直接存到左邊的已命名變量中去。Java支持的擴(kuò)展賦值運(yùn)算符如表2-4。1.3.1 運(yùn)算符與表達(dá)式 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符算術(shù)運(yùn)算符用于數(shù)值類型數(shù)據(jù)(整數(shù)或浮點(diǎn)數(shù))的運(yùn)算,算術(shù)運(yùn)算符符根據(jù)需要的操作

38、數(shù)個(gè)數(shù)的不同,可以分為單目操作符(三個(gè))和雙目操作符(五個(gè))兩種。如表2-5所示。1.3.1 運(yùn)算符與表達(dá)式 下面以 + 操作符為例,說(shuō)明單目操作符 + 和 - 的前綴式后綴式在使用上的區(qū)別:例如:int a, b, x=2, y=2;a = (+x) * 2; /先對(duì)x加1,再做乘法;前綴方式相當(dāng)于“先增加,再使用”。b = (y+) * 2; /先做乘法,再對(duì)y加1;后綴方式相當(dāng)于“先使用,再增加”。執(zhí)行之后的結(jié)果是a=6, b=4, x=3, y=3。顯然,單目操作符的前綴式和后綴式會(huì)影響到單目操作符與整個(gè)表達(dá)式運(yùn)算的先后順序,進(jìn)而影響到整個(gè)表達(dá)式的最終結(jié)果。1.3.1 運(yùn)算符與表達(dá)式

39、算術(shù)運(yùn)算符用算術(shù)運(yùn)算符和括號(hào)將數(shù)據(jù)對(duì)象連接起來(lái)的式子,稱為算術(shù)表達(dá)式。如表達(dá)式:a*d/c-2.5+a就是一個(gè)合法的算術(shù)表達(dá)式。表達(dá)式的運(yùn)算按照運(yùn)算符的結(jié)合性和優(yōu)先級(jí)來(lái)進(jìn)行。運(yùn)算符具有結(jié)合方向,即結(jié)合性。例如表達(dá)式7+9+1計(jì)算機(jī)在運(yùn)算時(shí),是先計(jì)算7+9還是先計(jì)算9+1呢?這就是一個(gè)左結(jié)合性還是右結(jié)合性的問(wèn)題。一般運(yùn)算的結(jié)合性是自左向右的左結(jié)合,但也有右結(jié)合性的運(yùn)算,今后會(huì)遇到。如果只有結(jié)合性顯然不夠,上面的例子屬于同級(jí)運(yùn)算(只有加運(yùn)算),但是如7+9*2,豈能只考慮運(yùn)算的結(jié)合性?這就要考慮運(yùn)算符的優(yōu)先級(jí)的問(wèn)題了。其實(shí)在小學(xué)里我們就知道混合運(yùn)算規(guī)則:先算括號(hào)里面的,然后乘除,最后算加減。1.3

40、.1 運(yùn)算符與表達(dá)式 常用運(yùn)算符的優(yōu)先級(jí)從高到低是:() 負(fù)號(hào) *、/ 、% +、-其中:* 、/ 、%優(yōu)先級(jí)相同,+、- 優(yōu)先級(jí)相同。表達(dá)式求值時(shí),先按運(yùn)算符優(yōu)先級(jí)別高低依次執(zhí)行,遇到相同優(yōu)先級(jí)的運(yùn)算符時(shí),則按“左結(jié)合”處理。如表達(dá)式:a+b*c/2,其運(yùn)算符執(zhí)行順序?yàn)椋? / +。1.3.1 運(yùn)算符與表達(dá)式 關(guān)系運(yùn)算符關(guān)系運(yùn)算是用來(lái)比較兩個(gè)數(shù)的大小,關(guān)系操作符是雙目操作符。其中“”、“=”、“”、“ (b=5)的值是多少?分析:由于表達(dá)式有小括號(hào),所以自左向右先做括號(hào)里面的,即先給變量a賦值3,接著給變量b賦值5,最后是a與b值的比較,由于35為假,所以表達(dá)式的值是false。表達(dá)式c!=

41、C的值是多少?分析:該表達(dá)式是兩個(gè)字符的比較,事實(shí)上也就是字符ASCII值的比較,由于字符c的值是99,而字符C的值是67,所以它們是不相等的,故表達(dá)式的值為true。1.3.1 運(yùn)算符與表達(dá)式 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符用于進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算符常與關(guān)系運(yùn)算符一起使用,作為流程控制語(yǔ)句的判斷條件。Java中的邏輯運(yùn)算符見(jiàn)表1.3.1 運(yùn)算符與表達(dá)式 邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算“&”與“”是短路(Short-Circuit)邏輯運(yùn)算符,它們的運(yùn)算順序是從左向右進(jìn)行的,如果左邊已經(jīng)滿足了可執(zhí)行的條件,則后面有的所有條件都會(huì)跳過(guò)去而不會(huì)再執(zhí)行,所以稱它們?yōu)槎搪愤壿嬤\(yùn)算符。“&”與“|”

42、被稱為非簡(jiǎn)潔運(yùn)算符,它們需要把所有條件全部執(zhí)行一遍。很顯然,為了提高程序執(zhí)行效率,應(yīng)優(yōu)先使用邏輯與“&”和邏輯或“|”運(yùn)算符,而且對(duì)于邏輯與“&”,應(yīng)盡可能預(yù)見(jiàn)性地把條件值為false的語(yǔ)句寫在邏輯表達(dá)式的前邊;對(duì)于邏輯非“|”,就盡可能地把條件值為true的語(yǔ)句寫在邏輯表達(dá)式的前邊。但是,如果需要每個(gè)條件都必須運(yùn)行時(shí),則只能選擇使用布爾邏輯與“&”、布爾邏輯或“|”了。1.3.1 運(yùn)算符與表達(dá)式 邏輯運(yùn)算符與邏輯表達(dá)式下面比較說(shuō)明“&”與“&”的區(qū)別。左邊程序使用“&” 右邊程序使用“&”int a=5, b=7; int a=5, b=7;boolean x = a b & a+ = =

43、b-; boolean x=ab&a+= =b-;運(yùn)算結(jié)果:a=5,b =7,x為flase。 運(yùn)算結(jié)果:a=6,b=6,x為flase。因?yàn)樵谟?jì)算布爾型的變量x的取值時(shí),&(非簡(jiǎn)潔與)兩邊的表達(dá)式的值無(wú)論真或假,都必須被計(jì)算;而對(duì)于&,當(dāng)判斷表達(dá)式左邊(57)已經(jīng)為false時(shí),根據(jù)邏輯與的同時(shí)為真(true)結(jié)果才為真(true)的規(guī)則,就已經(jīng)知道整個(gè)表達(dá)式的值為false,所以不用再判斷運(yùn)行后面的其它條件了。1.3.1 運(yùn)算符與表達(dá)式 條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符是三目運(yùn)算符,即它需要3個(gè)數(shù)據(jù)或表達(dá)式構(gòu)成條件表達(dá)式。它的一般形式為:表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3如果表達(dá)式1成立

44、,則表達(dá)式2的值是整個(gè)表達(dá)式的值,否則表達(dá)式3的值是整個(gè)表達(dá)式的值。如下所示:1.3.1 運(yùn)算符與表達(dá)式 位運(yùn)算符與位表達(dá)式在計(jì)算機(jī)內(nèi)部,數(shù)據(jù)是以二進(jìn)制編碼方式存儲(chǔ)的,Java編程語(yǔ)言允許編程人員直接對(duì)二進(jìn)制編碼位運(yùn)算,在Java中提供的所有位操作符中,除 操作符以外,其余均為二元操作符。位操作符的操作數(shù)只能為整型和字符型數(shù)據(jù),Java中的位運(yùn)算符如表。1.3.1 運(yùn)算符與表達(dá)式 位運(yùn)算符與位表達(dá)式位操作符與的比較:用操作符時(shí),如果符號(hào)位為1,則右移后,符號(hào)位保持為1;與此類似,如符號(hào)位為0,則右移后符號(hào)位保持為0;用操作符時(shí),右移后,左邊總是填0。當(dāng)兩個(gè)不同長(zhǎng)度的數(shù)(比如byte型和int型

45、)進(jìn)行位運(yùn)算時(shí),系統(tǒng)會(huì)將數(shù)據(jù)先轉(zhuǎn)變?yōu)檩^長(zhǎng)的類型,使兩數(shù)對(duì)齊,再進(jìn)行位運(yùn)算。比如 a為 byte型而 b為int型,則將a先擴(kuò)展為int型再運(yùn)算。二進(jìn)制數(shù)左移、右移的特點(diǎn)是:向左移一位相當(dāng)于把原數(shù)乘以2,向左移n位,相當(dāng)于把原數(shù)乘以2的n次方;同理,向右移相當(dāng)于把原數(shù)除以2,向右移n位,相當(dāng)于把原數(shù)除以2的n 次方。不過(guò),由于移位時(shí)可能使最高位符號(hào)位發(fā)生變化,所以一般不建議采用移位的方法實(shí)現(xiàn)乘除運(yùn)算。1.3.1 運(yùn)算符與表達(dá)式 位運(yùn)算符與位表達(dá)式例:1101011001011001 結(jié)果為:10001111110111013 結(jié)果為:00000011 /右移時(shí),低位舍棄,高位補(bǔ)符號(hào)1001110

46、13 結(jié)果為:11100011 /右移時(shí),低位舍棄,高位補(bǔ)符號(hào)位無(wú)符號(hào)右移時(shí),低位舍棄,高位補(bǔ)0。如:100111002 結(jié)果為:001001111.3.1 運(yùn)算符與表達(dá)式 其他類型運(yùn)算符與表達(dá)式Java語(yǔ)言中還提供了如下一些操作符,表所示。例:String st1=new String(A test string.);st1. charAt(0);int a = new int10;a0 = 1;double abc=12.345;int ABC = (int)abc; 結(jié)果:ABC=12。String st1=new String(A test string.);Integer i = 1

47、;System.out.println(i instanceof Integer);1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 Java是一種強(qiáng)制類型的轉(zhuǎn)換,在編譯時(shí)它會(huì)檢測(cè)數(shù)據(jù)類型的兼容性。賦值和參數(shù)傳遞時(shí),都要求數(shù)據(jù)類型的匹配。常數(shù)或變量從一種數(shù)據(jù)類型轉(zhuǎn)換到另外一種數(shù)據(jù)類型即為類型轉(zhuǎn)換。Java中的數(shù)據(jù)類型轉(zhuǎn)換有三種情況:隱式轉(zhuǎn)換(自動(dòng)類型轉(zhuǎn)換)、顯示轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)和使用類的方法轉(zhuǎn)換。隱式轉(zhuǎn)換(自動(dòng)類型轉(zhuǎn)換)允許在賦值和計(jì)算時(shí)由編譯系統(tǒng)按一定的優(yōu)先次序自動(dòng)完成,通常,低精度類型到高精度的缺省類型轉(zhuǎn)換由系統(tǒng)自動(dòng)轉(zhuǎn)換。例如:int i = 20; long j = i;1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 隱式轉(zhuǎn)換從

48、低級(jí)到高級(jí)的轉(zhuǎn)換順序如下:byteshort、int、long、float、doubleshortint、long、float、doublecharint、long、float、doubleintlong、float、doublelongfloat、doublefloatdouble顯然byte和short不能隱式地轉(zhuǎn)換為char。算術(shù)運(yùn)算返回值與操作數(shù)類型之間的關(guān)系如表。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 顯示轉(zhuǎn)換是將高精度數(shù)據(jù)類型轉(zhuǎn)換到低精度數(shù)據(jù)類型,它是通過(guò)賦值語(yǔ)句來(lái)實(shí)現(xiàn)。其一般格式如下:(數(shù)據(jù)類型)變量名或表達(dá)式顯示轉(zhuǎn)換從高級(jí)到低級(jí)的轉(zhuǎn)換順序如下:bytecharshortbyte、charin

49、tbyte、short、charlongbyte、short、char、intfloatbyte、short、char、int、longdoublebyte、short、char、int、long、float1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 當(dāng)把高精度數(shù)據(jù)類型轉(zhuǎn)化為低精度數(shù)據(jù)類型時(shí),數(shù)據(jù)的表達(dá)范圍降低,所以,這種由高到低的轉(zhuǎn)換一方面可能會(huì)導(dǎo)致丟失部分信息,除非高精度數(shù)據(jù)類型所表達(dá)的數(shù)據(jù)值在低精度數(shù)據(jù)類型表達(dá)的數(shù)據(jù)范圍之內(nèi);另一方面可能轉(zhuǎn)換不能正確進(jìn)行。例如不能將一個(gè)很大的整數(shù)500000轉(zhuǎn)化char型,因?yàn)樗^(guò)了char范圍(65535),結(jié)果會(huì)出現(xiàn)錯(cuò)誤!以下是Java中的數(shù)據(jù)類型之間合法轉(zhuǎn)換關(guān)系,

50、實(shí)線箭頭表示在轉(zhuǎn)換時(shí)不會(huì)丟失信息,虛線箭頭表示在轉(zhuǎn)換時(shí)可能丟失精度。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 例:float f = 2.345f; int i = (int)f; /i的值為2long j = 9; int k = (int)j; /k的值為9double abc = 123.45; int ABC = (int)abc; /ABC的值為123類方法轉(zhuǎn)換使用Integer類的方法parseInt將String轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)。String str = 123; /123為字符串型。int a = Integer.parseInt(str); /a值為數(shù)值型的123String類型 基本類型使

51、用基本類型的包裝類(如:byte的包裝類為Byte,int的包裝類為Integer等等)的parseXXXXX(String類型參數(shù))方法。XXXXX為相應(yīng)包裝類名,可以1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 將字符串 String 轉(zhuǎn)換成整數(shù)int,有以下兩個(gè)方法:String str = 123;(1)int i = Integer.parseInt(str);(2)int i = Integer.valueOf(str).intValue(); 類似的,把字符串轉(zhuǎn)成double, float, long 的方法大同小異。基本類型 String類型使用String類的重載方法valueOf(基本類型參數(shù)

52、) 可以將整數(shù)int轉(zhuǎn)換成字串 String,有以下三種方法:(1)String s = String.valueOf(i);(2)String s = Integer.toString(i);(3)String s = + i; 類似的,把double, float, long 轉(zhuǎn)成字符串的方法也大同小異。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 操作符優(yōu)先級(jí)操作符的優(yōu)先級(jí)決定了在同一個(gè)表達(dá)式中多個(gè)操作符被執(zhí)行的先后順序,同一級(jí)里的操作符具有相同的優(yōu)先級(jí),同級(jí)的操作符則以從左到右的順序進(jìn)行;操作符的結(jié)合性決定了相同的優(yōu)先級(jí)的操作符的執(zhí)行順序。表2-11列出了Java 操作符從最高到最低的優(yōu)先級(jí),其中,第一行

53、顯示的是特殊的操作符(后綴操作符):圓括號(hào)、方括號(hào)、點(diǎn)。圓括號(hào)被用于改變運(yùn)算的優(yōu)先級(jí),方括號(hào)用于表示數(shù)組的下標(biāo),點(diǎn)用于將對(duì)象名和成員名連接起來(lái)。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換 1.3.2 數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊表達(dá)式由操作數(shù)(常量、變量、方法調(diào)用)和操作符按照一定的語(yǔ)法格式組成的符號(hào)序列。即操作符可以用來(lái)構(gòu)建表達(dá)式,用表達(dá)式來(lái)計(jì)算值;而表達(dá)式又是語(yǔ)句的核心成分;語(yǔ)句又可以按照一定的形式分為多個(gè)語(yǔ)句塊。(1)表達(dá)式表達(dá)式(expression)是由常量、變量、操作符和方法調(diào)用構(gòu)成的結(jié)構(gòu),表達(dá)式是按照J(rèn)ava語(yǔ)言的語(yǔ)法構(gòu)成的,它計(jì)算出單一值。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊在使用表達(dá)式時(shí)要

54、注意以下幾點(diǎn):表達(dá)式返回值的數(shù)據(jù)類型取決于表達(dá)式中使用的操作符及操作數(shù)的原始數(shù)據(jù)類型;在組成表達(dá)式時(shí)各個(gè)部分的數(shù)據(jù)類型一定要互相匹配,否則可能導(dǎo)致異常發(fā)生;表達(dá)式在計(jì)算過(guò)程中可能導(dǎo)致數(shù)據(jù)類型的轉(zhuǎn)換;幾個(gè)簡(jiǎn)單的表達(dá)式可以構(gòu)成更為復(fù)雜的表達(dá)式;在構(gòu)成復(fù)雜表達(dá)式時(shí)一定要注意不同的操作符之間不同的優(yōu)先級(jí),通常會(huì)使用圓括號(hào)來(lái)明確指定哪些操作符被優(yōu)先計(jì)算。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊語(yǔ)句:語(yǔ)句(statement)相當(dāng)于自然語(yǔ)言中的一個(gè)完整句子,它組成了一個(gè)完整的執(zhí)行單元。下面的表達(dá)式類型以一個(gè)分號(hào);結(jié)尾時(shí)可以組成一個(gè)語(yǔ)句:賦值表達(dá)式+或-方法調(diào)用對(duì)象創(chuàng)建表達(dá)式這些語(yǔ)句類型被稱為表達(dá)式語(yǔ)句(e

55、xpression statement)。1.3.2 數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊例:userage = 12.5; /賦值語(yǔ)句theyear+; /累加語(yǔ)句System.out.println(Hello World!); /方法調(diào)用語(yǔ)句FindUser myFind = new FindUser(); /對(duì)象創(chuàng)建語(yǔ)句當(dāng)然,除了以上這些表達(dá)式語(yǔ)句,還有另外的兩種語(yǔ)句:聲明語(yǔ)句(declaration statement)和控制流語(yǔ)句(control flow statement)。聲明語(yǔ)句通常用于定義(聲明)一個(gè)或一些變量。例:int year = 2008; /聲明語(yǔ)句1.3.2 數(shù)據(jù)類型

56、轉(zhuǎn)換表達(dá)式、語(yǔ)句和塊塊:塊(block)是位于成對(duì)花括號(hào)( )之間的零個(gè)或者多個(gè)語(yǔ)句的語(yǔ)句組,可以在允許使用單一語(yǔ)句的任何位置使用塊。例如:任務(wù)3的實(shí)現(xiàn)塊:任務(wù)3回顧:編寫應(yīng)用程序,任意輸入三角形三邊,經(jīng)程序計(jì)算后,輸出三角形面積。具體步驟如下:(1)提示用戶分別輸入三角形的三邊;(2)輸入三邊的值;(3)根據(jù)數(shù)學(xué)海侖公式計(jì)算面積;(4)輸出三角形面積。任務(wù)3 練習(xí)編程完成從鍵盤上輸入三角形的底和高,輸出三角形面積的Java語(yǔ)言程序。從鍵盤輸入本學(xué)期所有課程的成績(jī),輸出課程成績(jī)、總成績(jī)和平均成績(jī)。如下顯示:課程:Java程序設(shè)計(jì) 大學(xué)英語(yǔ) 高數(shù) 計(jì)應(yīng)基礎(chǔ) 體育成績(jī): 98.0 67.0 70.

57、0 88.0 65.0總成績(jī):329.0平均成績(jī):65.8思考題單選題1若 x,I,j,k 都是 int 型變量,則計(jì)算表達(dá)式 x=(i=4,j=16,k=32) 后,x 的值為( )。 A4 B16 C32 D522設(shè)有說(shuō)明:char w; int x; float y; double z;,則表達(dá)式 w*x+z-y 的值的數(shù)據(jù)類型為( ) AFloat Bchar Cint DDouble3設(shè)有:int a=1,b=2,c=3,d=4,m=2,n=2;,執(zhí)行 (m=ab)&(n=cd) 后,n 的值為( )A1 B2 C3 D4思考題4判斷 char 型變量 ch 是否為大寫字母的正確表達(dá)

58、式是( ) 。AA=ch=A)&(ch=A)&(ch=Z) D(A= ch)5設(shè) a=3,b=6,c=9;,計(jì)算下列表達(dá)式的值并將結(jié)果寫到橫線上邊。 (1)a/b_ (2)(a+b)%c_ (3)a%c_ (4)c=a+_ (5)(int)a+(float)a/b_ (6)(a=a+b)-(-c)_思考題6Java 使用 _ 來(lái)表示標(biāo)準(zhǔn)輸出設(shè)備,使用 _ 來(lái)表示標(biāo)準(zhǔn)輸入設(shè)備。7Java 控制臺(tái)輸入可以使用 _ 來(lái)完成。8Scanner 類中的 _ 方法可以實(shí)現(xiàn)讀取一個(gè) float 類型的數(shù),Scanner 類中的 _ 方法可以實(shí)現(xiàn)讀取一個(gè) int 類型的數(shù)。9簡(jiǎn)述 Java 語(yǔ)言對(duì)標(biāo)識(shí)符的幾個(gè)

59、規(guī)定。判斷以下幾個(gè)變量定義語(yǔ)句的正確性(在括 號(hào)內(nèi)寫出“對(duì)”或“錯(cuò)”)(1)int 0IntFirst;( )(2)char ch%ar1;( ) (3)float f_FistNum;( ) (4)byte b=32768;( ) (5)boolean true;( )10說(shuō)明下面常量是什么類型的常量。(1)true (2)-66 (3)042 (4)0 x11 (5)0L (6)3.14E-5 (7) (8)“11float 型常量和 double 型常量在表示上有什么區(qū)別?思考題實(shí)訓(xùn)題1編寫程序,完成對(duì)兩個(gè)變量分別賦值為 1 和 2,計(jì)算 1+2 的最終結(jié)果。 2什么是運(yùn)算符?什么是表達(dá)

60、式?3若已知 a=3,b=4,c=false;,試計(jì)算下列表達(dá)式的值。 (1)d=ay (2)d=ab|!c4.求解一元二次方程。用鍵盤輸入 a、b、c 的值,求一元二次方程 ax2+bx+c=0 的實(shí) 根。作為順序程序,對(duì)方程是否有實(shí)根不作判斷。 5隨機(jī)產(chǎn)生一個(gè) 4 位自然數(shù),輸出它的逆數(shù)。如,產(chǎn)生的自然數(shù)為 2015,則其逆 數(shù)為 5102。思考題實(shí)訓(xùn)題6如下圖所示,編寫程序計(jì)算 a、b 兩點(diǎn)間的電阻 Rab(),保留兩位小數(shù),輸出形式 為三行左對(duì)齊。提示 :由電學(xué)知識(shí)可知,兩電阻并聯(lián)后的阻值為7練習(xí)在程序中定義 8 種基本數(shù)據(jù)類型并將其輸出到控制臺(tái)。8編寫一個(gè)名為 ComputeArea

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論