对于Java新手来说,很棘手的一个问题,就是如何才能够敲好代码?很多Java新手在刚开始接触Java编程的知识的时候,理论才刚上手,就希望自己能够立马在计算机上敲简单的代码,尝试过的朋友都知道,这有点急于求成了,是个很难办到的问题。
创新互联服务项目包括腾冲网站建设、腾冲网站制作、腾冲网页制作以及腾冲网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,腾冲网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到腾冲省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Java新手如何才能够敲好代码?作为一个Java新手,你经常思考这个问题吗?今天就跟北大青鸟小编一起来好好的想想对策。
首先,一定要明确,Java代码不是你想敲写,就可以敲写的出来的,一定是在掌握一定的Java理论知识之后,才可以开启的,所以想要敲好Java代码,一定要重视Java理论知识的学习。
想必很多朋友都知道,Java新手要敲好Java代码,除了苦练,没有什么更加的技巧。
但是苦练也是有技巧的,比如你已经熟练的一类Java代码,你再继续敲也很难有大的突破,但是你不熟练的Java代码,则会成为你的软肋,所以敲Java代码一定是得有方法的,而不是胡乱的敲写,没有任何想法的练习。
对于Java新手来说,代码不敲不行,当代码敲到一定的境界之后,很多Java知识你自然而然的就懂了,所以每天的学习时间一定要多敲代码,但是Java理论知识也不要落下。
所以,对于Java新手来说,美兰IT培训认为要敲好Java代码,的确不是一件容易的事情。
金山打字不是挺好吗?我当时就是用金山打字训练自己的速度的!每天会练习2个小时,坚持了一个月,比起原来有很大的提升
/*
游戏开始,从天上掉下10个有标号(字母)的炸弹,
下面有10颗子弹(就是可以按10个字母).
如果所按字母包含在炸弹中,就找到相应的炸弹并
消灭它,消灭后返回继续利用.如果没有就一直飞到天上最后才返回.
*/
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class paodan extends Applet implements Runnable,KeyListener
{
private Image bgImage;
private Graphics bg;
static Thread myThread;
static AudioClip ac1,ac2;
static JFrame md;
String Zi26="";
String pd[]={"a","a","a","a","a","a","a","a","a","a"}; //用来存储10个字母做落下的炮弹
String fj[]={"","","","","","","","","",""}; //用来存储10个字母做反击的防空
int x[]=new int[10];
int y[]=new int[10];
//炸弹的坐标
int x1[]=new int[10];
int x2[]=new int[10];
int y1[]=new int[10];
//火箭的坐标
int life=100; //生命
Toolkit KIT=this.getToolkit();
Image paodan=KIT.createImage("paodan.jpg");
Image huojian=KIT.createImage("huojian.jpg");
public paodan() //用来生成一个包含26个英文字母的字符串Zi26
{for (int i=0;i26;i++)
Zi26+=(char)((int)'A'+i);
}
public void cushi() //初始各种数据,如炮弹与火箭的坐标.
{
try
{URL u1=this.getClass().getResource("huishou.wav");
URL u2=this.getClass().getResource("lanjie.wav");
ac1=Applet.newAudioClip(u1);
ac2=Applet.newAudioClip(u2);
}catch(Exception e){}
for (int i=0;i10;i++)
{pd[i]=noRepeat();
x[i]=noHit(i,10);
if (i=5)
y[i]=5+(int)(Math.random()*50);
else
y[i]=60+(int)(Math.random()*50);
x1[i]=220+i*32+1; y1[i]=550;
x2[i]=x1[i];
}
}
public void panduan() //用来判断pd[i]的y值是否要到达屏幕下边,如果是就把Y值变为5,并把所有Y值加3.
{ for(int i=0;i10;i++)
{ if (y[i]=500)
{life--;ac1.play();y[i]=5;}
y[i]+=3;
if (life==0) System.exit(0);
}
y[9]+=3;
md.setTitle("打字训练室 你的生命为"+life+" 提示:白色的字母表示未按,粉红色的表示已按.");
}
public void fk() //防空程序,用来击毁落下的炸弹
{ int i=0,j=0;
for (i=0;i10;i++)
{ if (!fj[i].equals(""))
{
for (j=0;j10;j++)
if (fj[i].equals(pd[j]))
{ if (!(x1[i]=x[j] x1[i]=x[j]+32 || x1[i]+32=x[j] x1[i]+32=x[j]+32))
if (x1[i]x[j])
x1[i]-=4;
else x1[i]+=4;
if (!(y1[i]=y[j] y1[i]=y[j]+32 || y1[i]+32=y[j] y1[i]+32=y[j]+32))
if (y1[i]y[j])
y1[i]-=3;
else y1[i]+=4;
if (y[j]=380 Math.abs(x[j]-x1[i])5)
if (x[j]x1[i]) x1[i]+=5;
else if (x[j]x1[i]) x1[i]-=5;
if (y[j]=380 Math.abs(y[j]-y1[i])5)
if (y[j]y1[i]) y1[i]+=5;
else if (y[j]y1[i]) y1[i]-=5;
if ((x1[i]=x[j] x1[i]=x[j]+32 || x1[i]+32=x[j] x1[i]+32=x[j]+32) (y1[i]=y[j] y1[i]=y[j]+32 || y1[i]+32=y[j] y1[i]+32=y[j]+32))
{life++;ac2.play();pd[j]=noRepeat(); x[j]=noHit(i,10); y[j]=5; x1[i]=x2[i];y1[i]=550;fj[i]="";}
break;
}
if (j==10) y1[i]-=3;
if (y1[i]=5) {y1[i]=550; fj[i]="";}
}
}
}
public void paint(Graphics g)
//根据相应的坐标在屏幕上画炸弹和吃炸弹的娃娃,并保证白色的字母表示未按,粉红色的表示已按
{int i=0,j=0;
g.setFont(new Font("Vrinda",1,21));
for(;ipd.length;i++)
{ for (j=0;jfj.length;j++)
if (pd[i].equals(fj[j]))
{g.setColor(new Color(255,93,55));
g.drawImage(paodan,x[i],y[i],this);
g.drawString(pd[i],x[i]+11,y[i]+20);
break;
}
if (j==fj.length)
{g.setColor(new Color(255,255,255));
g.drawImage(paodan,x[i],y[i],this);
g.drawString(pd[i],x[i]+11,y[i]+20);
}
g.setColor(new Color(255,93,55));
g.drawImage(huojian,x1[i],y1[i],this);
g.drawString(fj[i],x1[i]+10,y1[i]+22);
}
}
//没有按的显红色,按了的显白色
public void keyPressed(KeyEvent k) //当用户按的是字母时,就生成一个防空字母.
{char z=k.getKeyChar();
int i=0,j=0;
if ((z='A' z='Z') || (z='a' z='z'))
{ if (z-32=65) z-=32;
String zc=""+z;
for(;ifj.length;i++)
{ if (zc.equals(fj[i])) break;
} //保证字母不重复
if (i==fj.length)
for(i=0;ifj.length;i++)
if (fj[i].equals("")) {fj[i]=zc;break;}
}
}
public void keyReleased(KeyEvent k){}
public void keyTyped(KeyEvent k){}
public String noRepeat() //生成一个不重复的字母.
{int zc,i;
String xinx;
while(true)
{zc=(int)(Math.random()*26);
xinx=Zi26.substring(zc,zc+1);
for(i=0;i10;i++)
if (pd[i].equals(xinx)) break;
if(i==10) return xinx;
}
}
int noHit(int i,int langth) //让字母保持车距.
{int tmpX,j,k,width=32;
while (true)
{ tmpX=(int)(Math.random()*768)+1;
for(j=0;j10;j++)
{ if (tmpX+widthx[j] || tmpXx[j]+width) continue; //如果欲生成的位置不与当前J所占的位置相交就判断下一个J.
if ((tmpX=x[j] tmpX=x[j]+width) || (tmpX+width=x[j] tmpX+width=x[j]+width)) break;
//如果欲生成的位置与当前x[j]所占据的范围相交就结束循环,重新生成一个起始位置.
}
if (j==10) {return tmpX;}
}
}
public void update(Graphics g)
{if (bgImage==null)
{bgImage=createImage(this.getSize().width,this.getSize().height);
bg=bgImage.getGraphics();
}
bg.setColor(getBackground());
bg.fillRect(0,0,this.getSize().width,this.getSize().height);
//bg.setColor(getForeground());
paint(bg);
g.drawImage(bgImage,0,0,this);
}
public void run() //用线程循环更改Y值,并根据新的坐标在屏幕上重画pd[I];
{
while(true)
{fk();
panduan();
repaint();
try{ myThread.sleep(50); }catch(Exception e) {}
}
}
public static void main(String args[])
{paodan m=new paodan();
md=new JFrame("打字训练室");
md.setSize(800,600);
md.addKeyListener(m);
md.getContentPane().add(m);
m.cushi();
md.setVisible(true);
md.setResizable(false);
myThread=new Thread(m);
myThread.start();
}
}
注:源代码取自编程中国
本人一点建议:其实你这样学Java是没用的,你应该知道你做的项目思想,先做什么后做什么,然后在亲自动手去敲代码!一点建议!
在21世纪电脑日益普及的年代,各种软件应运而生,编程就显得尤为重要。然而Java语言在编程语言中又显得尤为的基础而又重要。前景光明美好,但是真正想要成为IT专业人才却又有大批的学习者认为比较困难,所以Java学习方法就异常的重要。
1.兴趣之上
如果我们是刚刚接触到Java语言,之前对Java语言只是模糊的知道它是用来编写程序的语言,那么就要对它抱有兴趣“兴趣是最好的老师”有了兴趣才会有欲望想要了解更多的这方面的知识,能够接受更多的信息。所以你是否对学习Java语言有兴趣能够直接影响到你是否能够学好这门课程,成为IT高手。
想要让自己对某一样事物产生兴趣那么就要采用激励法,了解Java语言的强大功能,用Java语言来编写各种软件,实现不同的功能。Java语言是现在编程语言中流行普遍的语言,能够能够运用Java语言编写程序制作软件来解决实际生活中问题还是需要努力学习好基础知识。
2. 注重实践
古语有言:“君子动口不动手”然而在现代社会,你想要很好的生活下去既要能动口,而且能够动手。学习Java语言也是一样理论重要,实践更为重要。我们只有在理论基础上通过实践才能够真正的学好Java语言。在学习的过程中要进行一系列的总结反思。明白如何来学习,如何更简单有效的学习。坚持亲自动手实践,不要让理论孤立无援。
3. 合理转换思维
很多的人都觉得各类编程语言比较难学太过于抽象,Java语言同样也不能够排除在外,但是同样有很多的人能够很好的学习,将抽象问题具体化亦不失为一种办法,让那些索然无味的Java语言成为无限的乐趣,转换成为我们熟知的事物定律,这样就可以收到意想不到的效果.
4.自主学习,思维创先
有人说课堂上根本就学不到很多东西,这一点我想很多人都不能够否认,课堂上学习的知识模糊,而且流水式的消失,如果说仅仅凭借前人的经验那么又怎么会有创新,如果没有创新,恐怕我们还依旧生活在古猿人时代,根本就不可能有现代社会的存在。同理而言,如果在学习Java语言是不能够自主学习,什么都要依靠老师,经验那么学习就会显得有尤为的困难。将学习积极性调动起来,达到师生互动的效果,教师自问自誉为主,有问有答,互问互答,增加课堂的良性互动。增强思维的创先,增强自主学习的能力。
5.“引申法”和“求异法”两种方法的结合
“引申法”是指是能够已经解决的问题基础上,因势利导,在此基础上解决相关联的问题。“引申法”可以培养学生在编写计算机语言上开拓思维。增强程序设计中的灵活运用能力。需要解决的问题是变化的,但程序是有一定的模块可以套用的。我们要明白,语法是有限的,可解决的问题是无限的。只要在分析面对的问题的基础上,以简单明了的思路去设计算法,才能举一反三,以不变应万变。
“求异法”:一个固定的问题。解决的办法经常有很多种,如果我们能够从多个不同的角度侧面去寻求解决问题的办法,那么就可以引导思维的积极性,提高学习的兴致。在JAVA语言中一题多解的情况很经常出现,我们可以思考不同的角度来解决问题,有意识地开创新思路,培养我们在Java编程中的求异思维,而不是墨守成规。
6.理论与实践双重结合
在学习Java语言中,理论学习和上机都异常重要我们不能够重此失彼。实验课注重的是实践,不能够形同虚设必须要学会思考、创新,训练实践能力,上机实验课要注重交流,不仅要学会算法,又要有独立的思考空间,充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,都要进行与之相关的上机实验,这样才能将知识与能力进行结合,在课堂前应该对上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样才能够更好的利用上机实验课的时间,学到更多的东西
运行代码
具体的代码如下:
import java.util.HashMap;
public class SearchDemo {
public HashMapInteger,Integer countMap(char[] arr){
HashMap countMap = new HashMapInteger, Integer();
for (int i = 0; i arr.length; i++) {
if(!countMap.containsKey(arr[i])){
countMap.put(arr[i],1);
}else{
int value = (int)countMap.get(arr[i]) + 1;
countMap.put(arr[i],value);
}
}
return countMap;
}
public static void main(String[] args) {
char[] arr={'A','1','R','!','e','','A','5','A','g','#','D'};
int count = new SearchDemo().countMap(arr).get('A');
System.out.println("其中'A'字符的个数是:" + count);
}
}
运行结果