java編程有哪幾本書比較適合初學者

對於Java的初學者來說,如果找一本比較合適的入門教材的話,完整地介紹Java的 語法、面向對象和主要的API核心庫等知識,那將對學習起到相當的促進作用。 我個人認為,一些經典的國外教材確實值得推崇,首先推薦要看的是《21天學通Ja va 2》、《循序漸進Java 2教程》、《Java2從入門到精通》等書看起來比較淺顯易 懂,將Java的基本只是都涉及到了,使你在很短的時間內掌握Java的基本內容。 看完這這本書之一以後,你就想對Java全面深入的學習,現在向你推薦《Java大學 教程》、《Java 2編程指南》等書,這幾本書對Java的語法、面向對象的知識和AP I函數庫等介紹的比較詳盡。讓你能夠比較熟練的使用Java來編程,解決一般的問題 。 最後向大家推薦的是《Java2核心技術》,這本書主要講述了Java的核心技術也是J ava的難點之處,具有很高的參考價值,無論是Java的初學者還是Java編程老手,都 能從此書受益。 這時候大家可能會注意到,其中竟然沒有大名鼎鼎的《Thinking in Java》這本書 。其實,這本書主要是從編程思想上來講的,並沒有完整的講述Java的整個體系, 而是一種類似Tips的方法來對Java的知識點進行深入的分析和解釋,就好像C++的經 典教材《C++ Primier》一樣,並不適合作為初學語言的入門教材,蛋是在深入學習 Java的過程中的同時來讀這本書會覺得受益匪淺。 值得一提的是,其實最有實用價值的是JDK-Document(下文中簡稱doc, http://ja va.sun.com/j2se/1.5.0/download.jsp中有離線版下載的,本例中只是列舉了1.5的 doc,在相應的地方可以下載1.4甚至1.3的doc)和Java Tutorial在線教程( http:/ /java.sun.com/docs/books/tutorial/這個是在線查看的,離線版的下載本人目前 還不知道)。在doc中有四個部分API 文檔(對SDK自帶的標准Java API都進行了詳 細的介紹,它是按照package來組織的,詳細介紹了每一個class的繼承關系,介面 的實現情況,以及所有public的屬性和方法,對於每個方法的用途、調用的參數、 參數的類型,返回值的類型、以及方法可能拋出的異常等等)、guide(對一些Jav a技術和概念進行講述)、relnotes(這個介紹新版本的JDK的發布信息以及新特點 )、tooldocs(主要對Java的所有命令進行講述)。Doc是我們每一個Java工作者在 編程時必須的手冊,目前只有英文版,sun中國社區正在進行漢化,相信不久就會出 現中文版的doc了。Tutorial也相當的不錯,主要針對初學者,不過對於其他階段的 Java學習者也有很大的幫助了。 以上主要針對J2SE的學習進行講述的,Java主要有J2SE、J2EE、J2ME三個部分,J2 SE是基礎。當我們對J2SE的學習掌握的差不多的時候,其實我們就會對Java的學習 有自己獨特的體會,就會發現每一個Java技術自己所帶的doc都對我們的學習有很大 的幫助。此外,經常去一些著名的網站上去看看各位網友的作品,對Java學習的心 得,確實對我們有很大提高,這里推薦 http://blog.csdn.net 。經常去圖書館或者 到書店去看看有關Java的書,看看它們是不是自己所需要的,這時候,選擇學習Ja va的書籍就會自己拿主意了。 在上述的一些書籍的介紹中,並非每本書都要看,可根據自己的實際情況進行選擇 ,或者像Java先行者咨詢即可。

⑵ java初學者編程

第一,remove,list裡面移除元素是用remove沒錯 但是不能像你現在這么移除,需要使用Iterator來進行處理,具體就不說了,網路一下就行,現在這么移除指不定什麼時候回報異常,不相信你可以試試。
第二,牌相加的問題,正常情況牌發完後你是不是應該有記錄?你可以創建一個list,專門用來記錄玩家手中的牌,要計算總和的時候直接遍歷list相加就可以了,游戲結束的時候清空list
第三,有第二部了,顯示牌還困難嗎?直接循環玩家list不就可以顯示所有的牌了嗎?
補充一下,你現在這么寫,說明對面向對象還不是很熟悉,以現在這個程序來看,你首先要抽象出幾個類,比如,玩家類(其中玩家類應該有當前手中牌這個屬性,這因為手中的牌數不確定,那麼這個屬性就應該是一個list類型的),現在程序中的電腦和玩家都應該是玩家類的子類,然後發牌的時候應該是把牌放到玩家類的list屬性中,這樣相對來說就比現在這么寫好很多

⑶ java編程初學者

import java.util.Scanner;

public class ZHIDAO {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("請輸入五位會員賬號:");
Scanner in=new Scanner(System.in);//從控制台輸入會員賬號
int out=in.nextInt();//獲取你的會員賬號
int random=(int)(Math.random()*10);//產生隨即數
if(random==(out/100%10))//判斷隨即數與會員賬號的百位是否相等
{
System.out.println("恭喜中獎!!!");
}else{
System.out.println("謝謝惠顧!");
}
}

}

