大数据day04笔记

会动的小乌龟

主函数

package cn.tedu.day03;

import javax.swing.JFrame;

/*
 * JFrame---窗体-----相框
 * JFrame---画布----相片
 * 导包:
 * 1、手动导包   import...
 * 2、自动导包   ctrl+shift+o
 * 3、点击红色的叉号 
 */
public class TurtlePro {
	public static void main(String[] args){
		//1、创建一个窗体对象
		JFrame frame = new JFrame();

		//2、给窗体添加标题
		frame.setTitle("小龟龟");
		//3、给窗体添加大小
		frame.setSize(1400, 800);
		//4、窗体居中显示

		frame.setLocationRelativeTo(null);
		//类名,静态常量,  减少内存占用
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		Wugui tj=new Wugui();
		//添加画布到面板上
		frame.add(tj);
		frame.addMouseListener(tj);
		tj.addMouseListener(tj);

		//5、显示窗体
		frame.setVisible(true);

	}
}

画乌龟

package cn.tedu.day03;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JPanel;

public class Wugui extends JPanel implements KeyListener,MouseListener,Runnable{

	/**
	 * 
	 */
	//头的位置
	int x=300;
	int y=200;
	//脚的初始位置
	int k1=300,t1=200;//左上
	int k2=300,t2=200;//右上
	int k3=300,t3=200;//左下
	int k4=300,t4=200;//右下
	//Graphics
	//加水的波纹
	int[] a=new int[300];//300个x坐标
	int[] b=new int[300];//300个y坐标

	//构造方法:方法名和类名:无任何返回值类型,:无参构造
	public  Wugui(){
		//随机产生位置
		for (int i=0;i<a.length;i++){
			a[i]=(int)(Math.random()*1400);
			b[i]=(int)(Math.random()*800);
		}
		Thread t=new Thread(this);
		t.start();
	}
	@Override
	public void paint(Graphics g) {
		// TODO Auto-generated method stub
		super.paint(g);
		this.setBackground(Color.cyan);
		//画波纹

		g.setColor(Color.GREEN);
		for(int i=0;i<a.length;i++){

			g.drawString("~~~~~", a[i], b[i]);
		}

		//画头部
		g.setColor(Color.GREEN);
		g.fillOval(x, y, 70, 100);
		//加眼睛
		g.setColor(Color.BLACK);
		g.fillOval(x+10, y+30, 10, 15);
		g.fillOval(x+50, y+30, 10, 15);
		//加舌头
		g.setColor(Color.RED);
		g.fillOval(x+30, y, 8, 6);
		//画脚 左上
		g.setColor(Color.GRAY);
		g.fillOval(k1-85, t1+75, 60, 70);
		//右上
		g.fillOval(k2+85, t2+75, 60, 70);
		//左下
		g.fillOval(k3-85, t3+235, 60, 70);
		//右下
		g.fillOval(k4+85, t4+235, 60, 70);
		//加乌龟壳
		g.setColor(Color.red);
		g.fillOval(x-66, y+66, 200, 230);
		//壳加文字
		g.setColor(Color.BLUE);
		Font font= new Font(Font.DIALOG,Font.BOLD,30);
		//Font font =new Font(Font.DIALOG,Font.BOLD,30);
		g.setFont(font);
		g.drawString("小龟龟", x-10, y+206);

		/*
	  //给画笔设置颜色
	g.setColor(Color.RED);
	//画矩形
	g.drawRect(20, 70, 400, 600);
	//画实心
	g.drawRect(120, 80, 150, 50);
	g.setColor(Color.YELLOW);
	//画圆和椭圆
	g.drawOval(30, 250, 100, 100);
	g.fillOval(130, 300, 100, 100);
	//画奥迪
	//画线段
	g.drawLine(80, 80, 350, 350);
		 */

	}




