當前位置:首頁 » 編程語言 » java代碼設計

java代碼設計

發布時間: 2022-06-14 06:46:57

⑴ 怎麼編寫 java 代碼

推薦你幾本書,按順序學習就好了,剛開始學的時候代碼不會寫很正常,但是應該要模仿著寫,該背的還是要背,有些模式得背得很熟,當然是不是死記硬背是要理解了背,最後自己找點題目練練,多敲敲代碼就行了

一、Java編程入門類
對於沒有Java編程經驗的程序員要入門,隨便讀什麼入門書籍都一樣,這個階段需要快速的掌握Java基礎語法和基本用法,宗旨就是「囫圇吞棗不求甚解」,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要「知其然」。
1、《Java編程思想》
它對於基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫助打下一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了
2、《Agile Java》中文版
這本書一大特點是以單元測試和TDD來貫穿全書的,在教Java各種重要的基礎知識的過程中,潛移默化的影響編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書
二、Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,培養良好的編程習慣,提高代碼質量
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和實踐相互印證。這本書產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。這本書的作用是通過實戰培養TDD的思路
三、Java架構師之路
到這個階段,應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是可能還缺乏對應用軟體整體架構的把握,現在就是邁向架構師的第一步
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了 springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。
3、《企業應用架構模式》
Martin的又一本名著,這本書更適合做框架的人去看
4、《敏捷軟體開發原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式
四、軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。
2、《解析極限編程 擁抱變化》
XP這是Kent Beck名著的第二版,中英文對照,必讀書籍。
3、《統一軟體開發過程》
UP其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的
4、《敏捷建模》
AMScott Ambler的名著,這本書非常的progmatic,既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法

⑵ JAVA程序設計,求詳解

1、源代碼如下:

class test

{

public static void main(String[] args) {

for(int i =0;i<1000;i++){

System.out.println(i+"->"+reverse1(""+i));

}

}

// 調用StringBuffer內置的逆轉字元串方法,實現逆轉

public static String reverse1(String str) {

return new StringBuilder(str).reverse().toString();

}

}

2、運行效果如圖

運行效果

3、如果題目嚴格要求返回 int數字 ,而不是列印,只需要把str 轉成數字就行了,方法的返回改成int。

return Integer.parseInt(new StringBuilder(str).reverse().toString()) ;

⑶ java程序設計題

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
BufferedOutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(new File("d:/info.txt")));
String line = "第一行文本\n第二行文本";
out.write(line.getBytes());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream("d:/info.txt"));
StringBuffer buffer = new StringBuffer();
byte[] buff = new byte[in.available()];
while (in.read(buff) != -1) {
buffer.append(new String(buff));
}
System.out.println(buffer);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
in = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

⑷ 用java代碼設計一個學生類