⑷ 新手如何學好java編程

作者:張同學
鏈接:https://www.hu.com/question/22407671/answer/42284729
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。

作為一名Java的完全自學者。我來說說吧,希望能給大家帶來點幫助,如果有不同意見的大家一起來討論,總之,希望大家可以共同進步。。廢話不多說了。。進去正題。。
學習Java呢如果你學過別的面向對象的語言那麼通過類比我覺得你一定學起來比較輕松,當然了我們這里就從什麼語言沒學過的小白說起。。
首先來給大家推薦幾本參考書。
ONE:
當初java入門的時候看了一些書,現在想起來特別喜歡 head first java。讀起來的感覺就是不一樣。強烈推薦!!
這本書我推薦對面向對象編程和其他計算機語言不熟悉的初學者,通俗易懂,講的全是基礎,不會讓你被那些繁多的類,方法啥的弄的失去興趣,因為裡面全是基礎大家認真看完即可。。。強力推薦這本。
瘋狂Java 作者:李剛
這本書講的極其細致,不過信息量太大,對於初學者來說任務太重。。如果你掌握了上面那本書的知識點,那我強烈建議你買下這本厚書好好研讀,也可以將這本書作為一個類庫來查閱。。總之知識點應有盡有。
TWO:
在讀上面兩本書的同時我建議你多看點網上的視頻,推薦的視頻有,馬士兵老師的。。(java更新很快他講的東西可能和現在的)網易公開課計算機體系裡的Java教學,慕課網里的教學。
我想說的是這些視頻最好是主看一個老師的(是主哦,也就是主要跟著一個老師的思路和順序走,其他老師的作為不同角度的掌握),假設這個老師是A,聽完課後如果覺得A講的這節你不是很懂,那麼一定要去看B老師講的這節的內容,如果還不懂那就看C講的的這節,D,E,F老師同理。。*****強烈建議!!!!看視頻一定要做筆記!!!不然看了也白看,除非你有過目不忘的才能。。******
THREE:
硬體的東西說完了接下來我們就來聊聊方法,首先Java是一門語言,然後語言是用來和計算機溝通實現一定的功能,也就是說,語言是為需求而生滴。。所以你必須先有一個需求,比如你想用Java編寫一個小游戲,那麼你的初級階段的學習就該是為了實現這個目標不斷奮斗,興趣使然嘛這樣你就不會覺得累枯燥
(當初我學Java就有一個。。。特別奇怪的開始,記得那是一個夜黑風高的寒假,我姑姑家有一家店門相當於超市吧,啥都賣,過年特別忙,於是乎我被拉去當苦力,擺在我面前的是。。有無數程序的結賬抄寫過程,需要人力暴力操作。。我受不了了,開學我就開始學JavaAWT和SWING編程,第二個假期回家編了個界面程序給它,量身定做解決他的一切需求)額,說了這么多我只是想說要有明確的目標知道你要幹啥,在幹啥。。
FOUR:
學習初期你肯定會有千千萬萬個問題,心裡有無數疑惑,這時候千萬不要急躁,不要放棄。。解決方法應該是,有疑惑盡量請教別人,如果你覺得怕麻煩別人,那麼請你去翻書,我建議不懂的地方要多看幾本書的這個知識點,因為老師不同講解的思路角度也不同,就像買鞋,一定有一款適合你。。如果你懶到書都不想翻,那麼沒關系,你就把這點疑惑完全的一字不落背下來。。多思考,有那麼一天,往後走著走著你就會發現前面豁然開朗。。
FIVE:
最後也是最重要的一個就是代碼量。。一定要多敲,不要眼高手低。。往往敲代碼的時候你才可以發現問題。。我始終相信一句話,淚水和汗水這類東西,如果你流多了上天它自然會給予你一些東西來作為交換的禮物。。貴在堅持,忘記了在哪裡看到的一句話,如果你的耐力和野心不相匹配,那麼你最多也就是一個笑話。
額,我知道的只有這些了,說了這么多答主也每天在學習,希望大家一起討論,說的不準確的多多包涵。。感謝看到這兒的人,費著這么大的勁讀完,大家辛苦了。。。原諒答主語文不算特別好。。大家加油,為做一個充滿幸福感的碼農奮斗,。

