Java学习笔记

以前做的小demo,功能简单,但蕴含了很多Java基本属性与使用方式,例如:类,多态,线程,输入等等,对于初学者挺适合了解一下的。

至于如何建立类,只有自己了解学习了。

此处仅仅体现了一下线程的用法与意义,具体用法需要自习拓展。

此处仅实现了功能具体使用原理请百度详细了解。

使用环境eclipse

基类:

package my;
import java.util.Scanner;
public  class base extends Thread
{
	public double S;
	public double C;
	public String name;
	public double area()
	{
		return S;
	}
	public double Perimeter()
	{
		return C;
	}
	public void getkind()
	{
		
	}
	public void getmessage() 
	{
		
	}
	public void outmessage()
	{
		System.out.println("面积:"+this.S);
		System.out.println("周长:"+this.C);
		System.out.println("类型:"+this.name);
	}
	//super调用父类函数
    //	abstract +类 即为抽象类
	//public void abstract whatever()//没有函数体申明即为抽象函数
	//抽象类不能被实例化
	//import +包+class导入类
	//import +包+.*导入该目录下所有类
//	如果一个类包含抽象方法,那么该类必须是抽象类。
//	任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
	
//	1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
//	2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
//	3. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
//	4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

//	在Java中,类的多继承是不合法,但接口允许多继承,。
//	在接口(interface )的多继承中extends关键字只需要使用一次,在其后跟着继承接口。 如下所示:
//	public interface Hockey extends Sports, Event
	//Scanner 读取时next(),不可读取下一行、,,,,,nextline可以
	//Scanner 的hasnextInt //hasnextFloat 分别读取整数与小数
}
三角类:
package my;

import java.util.Scanner;

public class sanjiao extends base
{
	private double di;
	private double high;
	public double area()
	{
		S=di*high/2;
		return S;
	}
	public void getmessage() 
	{
		System.out.println("这是一个三角形,请输入底:");
		Scanner l=new Scanner(System.in);
		Scanner k=new Scanner(System.in);
		di=l.nextDouble();
		System.out.println("请输入高:");
		high=k.nextDouble();
	}
	public void outmessage()
	{
		System.out.println("该三角形面积:"+area());
		System.out.println("该三角形周长懒得算");	 
	}
	public static void main(String[] args)
	{
		sanjiao a=new sanjiao();
		a.getmessage();
		a.outmessage();
	}
	public void run()
	{
		int i=0;
		for(i=0;i<100;i++)
		{
			System.out.println("hail 三角"+i);
			try
			{
				Thread.sleep(30);
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
圆类:

package my;
import java.util.Scanner;
public class yuan extends base
{
	private double PI=3.14159;
	private double R;
	public double area()
	{
		S=PI*R*R;
		return S;
	}
	public double Perimeter()
	{
		C=2*PI*R;
		return C;
	}
	public void getkind()
	{
		
	}
	public void getmessage()
	{
		System.out.println("这是一个圆,请输入半径:");
		Scanner m=new Scanner(System.in);
		Boolean p=m.hasNextLine();
		if(p)
		{
			R=m.nextDouble();
		}
		else 
		{
			System.out.println("输入错误!");
		}
	}
	public void outmessage()
	{
		System.out.println("圆面积:"+area());
		System.out.println("圆周长:"+Perimeter());	 
	}
	public static void main(String[] args)
	{
		yuan a=new yuan();
		a.getmessage();
		a.outmessage();
	}
	public void run()
	{
		int i=0;
		for(i=0;i<100;i++)
		{
			System.out.println("hail 圆"+i);
			try
			{
				Thread.sleep(30);
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
四边形类:

package my;

import java.util.Scanner;

public class sibian extends base
{
	private double chang;
	private double kuan;
	public double area()
	{
		S=chang*kuan;
		return S;
	}
	public double Perimeter()
	{
		C=(chang+kuan)*2;
		return C;
	}
	public void getmessage()
	{
		System.out.println("这是一个四边形,请输入长:");
		Scanner l=new Scanner(System.in);
		Scanner k=new Scanner(System.in);
		chang=l.nextDouble();
		System.out.println("请输入宽:");
		kuan=k.nextDouble();
	}
	public void outmessage()
	{
		System.out.println("该四边形面积:"+area());
		System.out.println("该四边形周长:"+Perimeter());	 
	}
	public static void main(String[] args)
	{
		sibian a=new sibian();
		a.getmessage();
		a.outmessage();
	}
	public void run()
	{
		int i=0;
		for(i=0;i<100;i++)
		{
			System.out.println("hail 四边"+i);
			try
			{
				Thread.sleep(30);
			} catch (InterruptedException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
//				dont worry about anything
				//bang bang bang bang
			}
		}
	}
}
最后操作demo类:

package my;
import java.util.Random;
import java.util.Scanner;
public class demo
{
	public static void main(String[] args)
	{
		int jl=0,ok=0;
		System.out.println("请输入您想操作的次数:");
		Scanner s=new Scanner(System.in);
		if(s.hasNextLine())
		{
			ok=s.nextInt();
		}
		base a;
		while(jl<ok)
		{
			jl++;
			System.out.println("这是第"+jl+"次操作");
			Random w=new Random();
			int num=w.nextInt(120)%(120-0+1)+1;
			if(num>=1&&num<40)
			{
			    a=new yuan();
				a.getmessage();
				a.outmessage();
			}
			else if(num>=40&&num<80)
			{
				a=new sanjiao();
				a.getmessage();
				a.outmessage();
			}
			else if(num>=80&&num<120)
			{
				a=new sibian();
				a.getmessage();
				a.outmessage();
			}
		}
		base b,c,d;
		b=new sanjiao();
		c=new sibian();
		d=new yuan();
		b.start();
		c.start();
		d.start();
		System.out.println("感谢使用!!!");
	}

}


//int max=20;
//int min=10;
//Random random = new Random();
//
//int s = random.nextInt(max)%(max-min+1) + min;
//System.out.println(s);





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值