public class Student{
private String name;
private String studentNo;
private float score;
//get方法
//set方法

public static void main(String[] args){
//你可以用學生數組或者List<Student>來存數據
//我示範一下用數組存數據的 當然你用list來存的話 後面的比較 更加簡單 只需要

//實現一個比較器即可
Student[] students = new Student[2]

Student a =new Student();
a.setName("a");
a.setStudentNo("001");
a.setScore(98);
students[0]=a;
Student b = new Student();
b.setName("b");
b.setStudentNo("002");
b.setScore(87);
sudents[1] = b;
。。。。。。

//然後用冒泡排序根據學生的成績判斷 演算法你自己決定 冒泡還是挺好用的
for(int i =0,len =students.length ;i<len;i++){
for(int j=i+1,len;=students.length;j<len;j++){

if(students[i].getScore()>students[j].getScore()){
Student temp =students[i];
students[i] = students[j];

students[j]=temp;
}

}
}
///最後輸出結果
for(){
System.out.println();
}
}

⑸ Java寫一套漂亮的代碼,哪些設計模式比較常用

對於代碼結構上,看起來漂亮起作用的模式,常用的策略模式,工廠模式,裝飾模式和觀察者模式吧。但也看情景,生搬硬套會顯得不夠簡潔的

⑹ java程序設計,求代碼 1.定義學生類,學生類有學號,姓名,語文成績,數學成績的屬性和有參的構造

importjava.util.Comparator;

<Student>{
privateintno;
privateStringname;
privateStringsex;
privateintroomNo;
privatedoublescore;


publicStudent(intno,Stringname,Stringsex,introomNo,doublescore){
this.no=no;
this.name=name;
this.sex=sex;
this.roomNo=roomNo;
this.score=score;
}

publicStudent(intno,Stringname,Stringsex,doublescore){
this.no=no;
this.name=name;
this.sex=sex;
this.score=score;
}

publicintgetNo(){
returnno;
}

publicvoidsetNo(intno){
this.no=no;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicStringgetSex(){
returnsex;
}

publicvoidsetSex(Stringsex){
this.sex=sex;
}

publicintgetRoomNo(){
returnroomNo;
}

publicvoidsetRoomNo(introomNo){
this.roomNo=roomNo;
}

publicdoublegetScore(){
returnscore;
}

publicvoidsetScore(doublescore){
this.score=score;
}


@Override
publicintcompareTo(Studento){
if(this.no>o.no)return1;
elseif(this.no<o.no)return-1;
elsereturn0;
}

@Override
publicStringtoString(){
return"Student{"+
"no="+no+
",name='"+name+'''+
",sex='"+sex+'''+
",roomNo="+roomNo+
",score="+score+
'}';
}
}

//性別比較器類
<Student>{

@Override
publicintcompare(Studento1,Studento2){
if(o1.getSex().compareTo(o2.getSex())>0)return1;
elseif(o1.getSex().compareTo(o2.getSex())<0)return-1;
elsereturn0;
}
}
//寢室號比較器類
<Student>{

@Override
publicintcompare(Studento1,Studento2){
if(o1.getRoomNo()>o2.getRoomNo())return1;
elseif(o1.getRoomNo()<o2.getRoomNo())return-1;
elsereturn0;
}
}
//入學成績比較器類
<Student>{

@Override
publicintcompare(Studento1,Studento2){
if(o1.getScore()>o2.getScore())return1;
elseif(o1.getScore()<o2.getScore())return-1;
elsereturn0;
}
}

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.Collections;
importjava.util.List;

publicclassTestStudent{
publicstaticvoidmain(String[]args){
Students1=newStudent(1,"jack","boy",90);
Students2=newStudent(5,"jack","boy",90);
Students3=newStudent(4,"jack","boy",90);
Students4=newStudent(2,"jack","boy",90);
List<Student>studentList=newArrayList<>();
studentList.add(s1);
studentList.add(s2);
studentList.add(s3);
studentList.add(s4);
Collections.sort(studentList);
System.out.println(Arrays.toString(studentList.toArray()));
}
}

⑺ java程序設計

ABDBD-BBBBD-CDBAB

⑻ 什麼是Java設計模式

設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟體工程的基石,如同大廈的一塊塊磚石一樣。

java設計模式是當你在實際的系統當中遇到重構或者擴展的時候採取的一種對現有系統影響最小的一種措施。當然並不是一定要學這個東西,就像一個沒上過學的人和上過學的人,在個人修養上面存在一定的差異,但是他們都知道如何生活,各自都有各自的生活方式,並沒有因為沒上過學而不能生活了。學習設計模式會擴展你的邏輯思維,增加你面向抽象編程的思想,從而會在軟體設計上提升到一個架構設計的層次,都學點不會錯的!

推薦書籍:《軟體秘笈:設計模式那點事》。
網路裡面搜「設計模式」,第一條中設計模式網路中就有首推該圖書,瀏覽量在20幾萬以上的,不會錯的。裡面講解的23中設計模式例子很生動,容易理解,還有JDK中設計模式應用情況,看了收獲挺大的!好東西大家一起分享!
祝你早日學會設計模式!

⑼ JAVA 設計代碼

/*
* 主類用與建立3個取款行為線程
*/
public class getMoney
{
public static void main(String args[])
{
card c=new card(100);
new Thread(c,"ID-1").start();
new Thread(c,"ID-2").start();
new Thread(c,"ID-3").start();
System.out.println("3 ID using\t\t\t\t\t\t title 100$");
}
}
/*
* 實現RUNNABLE的銀行卡類
*/
class card implements Runnable
{
private static int balance;
public card(int x)
{
this.balance=x;
}
public int view()
{
return balance;
}
public void get(int x)
{
this.balance=this.balance-x;
}
/*
* 同步方法塊
*/
public synchronized void run()
{
int num=0;
while(this.view()>0)
{
System.out.println("操作時間:"+num);
this.get(10);
System.out.println(Thread.currentThread().getName()+"get 10$\t\t\t\t\t\t此時余額為"+this.view());

num++;
}
if(this.view()<=0)
{
System.out.println(Thread.currentThread().getName()+"取光了剩下所有的錢");
}
}
}

這個是銀行取款的和受票類似,用了同步方法的方式
/*
* 主類用語建立3個售票窗口線程
*/
public class MyRun
{
public static void main(String args[])
{
My t=new My();
new Thread(t,"t1").start();
new Thread(t,"t2").start();
new Thread(t,"t3").start();
System.out.println("開始售票..................");
}
}
/*
*實現RUNNABLE的售票窗口類
*/
class My implements Runnable
{
static int sum=20;
public void run()
{
synchronized("sldf")//同步語句塊的方式
{
while(sum>0)
{
System.out.println("票號("+sum+")被賣掉了---------------------------------------售票窗口:"+Thread.currentThread().getName());
sum--;

if(sum<=0)
{
System.out.println("售票窗口:"+Thread.currentThread().getName()+"的票賣完了!");
}
}
}

}
}
用了同步語句塊的方式,你要4個窗口在主類多NEW一個線程就可以了

⑽ java源代碼怎麼編寫

如果你問需要什麼工具,理論上記事本就可以寫代碼,然而如果你希望有好的編程體驗請使用專業IDE如Eclipse或IDEA。
如果你問Java語法是什麼,請先看基礎教材。

熱點內容
釣魚網站源碼製作 發布:2025-02-07 08:23:54 瀏覽:138
mac運行fl需要什麼配置 發布:2025-02-07 08:15:45 瀏覽:572
安卓怎麼做都比不了蘋果 發布:2025-02-07 08:12:47 瀏覽:237
怎麼給物理機配置ip地址 發布:2025-02-07 08:01:37 瀏覽:138
三國志13未加密 發布:2025-02-07 07:54:37 瀏覽:925
馬斯克中國訪問 發布:2025-02-07 07:54:29 瀏覽:101
資料庫有表 發布:2025-02-07 07:50:49 瀏覽:28
基於nginx搭建圖片伺服器原理 發布:2025-02-07 07:44:18 瀏覽:448
java等待 發布:2025-02-07 07:28:24 瀏覽:612
vs編譯器會自己加空格嗎 發布:2025-02-07 07:23:05 瀏覽:175