⑸ 關於初學Java編程的建議。

初學書推薦 java核心編程第一卷
編譯器初學不會遇到太麻煩的問題,直接jdk中的javac + java 這兩個命令就行了(具體的再網路一下吧,不難)
編輯器我用的editplus或notepad++

以後寫大的項目可以用eclipse
過早的用ide對學習編程語言不利,等開始能寫東西的時候再用吧,加油!

⑹ 初學Java編程,這是怎麼回事

找不到你的java文件: 123.java

因為你只給出了一個文件名,所以就必須在執行路徑下,不然的話,需要給出完整的路徑,比如 c:\xxx\123.java

⑺ 怎麼學好java編程

首先我們先了解一下Java的組成部分,java主要分成三個部分javaSE,javaME,javaEE。
JAVA SE是學習JAVA EE、JAVA ME的基礎,也版可以做本地的軟體,權通俗講就是做單機版的軟體,JAVA EE主要是開發基於Web的系統,針對互聯網的各種應用和大型復雜的項目給出解決方案,JAVA ME是用來開發游戲、電子設備、手機等方面的軟體。那麼怎樣才能學好JAVA呢?我們可以從以下幾點出發:
1.不要只看書,一定要實操代碼。當你的代碼量慢慢累計後,你的編程實例也就慢慢提升了。

2.堅持看源碼,培養自己讀懂源碼的能力。

3.制定自己的學習計劃,隨時調整。

4.對於跨專業零基礎的同學,自學太難,建議參加培訓機構。

5.按時反饋自己的學習成果。

6.有問題先試著自己解決,不行再請教別人

7.堅持寫技術博客,前期可以寫讀書筆記,後期再慢慢增加技術性知識。

⑻ 初學者用什麼開發軟體來編寫JAVA程序

1、 初學者的話不建議上來就用IDE開發工具比如說:Eclipse、MyEclipse、
IntelliJ IDEA、netbean。但是也可以使用這些,不建議的原因不便於你了解JavaAPI,及相關的編譯原理,編譯過程之類的。主要是就是熟悉基礎。

2、 剛開始可以使用記事本、editplus、notepad++,這些工具的話,比較單純,但是可能會給初學者製造一些不必要的麻煩,影響學習的積極性。
如果你急於求成建議參考 1,否則參考 2 吧。
1會讓你快速找到編程的快感。2的話如果你搞定了使用IDE的話也就是如數家珍。並且對於基礎也會了解的比較多,因為在使用2的過程中你會犯下很多錯誤,當然大多數可能都是拼寫錯誤,但是要大膽試錯,不要慫。Good luck!

希望能幫到你,望點贊。

⑼ 初學JAVA應該從什麼開始學

在編程的世界裡,Java一直是企業級別開發最喜歡選擇的編程語言,從java目前的就業形勢來看還是相當不錯的,由於手機安卓開發的需要,許多人也開始轉戰Java的學習,極客營覺得雖然java開發人員的需求量變得越來越大,但這並不代表做java開發人員的技術就可以一成不變,java技術更新的很快,而且在現在中國的培訓機構里java學員都是批量生產的,那麼競爭壓力也是很大的。所以許多人在學好java的基礎後,轉戰到火熱的安卓開發。來分析一下java各種大致學習路線。

首先做java最後大致是兩個方向:web企業級開發(JavaWeb J2EE)和手機android開發。這兩個方向的先決條件是J2SE,J2SE並不是那麼簡單,只有當逐漸學的深入了才體會到java的精髓。

1.HTML+CSS+DIV,前端會用到,作為研發人員至少應該會簡單寫些頁面出來,這是許多編程語言都需要了解的基礎。

2.JAVASCRIPT,想要使用一些特殊的效果就需要這個了,但是並不需要很精通,當需要用到JS的地方可以用Jquery代理,Jquery很好學,很有用的JS框架,看似復雜華麗的效果他都能輕松完成。

3.Ajax,前端非同步交互技術,值得去研究。

4.JSP,Servlet,Javabean,發展至今已經不提倡在JSP里嵌入JAVA代碼,所以僅僅是作為視圖層使用,嵌入些如JSTL和Struts2標簽庫的標簽成為動態頁面。Servlet是應該重點學習的,包括如過濾器、監聽器等,這些都是當下Struts2或者未來WEB框架的底層基礎和原理。

5.Strut2+Hibernate(or JPA)+Spring,當下十分流行的開發框架。其實是很容易上手的,但關鍵是需要懂得原理。

6.Web Service技術,它能使得運行在不同機器上的不同應用無須藉助附加的、專門的第三方軟體或硬體, 就可相互交換數據或集成。依據Web Service規范實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什麼, 都可以相互交換數據。

