day05大数据学习

一、方法

基本数据类型

//形参:用于接收实际参数的变量

//实参:实际参与运算的变量

import java.util.Arrays;

public class Test {

public static void main(String[] args) {
	
	int x = 10;
	int y = 5;
	
	System.out.println("x:" + x +",y:" + y);//10,5
	changeNumber(x,y);//调用方法,运行changeNumber,调用完释放
	
	System.out.println("x:" + x +",y:" + y);//x:10,y:5;

}
//形参的改变不会引起实参的改变,基本数据类型
public static void changeNumber(int x,int y){
	y = x;
	y = x + y;
	System.out.println("x:" + x +",y:" + y);//x:10;y:20第二个
	
}

}

引用数据类型

import java.util.Arrays;

/**

  • 引用数据类型:数组,放在堆中
  • 方法参数:引用数据类型,形参改变会引起实参改变
  • @author Administrator
    *
    */

public class MethodTest {

public static void main(String[] args) {
	
	//定义数组
	int[] arr = {1,2,5};
	//遍历元素
	for(int i = 0; i < arr.length; i++){
		System.out.println(arr[i]);
		
	}
	//调用方法
	changeNumber(arr);
	
	for(int i = 0; i < arr.length; i++){
		System.out.println(arr[i]);
		
	}
	System.out.println(Arrays.toString(arr));

}
public static void changeNumber(int[] arr){
	
	for(int i = 0; i < arr.length; i++){
		if(arr[i]%2 == 0){
			arr[i] *= 3;//取到偶数*3
		}
	}
  }
}

面向对象

1、面向对象思想

A、面向过程

  • 强调的是过程,所有事情都需要自己完成

B、面向对象 根据客户需求, 高内聚,低耦合

  • 是一种更符合我们思想习惯的思想(懒人思想)
  • 可以将复杂的问题简单化(对使用者说简单了,对象里面还是复杂的)
  • 将我们从执行者变成了指挥者

定义类的成员变量

类的定义包括“成员变量‘的定义和”方法“的定义,用于描述对象的行为,封装对象的功能。

