Time of Update: 2017-02-27
瞭解有關 Java 包、變數的概念,以及對象通過方法相互互動的方式。在 Wombat 對象基礎知識 和 Wombat 類基礎知識 這兩篇文章中,您學習了關於對象、類、方法,以 及語言和文法的基礎知識。在初級開發人員系列的第 3 部分,您將學習:如何編寫依賴其他 Java 類(或 Java API)的 Java 應用程式、什麼是變數、如何使用變數,以及對象通過方法相互互動的方式。本文中,需要在電腦中安裝以下軟體:Java SE 軟體Greenfoot本文面向對 Java
Time of Update: 2017-02-27
在電腦編程中,一個基本的概念就是同時對多個任務加以控制。許多程式設計問題都要求程式能夠停下手頭的工作,改為處理其他一些問題,再返回主進程。可以通過多種途徑達到這個目的。最開始的時候,那些擁有機器低級知識的程式員編寫一些“插斷服務常式”,主進程的暫停是通過硬體級的中斷實現的。儘管這是一種有用的方法,但編出的程式很難移植,由此造成了另一類的代價高昂問題。有些時候,中斷對那些即時性很強的任務來說是很有必要的。但還存在其他許多問題,它們只要求將問題劃分進入獨立啟動並執行程式片斷中
Time of Update: 2017-02-27
1.計算某一月份的最大天數:Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //year 為 int time.set(Calendar.MONTH,i-1);//注意,Calendar對象預設一月為0 int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天數註:在使用set方法之前,
Time of Update: 2017-02-27
6.Java Date之計算兩個任意時間中間的間隔天數(這個比較常用):(1)傳進Calendar對象:public int getIntervalDays(Calendar startday,Calendar endday)...{ if(startday.after(endday))...{ Calendar cal=startday; startday=endday; endday=cal; }
Time of Update: 2017-02-27
如果能容忍那些限制,那麼程式片的一些優點也是非常突出的,尤其是在我們構建客戶/伺服器應用或者其它網路應用時:■沒有安裝方面的爭議。程式片擁有真正的平台獨立性(包括容易地播放音效檔等能力)所以我們不需要針對不同的平台修改代碼也不需要任何人根據安裝運行任何的“tweaking”。事實上,安裝每次自動地將WEB頁連同程式片一起,因此安靜、自動地更新。在傳統的客戶機/伺服器系統中,建立和安裝一個新版本的用戶端軟體簡直就是一場惡夢。■因為安全的原因建立在核心Java語言和程式片結構
Time of Update: 2017-02-27
1、2、2、3、4、5這六個數字,用java寫一個main函數,列印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"與"5"不能相連.package com.test; import java.util.ArrayList;import java.util.List; /** * 1、2、2、3、4、5這六個數字,用java寫一個main函數,列印出所有不同的排列,
Time of Update: 2017-02-27
複選框提供一個製造單一選擇開關的方法;它包括一個小框和一個標籤。典型的複選框有一個小的“X”(或者它設定的其它類型)或是空的,這依靠項目是否被選擇來決定的。我們會使用構建器正常地建立一個複選框,使用它的標籤來充當它的自變數。如果我們在建立複選框後想讀出或改變它,我們能夠擷取和設定它的狀態,同樣也能擷取和設定它的標籤。注意,複選框的大寫是與其它的控制相矛盾的。無論何時一個複選框都可以設定和清除一個事件指令,我們可以捕捉同樣的方法做一個按鈕。在下面的例子裡使用一個文字地區枚舉
Time of Update: 2017-02-27
標籤準確地運作:安放一個標籤到表單上。這對沒有標籤的TextFields和Text areas
Time of Update: 2017-02-27
“文本地區”很像文字欄位,只是它擁有更多的行以及一些令人信服的更多的功能。另外你能在給定位置對一個文字欄位追加、插入或者修改文字。這看起來對文字欄位有用的功能相當不錯,所以設法發現它設計的特性會產生一些困惑。我們可以認為如果我們處處需要“文本地區”的功能,那麼可以簡單地使用一個線型文字地區在我們將另外使用文字欄位的地方。在Java 1.0版中,當它們不是固定的時候我們也得到了一個文本地區的垂直和水平方向的捲軸。在Java
Time of Update: 2017-02-27
“文字欄位”是允許使用者輸入和編輯文字的一種線性地區。文字欄位從文本組件那裡繼承了讓我們選擇文字、讓我們像得到字串一樣得到選擇的文字,得到或設定文字,設定文字欄位是否可編輯以及連同我們從線上參考書中找到的相關方法。下面的例子將證明文字欄位的其它功能;我們能注意到方法名是顯而易見的: //: TextField1.java// Using the text field controlimport java.awt.*;import
Time of Update: 2017-02-27
大家可注意到假如編譯和運行上面的程式片,按下按鈕後不會發生任何事情。必須進入程式片內部,編寫用於決定要發生什麼事情的代碼。對於由事件驅動的程式設計,它的基本目標就是用代碼捕獲發生的事件,並由代碼對那些事件作出響應。事實上,GUI的大部分內容都是圍繞這種事件驅動的程式設計展開的。經過本書前面的學習,大家應該有了物件導向程式設計的一些基礎,此時可能會想到應當有一些物件導向的方法來專門控制事件。例如,也許不得不繼承每個按鈕,並過載一些“按鈕按下”方法(儘管這顯得非常麻煩有有限)
Time of Update: 2017-02-27
觀看架構方法的實際運作是相當有趣的(這個例子只使用init(),start()和stop(),因為paint()和destroy()非常簡單,很容易就能掌握)。下面的程式片將跟蹤這些方法調用的次數,並用paint()將其顯示出來: //: Applet3.java// Shows init(), start() and stop() activitiesimport java.awt.*;import java.applet.*;public class Applet3
Time of Update: 2017-02-27
“造型”(Cast)的作用是“與一個模型匹配”。在適當的時候,Java會將一種資料類型自動轉換成另一種。例如,假設我們為浮點變數分配一個整數值,電腦會將int自動轉換成float。通過造型,我們可明確設定這種類型的轉換,或者在一般沒有可能進行的時候強迫它進行。為進行一次造型,要將括弧中希望的資料類型(包括所有修改符)置於其他任何值的左側。下面是一個例子:void casts() {int i = 200;long l = (long)i;long
Time of Update: 2017-02-27
由於Java中的所有東西都是控制代碼,而且由於每個對象都是在記憶體堆中建立的——只有不再需要的時候,才會當作垃圾收集掉,所以對象的操作方式發生了變化,特別是在傳遞和返回對象的時候。舉個例子來說,在C和C++中,如果想在一個方法裡初始化一些儲存空間,可能需要請求使用者將那片儲存地區的地址傳遞進入方法。否則就必須考慮由誰負責清除那片地區。因此,這些方法的介面和對它們的理解就顯得要複雜一些。但在Java中,根本不必關心由誰負責清除,也不必關心在需要一個對象的時候它是否仍然存在。
Time of Update: 2017-02-27
請觀察下述代碼: //: Stringer.javapublic class Stringer { static String upcase(String s) { return s.toUpperCase(); } public static void main(String[] args) { String q = new String("howdy"); System.out.println(q); // howdy
Time of Update: 2017-02-27
最近寫關於並發的小應用,才發現真的該好好的正視java的多線程了。之前沒有深入的掌握,用起來也是那麼的吃力。作為J2SE裡面為 數不多的重要痛點之一,多線程應用一直是我以敬畏的心態去盡量避開的,只是通過一些執行個體掌握一些簡單的應用。這段時間會多用點時間 去掌握,有需要寫下來的我也會通過這種方式既分享又加深理解。首先這篇只涉及基礎的知識整理,對於並發包java.util.concurrent內的線程池和鎖我會看情況在之後的總結中寫點東西。對於進程的
Time of Update: 2017-02-27
儘管在一些特定的場合,由clone()產生的本機複本能夠獲得我們希望的結果,但程式員(方法的作者)不得不親自禁止別名處理的副作用。假如想製作一個庫,令其具有常規用途,但卻不能擔保它肯定能在正確的類中得以複製,這時又該怎麼辦呢?更有可能的一種情況是,假如我們想讓別名發揮積極的作用——禁止不必要的對象複製——但卻不希望看到由此造成的副作用,那麼又該如何處理呢?一個辦法是建立“不變對象”,令其從屬於唯讀類。可定義一個特殊的類,使其
Time of Update: 2017-02-27
為消除複製能力,大家也許認為只需將clone()方法簡單地設為private(私人)即可,但這樣是行不通的,因為不能採用一個基礎類方法,並使其在衍生類中更“私人”。所以事情並沒有這麼簡單。此外,我們有必要控制一個對象是否能夠複製。對於我們設計的一個類,實際有許多種方案都是可以採取的:(1)
Time of Update: 2017-02-27
大多數程式設計語言都提供了“範圍”(Scope)的概念。對於在範圍裡定義的名字,範圍同時決定了它的“可見度”以及“存在時間”。在C,C++和Java裡,範圍是由花括弧的位置決定的。參考下面這個例子: { int x = 12; /* only x available */ { int q = 96; /* both x & q available */ } /* only x
Time of Update: 2017-02-27
今天你的leader興緻沖沖地找到你,希望你可以幫他一個小忙,他現在急著要去開會。要幫什麼 忙呢?你很好奇。他對你說,當前你們項目的資料庫中有一張使用者資訊表,裡面存放了很用 戶的資料,現在需要完成一個選擇性查詢使用者資訊的功能。他說會傳遞給你一個包含許多使用者名稱的數 組,你需要根據這些使用者名稱把他們相應的資料都給查出來。這個功能很簡單的嘛,你爽快地 答應了。由於你們項目使用的是MySQL資料庫,你很快地寫出了如下代碼:public class QueryUtil {