package day04;
/**
- 1 .方法概念(函数、过程)
- 封装了一段特定的业务逻辑功能
- 尽可能独立,一个方法只让干一件事
- 方法可以被反复的重复的调用
- 减少代码的重复,有利于代码的维护,减少团队开发的成本
- 提高开发效率
- 2.方法的语法规范
- 修饰词,返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…){
-
方法体(业务逻辑功能的具体实现)
-
ruturn 返回值;
-
}
-
//如果无返回值类型,就没有return返回值
- 解释:
- 修饰词 :public static
- 返回值类型:用于限定返回值的数据类型
- 方法名:方便调用方法的名字
- 参数类型:限定调用方法时,传入数据的类型
- 参数名:接收代用方法时,传入数据的变量
- 方法体:业务逻辑功能的具体实现
- return:结束方法,把返回值传回给调用者
- 方法调用
-
单独调用,没有意义
-
输出调用,有意义,不够好
-
赋值调用,推荐方式
- 方法
- 有参数有返回值类型
- 有参数无返回值类型
- @author Administrator
*/
public class MethodDemo {
public static void main(String[] args){
int x =5;
int y =8;
int sum =x+y;
//System.out.println(sum);
double s=sum(1.2,3.4);
double m=s+12;
System.out.println(m);
printName("波老师");
double num=getNumber();
System.out.println(num);
say();
int[] arr={1,2,5,4,6,3};
printArrayAdd(arr);
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
System.out.println("=====");
int[] arr1 = printArray(arr);
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
}
//求和方法提取出来
/*
* 返回值类型int
* 参数列表intx inty
*/
public static int sum(int x, int y){
return x+y ;
}
/*
* double类型的求和
* 返回值类型double
* 参数列表double x double y
*/
public static double sum(double x,double y){
return x+y;
}
/*
* 有参数无返回值类型
* 返回值类型void
* 参数列表 有参数
*/
public static void printName(String name){
System.out.println("大家好,我叫"+ name);
}
/*
* 无参数有返回值类型
* 返回值类型 double
* 参数列表 无参数
*/
public static double getNumber(){
//return;//编译错误,必须有一个返回值
//return"123.4"//编译错误 ,返回值类型必须匹配
return 3.14;
//System.out.println("3.14");
}
/*
* 无参数无返回值类型
* 返回值类型 void
* 参数列表 无参数
*/
public static void say(){
System.out.println("爱学习");
}
/*
* 数组作为参数,打印出数组的每一个元素
* 有参数有返回值类型
* 有参数无返回值类型
*/
public static int[] printArray(int[] arr){
int [] arr1 = arr;
for(int i=0;i<arr1.length;i++){
arr1[i] +=3;
}
return arr1;
}
public static void printArrayAdd(int[] arr){
for(int i=0;i<arr.length;i++){
arr[i] +=3;
}
}
}
package day04;
/**
- 方法
- 如果方法的参数是数据基本类型,形式参数的改变不会影响实际参数的改变
- @author Administrator
*/
public class MethodDemo2 {
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);
}
}
乌龟动态图
package cn.ysq.day02;
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;
@SuppressWarnings(“serial”)
public class TJPanel extends JPanel implements KeyListener , MouseListener,Runnable{
private static Object start;
//乌龟初始位置
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[300];
int[] b = new int[300];
//定义一个方向position
//当position=0时,
int position = 0;
//构造方法:方法名和类同名,无任何返回值类型;无参构造
public TJPanel(){//随机产生位置
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();
}
@SuppressWarnings({ "unused" })
public void paint(Graphics g){
super.paint(g);
this.setBackground(Color.cyan);
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, 8);
//龟脚
g.setColor(Color.BLUE);
g.fillOval(k1-80, t1+60, 50, 100);
g.fillOval(k3-110, t3+230, 50, 100);
g.fillOval(k2+120, t3+60, 50, 100);
g.fillOval(k4+140, t4+230, 50, 100);
//加龟壳
g.setColor(Color.YELLOW);
g.fillOval(x-80, y+80, 250,300);
//尾巴
g.setColor(Color.GREEN);
g.fillOval(x, y+330, 70, 200);
//壳加文字
g.setColor(Color.RED);
g.drawString("七彩琉璃龟", x+40, y+200);
//设置字体大小
Font font = new Font(Font. DIALOG ,Font.BOLD,30);
g.setColor(Color.RED);
g.drawString("", x-40, y+180);
/*g.drawRect(20, 150, 400, 600);//矩形
g.setColor(Color.RED);//设置颜色
g.fillRect(120, 200,160,80 );//实心
g.drawOval(30,250 ,100 ,80 );//圆
g.fillOval(130, 300, 100, 100);//椭圆
g.drawLine(80,80,300,350);//线段
g.drawOval(30,250 ,80 ,80 );
g.drawOval(90,250 ,80 ,80 );
g.drawOval(150,250 ,80 ,80 );
g.drawOval(210,250 ,80 ,80 );
*/
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("点击了按钮");
if(e.getKeyCode()==KeyEvent.VK_UP){
System.out.println("点击了上方向键");
repaint();
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("点击了下方向键");
repaint();
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_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;
}
}
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;
}
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("点击了按钮");
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
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
}
@Override
public void run(){
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();
}
}
}
乌龟吃蚯蚓动态图
package cn.ysq.day02;
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;
@SuppressWarnings(“serial”)
public class TJPanel extends JPanel implements KeyListener , MouseListener,Runnable{
private static Object start;
//乌龟初始位置
int x = 300;
int y = 200;
int q = 400;
int r = 100;
//脚的初始位置
int k1=300,t1=200;
int k2=300,t2=200;
int k3=300,t3=200;
int k4=300,t4=200;
//加水的波纹
int[] a = new int[300];
int[] b = new int[300];
//定义一个方向position
//当position=0时,
int position = 0;
//构造方法:方法名和类同名,无任何返回值类型;无参构造
public TJPanel(){//随机产生位置
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();
}
@SuppressWarnings({ "unused" })
public void paint(Graphics g){
super.paint(g);
this.setBackground(Color.cyan);
g.setColor(Color.BLUE);
for(int i=0;i<a.length;i++)
{
g.drawString("~~~~~~", a[i], b[i]);
}
//蚯蚓眼睛
g.setColor(Color.RED);
g.fillOval(q-2, r+6, 5, 5);
g.fillOval(q+9, r+6, 5, 5);
//蚯蚓身体
g.setColor(Color.pink);
g.fillOval(q, r, 12, 100);
//加龟头
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, 8);
//龟脚
g.setColor(Color.BLUE);
g.fillOval(k1-80, t1+60, 50, 100);
g.fillOval(k3-110, t3+230, 50, 100);
g.fillOval(k2+120, t3+60, 50, 100);
g.fillOval(k4+140, t4+230, 50, 100);
//加龟壳
g.setColor(Color.YELLOW);
g.fillOval(x-80, y+80, 250,300);
//尾巴
g.setColor(Color.GREEN);
g.fillOval(x, y+330, 70, 200);
//壳加文字
g.setColor(Color.RED);
g.drawString("七彩琉璃龟", x+40, y+200);
//设置字体大小
Font font = new Font(Font. DIALOG ,Font.BOLD,30);
g.setColor(Color.RED);
g.drawString("", x-40, y+180);
/*g.drawRect(20, 150, 400, 600);//矩形
g.setColor(Color.RED);//设置颜色
g.fillRect(120, 200,160,80 );//实心
g.drawOval(30,250 ,100 ,80 );//圆
g.fillOval(130, 300, 100, 100);//椭圆
g.drawLine(80,80,300,350);//线段
g.drawOval(30,250 ,80 ,80 );
g.drawOval(90,250 ,80 ,80 );
g.drawOval(150,250 ,80 ,80 );
g.drawOval(210,250 ,80 ,80 );
*/
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("点击了按钮");
if(e.getKeyCode()==KeyEvent.VK_UP){
System.out.println("点击了上方向键");
repaint();
y=y-10;
r=r-3;
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("点击了下方向键");
repaint();
y=y+10;
r=r+3;
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_RIGHT){
System.out.println("点击了右方向键");
x=x+10;
r=r+5;
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_LEFT){
System.out.println("点击了左方向键");
x=x-10;
r=r-5;
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;
}
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("点击了按钮");
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
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
}
@Override
public void run(){
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();
}
}
}