当前位置:首页 » 编程语言 » 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语法是什么,请先看基础教材。

热点内容
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:989
linux删除连接 发布:2024-05-18 20:06:56 浏览:820
linux搭建云服务器平台 发布:2024-05-18 19:52:21 浏览:400
安卓怎么关闭美易订阅 发布:2024-05-18 19:29:16 浏览:642
苹果手机配置代理服务器怎么开 发布:2024-05-18 19:29:07 浏览:229
服务器屏蔽了别人的ip 发布:2024-05-18 19:10:09 浏览:619
怎么获取ins服务器地址 发布:2024-05-18 19:10:03 浏览:30
仙方一般是什么配置 发布:2024-05-18 18:53:43 浏览:159
黑莓安卓手机主题下载到哪里 发布:2024-05-18 18:47:18 浏览:57
汤靖轩编程 发布:2024-05-18 18:46:04 浏览:533