	//使用方法
	@Override
	public void mousePressed(MouseEvent e) {

		System.out.println("111111111111");
		x=e.getX();
		y=e.getY();
		k1=e.getX();
		t1=e.getY();
		k2=e.getX();
		t2=e.getY();
		k3=e.getX();
		t3=e.getY();
		k4=e.getX();
		t4=e.getY();

		repaint();//重绘,重复调用paint

	}



	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("线程启动");
		while(true){
			for (int i = 0; i < a.length; i++) {
				a[i]--;
				if(a[i]<0){
					a[i]=1400;	
				}
			}	
			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			repaint();
		}

	}


	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub
	}


	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyPressed(KeyEvent e) {


	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub

	}

}

冒泡排序
package cn.tedu.day04;

public class Maopaopaixu {
//public static void main(String[] args) {
//	int[] arr={5,7,6,44,99,54,59,45,62};
//	for(int i=0;i<arr.length;i++){
//		for(int j=0;j<arr.length-1-i;j++){
//			if(arr[j]>arr[j+1]){
//				int tamp=arr[j];
//				arr[j]=arr[j+1];
//				arr[j+1]=tamp;
//			}
//			
//		}
//		
//	}
//	System.out.println("排序后的数组:");
//	for(int i=0;i<arr.length;i++){
//		System.out.println(arr[i]);
//	}
//	
//}
	public static void main(String[] args) {
		int[] arr=new int[] {74,51,64,8,85,6,54,847};
		for(int i=0;i<arr.length-1;i++){
			for(int j=0;j<arr.length-1-i;j++){
				if(arr[j]>arr[j+1]){
					int tamp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=tamp;
				}
				
			}
			
		}
		System.out.println("排序后的结果:");
		for(int i=0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
	}
	
}

可以上下左右移动的乌龟

主函数

package cn.tedu.day04;

import javax.swing.JFrame;

/*
 * JFrame---窗体-----相框
 * JFrame---画布----相片
 * 导包:
 * 1、手动导包   import...
 * 2、自动导包   ctrl+shift+o
 * 3、点击红色的叉号 
 */
public class TurtlePro {
	public static void main(String[] args){
		//1、创建一个窗体对象
		JFrame frame = new JFrame();

		//2、给窗体添加标题
		frame.setTitle("小龟龟");
		//3、给窗体添加大小
		frame.setSize(1400, 800);
		//4、窗体居中显示

		frame.setLocationRelativeTo(null);
		//类名,静态常量,  减少内存占用
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		Wugui tj=new Wugui();
		//添加画布到面板上
		frame.add(tj);
		//添加鼠标的监听事件
		frame.addMouseListener(tj);
		tj.addMouseListener(tj);
		//添加键盘的监听事件
		frame.addKeyListener(tj);
		tj.addKeyListener(tj);
		//5、显示窗体
		frame.setVisible(true);

	}
}

package cn.tedu.day04;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JPanel;

public class Wugui extends JPanel implements KeyListener,MouseListener,Runnable{

