和luster一起学习java编程.doc_第1页
和luster一起学习java编程.doc_第2页
和luster一起学习java编程.doc_第3页
和luster一起学习java编程.doc_第4页
和luster一起学习java编程.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

和luster一起学习java编程(1)摘要这些东西很快就基本掌握了。于是开始看java里面的线程(thread)。(2002-08-25 14:16:19)By Wing, 出处:luster一个线程的例子在朋友和媒体的鼓吹下,我开始学习java了。关于java的介绍我就不写了。这个文档只适合初学者。我的email地址是:,欢迎大家和我交流学习体会。今天是2001年1月13日,我将在以后的日子里在本网站本栏目不定期的发一些我的学习笔记和一些练习小程序,和初学者一起学习讨论。首先是花了10分钟浏览了一编java的基本语法结构,因为我自己有很多的C/C+编程经验,所以这些东西很快就基本掌握了。于是开始看java里面的线程(thread)。下面是一个例子。import java.io.*;class Counter extends Threadint i = 0;public void run()while(i20)System.out.println(i+);trysleep(1000);catch(InterruptedException e)System.out.println(Im finished couting.);class Listener extends ThreadDataInputStream userInput = new DataInputStream(System.in); String input=;public void run()while(!input.equals(Quit)tryinput=userInput.readLine();catch(IOException e) System.out.println(You typed+input);System.out.println(Iam finished listening.);class HearYoupublic static void main(String args)Thread counter = new Counter();counter.setPriority(Thread.MAX_PRIORITY);Thread listener = new Listener();listener.setPriority(Thread.NORM_PRIORITY);counter.start();listener.start();while(counter.isAlive() listener.isAlive()System.out.println(Something is still alive);try Thread.sleep(3000);catch(InterruptedException e)System.out.println(no more. Good bye.);编译执行后,程序里面会有两个线程运行,你可以看看上面的源码,很好懂的,再实际运行体会一下结果。关于线程还有很多话题,例如“优先级”等。我要去看书去了。呵呵。和luster一起学习java编程(2)摘要和luster一起学习java编程(2002-08-25 14:16:27)By Wing, 出处:luster和luster一起学习java编程(2)今天我们来看看线程的优先级方面的问题。呵呵。下面是一个简单的例子,启动两个线程,赋予不同的优先级。我们会发现,优先级高的能先运行完。class Counter extends Threadint i = 0;public void run()while(i1000)if(i+%10) = 0)System.out.println(getName()+ +i/10);trysleep(int)(Math.random()*10);catch(Exception e)class ThreadPriopublic static void main(String args)Thread one = new Counter();one.setName(T1);one.setPriority(Thread.NORM_PRIORITY-2);Thread two = new Counter();two.setName(T2);two.setPriority(Thread.NORM_PRIORITY+2);one.start();two.start();while(one.isAlive() two.isAlive()tryThread.sleep(5000);catch(InterruptedException e)例子中的setName方法是给一个线程赋予一个名字,这样可以知道到底是那个线程在运行了。呵呵。大家可以运行上面的程序,体会一下效果。和luster一起学习java编程(3)摘要和luster一起学习java编程(2002-08-25 14:16:37)By Wing, 出处:luster和luster一起学习java编程(3)呵呵,和大家一起了解了一下关于线程的概念。本来接下来是看一些io类的,刚刚匆忙浏览了一下,发现没什么好玩的,就是简单的一些输入输出函数,以后要用的时候再自习看算了。于是我直接跳到了包里面的定义的类,看看有什么好玩的东西。:)当然是对socket编程很感兴趣罗,看了看类的结构,写了一个小程序来测试。下面是源码。是用UDP来发送数据的。发送方程序使用方法:java Sender 1000 2000 其中2000为接收方的udp端口号。import .*;class Senderstatic final int sendOnNewline = ;static final int end = -1;public static void main(String args) throws ExceptionInetAddress iAddr = InetAddress.getLocalHost();int sPort = Integer.parseInt(args0);int rPort = Integer.parseInt(args1);DatagramSocket sock = new DatagramSocket(sPort);byte makeLine = new byte80;int inLine = 0;int nextByte; while(nextByte=System.in.read()!=end)switch(nextByte)default:makeLineinLine+=(byte)nextByte;if(inLine接收方程序,使用方法是:java Receiver 2000 quit注意:当发送方发出了quit这个字符串之后,程序就会退出了。:)import .*;class Receiverpublic static void main(String args) throws Exceptionint rPort=Integer.parseInt(args0);DatagramSocket sock = new DatagramSocket(rPort);byte takeLine = new byte80;DatagramPacket p;String killCommand = args1;String receiveString = ;while(!receiveString.equals(killCommand)p = new DatagramPacket(takeLine,takeLine.length);sock.receive(p);System.out.println(receiveString = new String(p.getData(),0,0,p.getLength();你运行试试看,再看看源程序,看看收发结构,很简单哦。和luster一起学习java编程(4)摘要和luster一起学习java编程(2002-08-25 14:18:07)By Wing, 出处:luster和luster一起学习java编程(4) 高兴又能和你一起学习java编程了,我写了3篇和luster一起学习java编程了,其实呢,这些内容基本上是我学习的时候敲到计算机里面的例子程序。给大家一个参考,自己还要多看java的文档。如果你懒得去看英文的话,干脆去买本中文的java编程入门的书放在手边,看看。我觉得图形界面是很吸引人的一个地方,看了看文档,最常用的是java.awt包了,我研究了一些文档,下面是一个简单的例子。import java.awt.Color;import java.awt.BorderLayout;import java.awt.event.*;import javax.swing.*;class SwingUI extends JFrameimplements ActionListener JLabel text, clicked; JLabel warn; JButton button, clickButton; JPanel panel; private boolean _clickMeMode = true; SwingUI() /Begin Constructor text = new JLabel(Im a Simple Program); warn = new JLabel(Heheh); button = new JButton(Click Me); button.addActionListener(this); panel = new JPanel(); panel.setLayout(new BorderLayout(); panel.setBackground(Color.white); getContentPane().add(panel); panel.add(BorderLayout.CENTER, text); panel.add(BorderLayout.NORTH, warn); panel.add(BorderLayout.SOUTH, button); /End Constructor public void actionPerformed(ActionEvent event) Object source = event.getSource(); if (_clickMeMode) text.setText(Button Clicked); button.setText(Click Again); _clickMeMode = false; else text.setText(Im a Simple Program); button.setText(Click Me); _clickMeMode = true; public static void main(String args) SwingUI frame = new SwingUI(); frame.setTitle(Example); WindowListener l = new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ; frame.addWindowListener(l); frame.pack(); frame.setVisible(true); 你不妨编译运行看看。这是我第一次写java图形界面的程序,效果真的很棒。当我把我在linux编译好的类文件,直接拷贝到windows2000下面运行的时候,我高兴极了!真是方便,可以直接运行!而且是图形界面的。上面的程序,很简单,大家仔细看看就能看懂,如果不懂,再看看java的文档就ok了。写到这里,我们走马观花式的学习了线程、socket和简单的awt图形界面程序。其实还学了很多基本的语法,我们的速度还是很快的。呵呵。和luster一起学习java编程(5)摘要和luster一起学习java编程(2002-08-25 14:19:12)By Wing, 出处:luster和luster一起学习java编程(5) 这次我试了试在canvas上做图的方法。使用java.awt包,可以提供一个友好的图形界面,我们可以自由的布置图像界面的效果,而且可以画一些东西。这对于我们初学者来说,也许是个比较好的学习例子。我看了看文档,发现一个简洁的方法就是定义一个Canvas的子类,用paint()方法在属于该canvas类型的部件的Graphics实例上绘制图形。下面的代码生成了一个Frame以及Canvas的一个子类的4个实例,他们的paint()方法绘制出实心圆。本来想画些其他东西的,后来觉得圆最简单好用,而且其他的绘图函数我看了一下,好多啊,参数就懒得去弄了。如果你有兴趣的话,部分去看看。用一两个函数试试看。呵呵。下面是代码:import java.awt.*;class CirclesCanvas extends Canvaspublic void paint(Graphics ccG)/ ccG.setColor(new Color( new double(Math.random().floatValue(),new double(Math.random().floatValue(),new double(Math.random().floatValue();ccG.fillOval(0,0,96,96);class FlowCircles extends Framepublic static void main(String args)Frame fC = new FlowCircles(4);fC.resize(384,384);fC.show();public FlowCircles(int howMuchCanvas)setTitle(welcome to lusters Gallery);setLayout(new FlowLayout();for(int i=0;i运行的结果如何?是画出了4个圆吧。呵呵。和luster一起学习java编程(6)摘要和luster一起学习java编程(2002-08-25 14:19:39)By Wing, 出处:luster和luster一起学习java编程(6)今天一大早起床,到计算机旁开始学习java,我想我们对awt提供的图形界面还是了解得很少。于是我打算再好好看看这里面的内容。顺便提一下,关于java有一本很好的书,叫Thinking in Java,大家有一会一定要阅读!电子版网上是有下载的。下面我们看看事件处理。我们实现一个简单的功能,当用鼠标在窗口的某位置点一下的时候,我们就在该点留下一个小圆点。下面是源代码:import java.awt.*;class

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论