成员变量在哪定义,作用域

  • 求和的重载
  • 就近原则:char类型转化为int类型
  • Java中方法的调用参考两点:1)方法签名2)就近原则
  • System.out.println()也是一个重载
  • @author Administrator
    class Adds{
    public int add;

public class AddDemo {

public void main(String[] args) {
	Adds ad = new Adds();
	System.out.println(ad.add +('0',5));
}

}

//void无返回值;int有返回值

public int add(int x ,int y){

	System.out.println("1-");

	return x + y;

}

public int add(int x){

	System.out.println("2-");

	return x + x;

}

public double add(double x, double y){

	System.out.println("3-");

	return x + y;

}

//add(int y, int x)跟上边一样,方法重复

// public int add(int y,int x){

// return x + y;

// }

//}

练习

/**

  • 手机类:
  • 型号:String
  • 颜色:String
  • 给name打电话,
  • 发name发短信,
  • @author Administrator
    *构造方法:(构造器)
    *1、构造方法声明在类内部
    *2、方法名与类名相同
    *3、不能声明返回值类型
    *4、构造方法可以包含参数,参数一般是创建对象实例所依赖的条件
    *如果不写构造方法:系统会默认提供一个无参构造
    */

public class Phone {

//成员变量
String name;
String color;

//构造方法
//无参构造
	public Phone(){
		
	}
//有参构造
	public Phone(String name, String color){
		this.name = name;
		this.color = color;
	}

//方法
public void call(String name){
	System.out.println("给" + name + "打电话");
}
public void faDuanXin(String name){
	System.out.println("给" + name + "发短信");
	
}
public void printPhoneInfo(){
	System.out.println("手机:" + name + "颜色:" + color);
  }	
}

测试类

public class Cha {

   public static void main(String[] args) {

	

	   Phone stu = new Phone();
        stu.name = "pipi";
        stu.color = "blue";
        stu.call("acc");
        stu.faDuanXin("pdd");
        stu.printPhoneInfo();
        
        Phone p = new Phone("iphone Sx max","红色");
        p.printPhoneInfo();




}	

}

继承

public class ExtendsDemo {

public static void main(String[] args) {
	LOL l = new LOL("tencent", 111, "pdd");
	l.printInfo();
	l.name ="ad";
	l.version =1;
	l.agent= "tencent";
	l.player="pdd";
	l.start();
	l.stop();


	

	

}

}

class Game{

String name;

int version;

String agent;

boolean isPc;



public Game(String name, int version,String agent){
	this.name = name;
	this.version = version;
	this.agent = agent;
	this.isPc = true;
	
}

public void start(){
	System.out.println("游戏启动");
}
public void stop(){
	System.out.println("游戏结束");
}
public void printInfo(){
	System.out.println(name +","+version + agent);
}

}

class LOL extends Game{

String player;



public LOL (String name,int version,String agent){
	super(name,version,agent);
	this.player = player;
	
}

public void start(){
	System.out.println("游戏启动后先进行更新……");
	System.out.println("游戏玩家" + player );
}

}

class Honor extends Game{

public Honor(String name,int version,String agent,boolean isPc){
	super(name,version,agent);


	

}

}

  • 方法的签名:方法名称+参数列表
  • @author Administrator

public class OverLoadDemmo {

//现金方式
public void payByCash(double money){
	System.out.println("使用现金支付");
	
}

//银行卡
public void payByCard(String username,String password,double money){
	System.out.println("使用银行卡支付");
	
}
//支票
public void payByCheck(double money){
	System.out.println("使用支票支付");
	
}
public void pay(String username, String password){
	System.out.println("使用信用卡支付");
	
}
//方法的重载,方法名称相同,参数列表不同
public void pay(double money,String name){
	System.out.println("使用现金支付");
	
   }	
} 

练习

  • 学生类:姓名,性别,年龄,成绩
  • 女的,190,打游戏,做饭 苍老师
  • @author Administrator
    *添加构造方法,并进行测试
    */

public class Student {

//成员变量--特征,属性

String name;

int age;

double score;

//方法行为

public void play() {

	System.out.println("打游戏");

}
public void study(){
	System.out.println("学习");
}
public void printStudentInfo(){
	System.out.println("姓名:" + name + "年龄" + age +"成绩" + score);
}

//构造方法
public Student(String name, int age, double score){
	this.name = name;
	this.age = age;
	this.score = score;
	
   }
}

package cn.tedu.day05;

public class Test01 {

public static void main(String[] args) {

	

	//构造方法输出
	Student stu = new Student("qq", 110, 50);
	stu.printStudentInfo();
	
	//方法
	stu.name = "pipi";
	stu.age = 18;
	stu.score = 88;
	stu.printStudentInfo();
	stu.study();
	stu.play();
	
	Student stu1 = new Student(null, 0, 0);
	stu1.name = "baby";
	stu1.age = 18;
	stu1.score = 88;
	stu1.printStudentInfo();
	stu1.study();
	stu1.play();
	
	Student stu2 = new Student(null, 0, 0);
	stu2.name = "aa";
	stu2.age = 18;
	stu2.score = 88;
	stu2.printStudentInfo();
	stu2.study();
	stu2.play();
}
public static void printlnstudentInfo(Student stu){
	System.out.println("姓名:" + stu.name + "年龄" + stu.age +"成绩" + stu.score);
}

}
	
	/*String name = "pipi";
	int age = 18;
	int score = 76;
	printStudentInfo(name, age, score);
	
	String name1 = "oioi";
	int age1 = 18;
	int score1 = 76;
	printStudentInfo(name1, age1, score1);


	

}
public static void printStudentInfo(String name, int age,int score){
	System.out.println("姓名:" + name + "年龄" + age +"成绩" + score);
}*/

package cn.tedu.day05;

/**

  • 成员变量和局部变量
  • 1、在类中的位置不同
  • 成员变量:类中,方法外
  • 局部变量:方法中或者方法的声明上(形参)
  • 2、在内存中
  • 成员变量:堆内存中
  • 局部变量:栈内存中
  • 3、初始化
  • 成员变量:有默认值
  • 局部变量:没有默认值,必须先进性声明,后进行初始化
  • 4、生命周期
  • 成员变量:随着对象的创建存在,对象消失而消失
  • 局部变量:随着方法的调用存在,方法调用完毕后消失
  • @author Administrator
    *
    */

public class VariableTest {

//x成员变量

static int x;



public static void main(String[] args) {
	
	x = 66;
	printInfo();
	System.out.println(x + "===");//
}


public static void printInfo(){
	x = 76;
	int y = 5;
	System.out.println(x + "-------");
	System.out.println(x);
	System.out.println(y);
}

}

画布:乌龟

package cn.tedu.day05;

import javax.swing.JFrame;

public class WuguiMain extends JFrame {

public WuguiMain (){

 this.setSize(1400,800);

 this.setTitle("123");

 this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);

 this.setLocationRelativeTo(null);

 

 

 WuguiPanel tj = new WuguiPanel();//创建对象
 this.add(tj);//装载到窗体
 this.setVisible(true);
 
 this.addMouseListener(tj);
 tj.addMouseListener(tj);//监听

}

/主函数程序入口/

public static void main(String[] args) {

new WuguiMain ();

}

}

package cn.tedu.day05;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.JPanel;

public class WuguiPanel extends JPanel implements Runnable,MouseListener{

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;



//写一个数组
int[] a = new int[200];//x坐标
int[] b = new int[200];//y坐标

public WuguiPanel(){//构造方法
	this.setBackground(Color.CYAN);
	//产生水波纹
	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();
	}

public void paint(Graphics g){

super.paint(g);

g.setColor(Color.BLUE);

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.ORANGE);
//ctrl+alt+下健
g.fillOval(k1 - 75, t1 + 70, 60, 70);//左上脚
g.fillOval(k2 + 75, t2 + 70, 60, 70);//左下
g.fillOval(k3 - 75, t3 + 235, 60, 70);//左上
g.fillOval(k4 + 75, t4 + 235, 60, 70);//右下
//画壳
g.setColor(Color.GREEN);
g.fillOval(x - 66, y + 69, 200, 230);
//字
g.setColor(Color.RED);
Font font = new Font(Font.DIALOG,Font.BOLD,30);
g.setFont(font);
g.drawString("1111",x - 25,y + 175 );

}

public static void main(String[] args) {

	

}
@Override
public void run() {

while(true){

	x++;

	if(x >= 1440){

		x = 0 ;

	}

	k1++;

	if(k1 >= 1440){

		k1 = 0 ;

	}

	k2++;

	if(k2 >= 1440){

		k2 = 0 ;

	}

	k3++;

	if(k3 >= 1440){

		k3 = 0 ;

	}

	k4++;

	if(k4 >= 1440){

		k4 = 0 ;

	}

	

			for (int i = 0; i < a.length; i++) {
				a[i]--;
				if (a[i] < 0) {
					a[i] = 1400;
				}
			}
			repaint();//重绘调用paint方法
			//线程的睡眠
			try {
				Thread.sleep(10);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

}

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

// System.out.println(“启动了”);

	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();

}

@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
	
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值