编程笔记2

2018年7月19日

今天的实现了两个实例的代码。

一个在画星星,结果是背景是黑色的,星星使用“*”代替,一共花了250个,这里主要使用到了随机函数Math.random(),这个函数得出的值是介于0.0到1.0之间,是double类型,(int)(Math.random()*800),这里进行了强制类型转换。

贴上星星代码实现的代码。

import java.awt.*;

public class MyStar{

public static void main(String args[]){

Frame w=new Frame();

w.setBackground(Color.black);

w.setSize(800,600);

MyPanel mp=new MyPanel();

w.add(mp);

w.setVisible(true);

}

}

class MyPanel extends Panel{

public void paint(Graphics g){

g.setColor(new Color(255,0,255));

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

g.drawString("*",(int)(Math.random()*800),(int)(Math.random()*600));

}

}

}

另一个实例是,让球动起来。这里引入了线程的概念。

什么是线程呢?

先说说什么什么是进程,比如你电脑代开一个记事本,这是一个进程,再打开一个画图,又是一个进程,每个进程在内存中都分配了独立的一个内存空间。我们可以同时运行多个进程,这些似乎是同时的,但是本质上计算机在一个时刻只能执行一个进程,之所以感觉好像是同时进行,是因为计算机运算速度快,虽然CPU轮转使用,但还是看不出来。

那么,线程工作原理类似进程,在一个进程中可以轮转运行两个或多个CPU,类似玩玩具时,让这个人玩一会,又让另一个人玩一会,大家只有一个玩具,这个玩具就是CPU,虽然只有一个CPU,但是大家轮转这玩,大家似乎就都有的玩了。由于CPU计算速度很快,好像线程同时进行。

java本身就存在多线程,比如垃圾回收机制。

另一个需要提到的是,处理异常的机制,try{}catch(Exception e){}。

下面是实现小球动起来的代码。

import java.awt.*;

public class MyTest{

public static void main(String args[]){

Frame w=new Frame();

w.setSize(800,600);

MyPanel mp=new MyPanel();

w.add(mp);

Thread t=new Thread(mp);

t.start();

w.setVisible(true);

}

}

class MyPanel extends Panel implements Runnable{

int x=200;

int y=100;

public void paint(Graphics g){

g.setColor(Color.blue);

g.fillOval(x,y,200,200);

}

public void run(){

while(true){

try{

Thread.sleep(500);

}catch(Exception e){}

y=y+100;

repaint();

try{

Thread.sleep(300);

}catch(Exception e){

}

x=x+100;

repaint();

if(y>400){

x=100;

y=100;

}

}

}

}

今天就汇报到这里。

你可能感兴趣的:(编程笔记2)