java2 实用教程第五版 第四章实例

第四天
java2 实用教程第五版 耿祥义 张跃平编著
第四章代码

代码1:课本P59

class XiYouJiRenWu {
	float height,weight;
	String head,ear;
	void speak(String s) {
		System.out.println(s);
	}
}

public class Example4_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		XiYouJiRenWu ZhuBaJie;				//声明对象
		ZhuBaJie = new XiYouJiRenWu();		//为对象分配变量(使用new和默认的构造方法)
		Zhubajie.speak("hahaha");
	}

}

运行结果:
/**************
hahaha
***************/

代码2:课本P59

package java课本项目;

class Point {
	int x,y;
	Point(int a,int b){
		x=a;
		y=b;
	}
}


public class Example4_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Point p1,p2; 			//声明对象p1和p2
		p1=new Point(10,10);	//为对象p1分配变量(使用new和类中的构造方法)
		p2=new Point(23,35);	//为对象p2分配变量(使用new和类中的构造方法)
	}

}
//此代码运行完成后只是实例化了Point对象p1和p2,并没有其他输出结果

代码3:课本P62

package java课本项目;

class xiyouji {
	float height,weight;
	String head,ear;
	void speak(String s) {
		head="歪着头";
		System.out.println(s);
	}
}


public class Example4_3 {
	public static void main(String args[]) {
		xiyouji zhubajie,sunwukong;		//声明对象
		zhubajie = new xiyouji();			//为对象分配变量
		sunwukong = new xiyouji();
		zhubajie.height=1.80f;					//对象给自己的变量赋值
		zhubajie.head="猪头";
		zhubajie.ear="一对猪耳朵";
		sunwukong.height=1.62f;
		sunwukong.weight=1000f;
		sunwukong.head="铜头铁臂";
		System.out.println("zhubajie的身高:"+zhubajie.height);
		System.out.println("zhubajie的头:"+zhubajie.head);
		System.out.println("sunwukong的体重:"+sunwukong.weight);
		System.out.println("sunwukong的头:"+sunwukong.head);
		zhubajie.speak("俺老猪想娶个媳妇儿!");			//对象调用方法
		System.out.println("zhubajie现在的头:"+zhubajie.head);
		sunwukong.speak("吃俺老孙一棒!");				//对象调用方法
		System.out.println("sunwukong现在的头:"+sunwukong.head);
	}
}
运行结果:
/************************************************
zhubajie的身高:1.8
zhubajie的头:猪头
sunwukong的体重:1000.0
sunwukong的头:铜头铁臂
俺老猪想娶个媳妇儿!
zhubajie现在的头:歪着头
吃俺老孙一棒!
sunwukong现在的头:歪着头
*************************************************/

代码4:课本P65

package java课本项目;

class Pont{
	int x,y;
	void setXY(int m,int n) {
		x=m;
		y=n;
	}
}

public class Example4_4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Pont p1,p2;
		p1= new Pont();
		p2= new Pont();
		System.out.println("p1的引用:"+p1);
		System.out.println("p2的引用:"+p2);
		p1.setXY(1111,2222);
		p2.setXY(-100, -200);
		System.out.println("p1的x,y坐标:"+p1.x+","+p1.y);
		System.out.println("p2的x,y坐标:"+p2.x+","+p2.y);
		p1=p2;
		System.out.println("将p2的引用赋值给p1后:");
		System.out.println("p1的引用:"+p1);
		System.out.println("p2的引用:"+p2);
		System.out.println("p1的x,y坐标:"+p1.x+","+p1.y);
		System.out.println("p2的x,y坐标:"+p2.x+","+p2.y);


	}

}
运行结果:
/*********************************************
p1的引用:java课本项目.Pont@15db9742
p2的引用:java课本项目.Pont@6d06d69c
p1的x,y坐标:1111,2222
p2的x,y坐标:-100,-200
将p2的引用赋值给p1后:
p1的引用:java课本项目.Pont@6d06d69c
p2的引用:java课本项目.Pont@6d06d69c
p1的x,y坐标:-100,-200
p2的x,y坐标:-100,-200
***********************************************/

代码5:课本P67

package java课本项目;

class Rect {
	double width;							//矩形的宽
	double height;							//矩形的高
	double getArea() {
		double area= width*height;
		return area;
	}
}


class Lader {
	double above;							//梯形的上底
	double bottom;							//梯形的下底
	double height;							//梯形的高
	double getArea() {
		return (above+bottom)*height/2;
	}
}


public class Example4_5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Rect ractangle=new Rect();
		ractangle.width=109.87;
		ractangle.height=25.18;
		double area= ractangle.getArea();
		System.out.println("矩形的面积:"+area);
		Lader lader=new Lader();
		lader.above=10.798;
		lader.bottom=156.65;
		lader.height=18.12;
		area=lader.getArea();
		System.out.println("梯形的面积:"+area);
	}

}
运行结果:
/*********************************************
矩形的面积:2766.5266
梯形的面积:1517.0788800000003
*********************************************/

代码6:课本P68

package java课本项目;

class Computer {
	int add(int x,int y) {
		return x+y;
	}
}


public class Example4_6 {
	public static void main(String args[]) {
		Computer com= new Computer();
		int m=100;
		int n=200;
		int result=com.add(m, n);		//将m,n的值“传值”给参数x,y
		System.out.println(result);
		result=com.add(120+m, n*10+8);	//将表达式120+m和n*10+8的值传给参数x,y
		System.out.println(result);
	}
}
运行结果:
/*****************************
300
2228
******************************/