⑽ java初學者的程序

package lijugu_exam;

/**
* <p>Title:lijugu_exam</p>
*
* <p>Description: J2ee_exam</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: accp</p>
*
* @author lijugu
* @version 1.0
*/
import java.io.*;
import java.sql.*;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.logging.Logger;
public class DBHadler {
private LinkedList linkedlist;
private Connection connection;
private Statement statement;
private PreparedStatement preparedstatement;
private String url;
private String user;
private String password;
private Logger logger;
public DBHadler(LinkedList LinkedList) {
try{
this.linkedlist = linkedlist;
logger=Logger.getLogger("DBHadler");
Class.forName("jdbc.odbc.jdbcOdbcDriver");
url = "jdbc:odbc:admain";
user = "管理員";
password = "admain";
connection = DriverManager.getConnection(url, user, password);
statement=connection.createStatement();
preparedstatement=connection.prepareStatement("inset into qiang values(id=?,messages=?)");
WriterDB();
}catch(SQLException s){
s.printStackTrace();
}catch(ClassNotFoundException c){
c.printStackTrace();
}
}
public void WriterDB() {
try{
statement.execute("create database lijugu");
statement.execute("create table MY(id int,messages varchar(100)");
logger.info("創建表成功.");
int s=1;
for (Iterator i = linkedlist.iterator(); i.hasNext(); ) {
preparedstatement.setInt(1,s);
preparedstatement.setString(2,i.next().toString());
preparedstatement.executeUpdate();
s++;
}
logger.info("添加記錄成功");
}catch(SQLException s){
s.printStackTrace();
}
}
}
package lijugu_exam;

import java.util.*;
import java.io.*;
import java.util.logging.Logger;

/**
* <p>Title:lijugu_exam</p>
*
* <p>Description: J2ee_exam</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: accp</p>
*
* @author lijugu
* @version 1.0
*/
public class FileOperator {
private LinkedList linkedlist;
private File file;
private FileWriter filewriter;
private Logger logger;
//private DBHadler db;
public FileOperator(LinkedList linkedlist) {//MessageInputer傳遞一個linkedlist對象過來
this.linkedlist = linkedlist;
logger=Logger.getLogger("FileOperator");
file = new File("MY.fd");
WriterFile();
}
public void WriterFile() {
try{
PrintWriter printwriter = new PrintWriter(new BufferedWriter(new
FileWriter(file)));
for (Iterator i = linkedlist.iterator(); i.hasNext(); ) {
//System.out.print(i.next());
printwriter.print(i.next());
}
printwriter.close();
logger.info("寫入文件成功!");
}catch(IOException i){
i.printStackTrace();
}
}
}

package lijugu_exam;

import java.util.LinkedList;

/**
* <p>Title:lijugu_exam</p>
*
* <p>Description: J2ee_exam</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: accp</p>
*
* @author lijugu
* @version 1.0
*/
public class Messagcenter {
private LinkedList linkedlist;
public Messagcenter(){
MessageInputer inputer=new MessageInputer();//接收用戶輸入並保存到LinkedList集合中
System.out.print("lijugu");
this.linkedlist=inputer.linkedlist;
DBHadler hadler=new DBHadler(linkedlist);//把數據插入到資料庫中

}
public static void main(String[] args) {
MessageInputer m=new MessageInputer();
}
}

package lijugu_exam;

/**
* <p>Title:lijugu_exam</p>
*
* <p>Description: J2ee_exam</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: accp</p>
*
* @author lijugu
* @version 1.0
*/
import java.io.*;
import java.util.*;
import java.util.logging.Logger;
public class MessageInputer {
public LinkedList linkedlist;
private Logger logger;
private FileOperator f;
public MessageInputer() {
linkedlist=new LinkedList();
//linkedlist.clear();
logger=Logger.getLogger("MessageInputer");
Recieve();
WriterFile();
}
public void Recieve() {//接收用戶輸入,並保存到集合中.
try{
logger.info("輸入數據:");
BufferedReader reader = new BufferedReader(new
InputStreamReader(
System.in)); //接收並把鍵盤輸入的位元組數據轉換成字元數據
String str ;
while(!(str= reader.readLine()).equals("end")){
linkedlist.add(new String(str)); //把接收的寫入到linkedlist對象中
}
reader.close();

logger.info("輸入完畢!");
}catch(IOException i){
i.printStackTrace();
}
}

public void WriterFile() {//從集合中讀出來並寫入文件"MY.fd"中.
f=new FileOperator(linkedlist);
}

}
不就是要原代碼嗎 半個小時就幫你搞定了
而且全部是以你的名字來命名的
對的住吧`?樓主