	/**
	 * 
	 */
	//头的位置
	int x=300;
	int y=200;
	//脚的初始位置
	int k1=300,t1=200;//左上
	int k2=300,t2=200;//右上
	int k3=300,t3=200;//左下
	int k4=300,t4=200;//右下
	//Graphics
	//加水的波纹
	int[] a=new int[300];//300个x坐标
	int[] b=new int[300];//300个y坐标
//定义一个方向position==0的时候,乌龟的左上脚和右下脚进行向前移动
	int position=0;
	//构造方法:方法名和类名:无任何返回值类型,:无参构造
	public  Wugui(){
		//随机产生位置
		for (int i=0;i<a.length;i++){
			a[i]=(int)(Math.random()*1400);
			b[i]=(int)(Math.random()*800);
		}
		Thread t=new Thread(this);
		t.start();
	}
	@Override
	public void paint(Graphics g) {
		// TODO Auto-generated method stub
		super.paint(g);
		this.setBackground(Color.cyan);
		//画波纹

		g.setColor(Color.GREEN);
		for(int i=0;i<a.length;i++){

			g.drawString("~~~~~", a[i], b[i]);
		}

		//画头部
		g.setColor(Color.GREEN);
		g.fillOval(x, y, 70, 100);
		//加眼睛
		g.setColor(Color.BLACK);
		g.fillOval(x+10, y+30, 10, 15);
		g.fillOval(x+50, y+30, 10, 15);
		//加舌头
		g.setColor(Color.RED);
		g.fillOval(x+30, y, 8, 6);
		//画脚 左上
		g.setColor(Color.GRAY);
		g.fillOval(k1-85, t1+75, 60, 70);
		//右上
		g.fillOval(k2+85, t2+75, 60, 70);
		//左下
		g.fillOval(k3-85, t3+235, 60, 70);
		//右下
		g.fillOval(k4+85, t4+235, 60, 70);
		//加乌龟壳
		g.setColor(Color.red);
		g.fillOval(x-66, y+66, 200, 230);
		//壳加文字
		g.setColor(Color.BLUE);
		Font font= new Font(Font.DIALOG,Font.BOLD,30);
		//Font font =new Font(Font.DIALOG,Font.BOLD,30);
		g.setFont(font);
		g.drawString("小龟龟", x-10, y+206);

		/*
	  //给画笔设置颜色
	g.setColor(Color.RED);
	//画矩形
	g.drawRect(20, 70, 400, 600);
	//画实心
	g.drawRect(120, 80, 150, 50);
	g.setColor(Color.YELLOW);
	//画圆和椭圆
	g.drawOval(30, 250, 100, 100);
	g.fillOval(130, 300, 100, 100);
	//画奥迪
	//画线段
	g.drawLine(80, 80, 350, 350);
		 */

	}




	//使用方法
	@Override
	public void mousePressed(MouseEvent e) {

		System.out.println("111111111111");
		x=e.getX();
		y=e.getY();
		k1=e.getX();
		t1=e.getY();
		k2=e.getX();
		t2=e.getY();
		k3=e.getX();
		t3=e.getY();
		k4=e.getX();
		t4=e.getY();

		repaint();//重绘,重复调用paint

	}



	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("线程启动");
		while(true){
			for (int i = 0; i < a.length; i++) {
				a[i]--;
				if(a[i]<0){
					a[i]=1400;	
				}
			}	
			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			repaint();
		}

	}


	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub
	}


	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyPressed(KeyEvent e) {
		
System.out.println("点击了按钮。");
if(e.getKeyCode()==KeyEvent.VK_UP){
	System.out.println("点击了上方向键!");
	y=y-10;
	if(position==0){
		t1=t1-20;
		t4=t4-20;
	}
	if(position==1){
		t2=t2-20;
		t3=t3-20;
	}
	
	if(t1<t2){
		if(x!=k1){
			x=k1=k2=k3=k4;
		}
		position=1;
	}
	if(t1>=t2){
		if(x!=k1){
			x=k1=k2=k3=k4;
		}
		position=0;
	}
}


if(e.getKeyCode()==KeyEvent.VK_DOWN){
	System.out.println("点击了下方向键!");
	y=y+10;
	if(position==0){
		t1=t1+20;
		t4=t4+20;
	}
	if(position==1){
		t2=t2+20;
		t3=t3+20;
	}
	
	if(t1>t2){
		if(x!=k1){
			x=k1=k2=k3=k4;
		}
		position=1;
	}
	if(t1<=t2){
		if(x!=k1){
			x=k1=k2=k3=k4;
		}
		position=0;
	}
}
if(e.getKeyCode()==KeyEvent.VK_LEFT){
	System.out.println("点击了左方向键!");
	x=x-10;
	if(position==0){
		k1=k1-20;
		k4=k4-20;
	}
	if(position==1){
		k2=k2-20;
		k3=k3-20;
	}
	
	if(k1<k2){
		if(y!=t1){
			y=t1=t2=t3=t4;
		}
		position=1;
	}
	if(k1>=k2){
		if(y!=t1){
			y=t1=t2=t3=t4;
		}
		position=0;
	}
}
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
	System.out.println("点击了右方向键!");
	x=x+10;
	if(position==0){
		k1=k1+20;
		k4=k4+20;
	}
	if(position==1){
		k2=k2+20;
		k3=k3+20;
	}
	
	if(k1>k2){
		if(y!=t1){
			y=t1=t2=t3=t4;
		}
		position=1;
	}
	if(k1<=k2){
		if(y!=t1){
			y=t1=t2=t3=t4;
		}
		position=0;
	}
}
repaint();
	}
	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub

	}

}