代码7:课本P70

package java课本项目;

class Battery {
	int electricityAmount;
	Battery(int amount) {
		electricityAmount=amount;
	}
}


class Radio {
	void openRadio(Battery battery) {
		battery.electricityAmount=battery.electricityAmount-10;
	}
}


public class Example4_7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Battery nanfu= new Battery(100);			//创建电池对象
		System.out.println("南孚电池的电量为:"+nanfu.electricityAmount);
		Radio radio=new Radio();					//创建收音机对象
		System.out.println("收音机开始使用南孚电池");
		radio.openRadio(nanfu);						//打开收音机
		System.out.println("目前南孚电池的储电量为:"+nanfu.electricityAmount);
	}

}
运行结果:
/*********************************************
南孚电池的电量为:100
收音机开始使用南孚电池
目前南孚电池的储电量为:90
**********************************************/

代码8:课本P72

package java课本项目;

class CCircle {
	double radius,area;
	void setRadius(double r) {
		radius=r;
	}
	
	double getRadius() {
		return radius;
	}
	
	double getArea() {
		area=3.14*radius*radius;
		return area;
	}
}


class Circular {
	CCircle bottom;
	double height;
	
	void setBottom(CCircle c) {
		bottom=c;
	}
	
	void setHeight(double h) {
		height=h;
	}
	
	double getVolme() {
		if(bottom == null) {
			return -1;
		}
		else
			return bottom.getArea ()*height/3.0;
	}
	
	double getBottomRadius() {
		return bottom.getRadius();
	}
	
	public void setBottomRadius(double r) {
		bottom.setRadius(r);
	}
}

public class Example4_8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CCircle circle=new CCircle();			//代码1
		circle.setRadius(10); 				//代码2
		Circular circular=new Circular();	//代码3
		System.out.println("circle的引用"+circle);
		System.out.println("圆锥bottom的引用"+circular.bottom);
		circular.setHeight(5); 
		circular.setBottom(circle);; 		//代码4
		System.out.println("circle的引用"+circle);
		System.out.println("圆锥bottom的引用"+circular.bottom);
		System.out.println("圆锥的体积:"+circular.getVolme());
		System.out.println("修改circle的半径,bottom的半径同样变化");
		circle.setRadius(20); 				//代码5
		System.out.println("bottom的半径:"+circular.getBottomRadius());
		System.out.println("重新创建circle,circle的引用将发生变化");
		circle=new CCircle();				//重新创建circle,代码6
		System.out.println("circle的引用"+circle);
		System.out.println("但是不影响circular的bottom的引用");
		System.out.println("圆锥的bottom的引用:"+circular.bottom);
	}

}
运行结果:
/************************************************************
circle的引用java课本项目.Circle@15db9742
圆锥bottom的引用null
circle的引用java课本项目.Circle@15db9742
圆锥bottom的引用java课本项目.Circle@15db9742
圆锥的体积:523.3333333333334
修改circle的半径,bottom的半径同样变化
bottom的半径:20.0
重新创建circle,circle的引用将发生变化
circle的引用java课本项目.Circle@6d06d69c
但是不影响circular的bottom的引用
圆锥的bottom的引用:java课本项目.Circle@15db9742
*************************************************************/

代码9:课本P76

package java课本项目;

class SIM {
	long number;
	SIM(long number) {
		this.number=number;
	}
	long getNumber() {
		return number;
	}
}


class MObileTelephone {
	SIM sim;
	void setSTM(SIM card) {
		sim = card;
	}
	
	long lookNumber() {
		return sim.getNumber();
	}
}


public class Example4_9 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SIM simOne = new SIM(15191550042L);
		MObileTelephone mobile =new MObileTelephone();
		mobile.setSTM(simOne);
		System.out.println("手机号码:"+mobile.lookNumber());
		SIM simTwo = new SIM(13629875546L);
		mobile.setSTM(simTwo);			//更换手机卡
		System.out.println("手机号码:"+mobile.lookNumber());
	}

}
运行结果:
/************************
手机号码:15191559942
手机号码:13629875546
***************************/

代码10:课本P78

package java课本项目;

class Laderr {
	double 上底,高;			//实例变量
	static double 下底;		//类变量
	void 设置上底(double a) {
		上底 = a;
	}
	
	void 设置下底(double b) {
		下底=b;
	}
	
	double 获取上底() {
		return 上底;
	}
	
	double 获取下底() {
		return 下底;
	}
}


public class Example4_10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Laderr.下底=100;		//Laderr的字节码被加载到内存,通过类名操作类变量
		Laderr laderrOne=new Laderr();
		Laderr laderrTwo=new Laderr();
		laderrOne.设置上底(28);
		laderrTwo.设置下底(66);
		System.out.println("laderOne的上底:"+laderrOne.获取上底());
		System.out.println("laderOne的下底:"+laderrOne.获取下底());
		System.out.println("laderTwo的上底:"+laderrTwo.获取上底());
		System.out.println("laderTwo的下底:"+laderrTwo.获取下底());
	}

}
运行结果:
/************************
laderOne的上底:28.0
laderOne的下底:66.0
laderTwo的上底:0.0
laderTwo的下底:66.0
*************************/

由于第四章代码比较多,无法一次更新,下次继续更新!

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值