数组作为参数,打印出数组的元素
package cn.tedu.day04;

import java.awt.print.Printable;

/*
 * 数组作为参数,打印出数组的每一个元素
 * 1、有参数有返回值
 * 2、有参数无返回值
 */

public class Qiuhe {
	public static void main(String[] args) {
		int[] arr={5,7,6,8,9};
		printArrayAdd(arr);
		for(int i = 0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
	}
	public static int[] prinArrayAdd(int[] arr){
		int[] arr1=arr;
		for(int i = 0;i<arr1.length;i++){
			arr1[i]+=3;
		}
		return arr1;
	}
	private static void printArrayAdd(int[] arr) {
		// TODO Auto-generated method stub
		
		Object arr1;
		for(int i = 0;i<arr.length;i++){
			arr[i]+=3;
			//System.out.println(arr[i]);
		}
		return;
		
	}
	
//	public static void i(){
//		System.out.println("数组元素为:"+i);
//}
//	private static int[] printArray(int[] arr) {
//		// TODO Auto-generated method stub
//		return null;
//	}
}
方法
package cn.tedu.day04;
/*
 * 方法
 * 如果方法的参数是基本数据类型,形式参数的改变不是影响实际参数
 */
public class Fangfa {
	public static void main(String[] args) {
		int x=5;
		int y=6;
		System.out.println(x+","+y);
		add(x,y);
		System.out.println(x+","+y);
	}
public static void add(int x,int y){
	System.out.println(x+","+y);
	x=y;
	y=x+y;
	System.out.println(x+","+y);
}
}

方法
  • 1、方法的概念:(函数/过程)

  • 封装了一段特定业务逻辑功能

  • 尽可能地独立,一个方法只能干一件事

  • 方法可以被反复调用;

  • 减少代码的重复,有利于后期代码的维护,减少团队开发的成本,提高开发的效率。

  • 2、方法的语法范围:

  • 修饰词 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…){

  • 方法体:(业务逻辑功能的具体实现)

  • return 返回值;

  • }

  • //如果无返回值类型,就没有return返回值

  • 解释

  • 修饰词:public static

  • 返回值类型:用于限定返回值的数据类型;

  • 方法名:方便调用方法的名字

  • 参数类型:限定调用方法的时候,传入数据的类型;

  • 参数名:接收待用方法的时候,传入数据的变量;

  • 方法体:

  • return:结束方法,把返回值传回给调用者

  • 方法的调用:
  • 1、单独调用,没有意义

  • 2、输出调用,有意义,不够好

  • 3、复制调用,推荐使用

  • 方法:

  • 有参数

  • 1)有返回值类型

  • 2)无返回值类型

  • 无参数

  • 1)有返回值类型

  • 2)无返回值类型

创建窗体并添加画布
package cn.tedu.day04;
import javax.swing.JFrame;
public class Huaxiaoqiche {
public static void main(String[] args) {
	JFrame frame = new JFrame();
	frame.setTitle("小汽车");
	frame.setSize(1400, 800);
	frame.setLocationRelativeTo(null);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	Car tj=new Car();
	frame.setVisible(true);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值