第四周

课中:

理论课:

  1. Java中的数组类型相同,是连续的。可以定义为 int[ ]a, int b[]。a = new int [10],其中a属于堆区,new int [ 10 ]属于堆栈区。
  2. 作用域由花括号的位置决定。
  3. 当new创建一个Java对象时,它可以存活于作用域之外。
  4. 垃圾回收器需要一定的时间,所以可能会有时间延迟。
  5. 字段可以是任何类型的对象。
  6. Java的方法决定了一个对象能够接受什么样的消息。
  7. import java.until.*;可以一次导入一群类。
  8. javadoc是用于提取注释的工具。它只能为public和protected成员进行文档注释。
  9. private和包内可访问成员的注释会被忽略。
  10. javadoc通过生成的HTML文档传送HTML命令,这使我们能充分利用HTML。
  11. 所有类型的注释文档——类、域和方法——都支持嵌入式HTML。
  12. 几乎所有的操作符都只能操作“基本类型”。例外的操作符是“=”、“==”和“!=”,这些操作符能操作所有的对象。除此之外

String类支持“+”和“+=”。
13. 应用括号明确规定计算顺序。对一个对象进行操作时,我们真正操作的是对对象的引用。
实验课:
我们在理论课上学会了另开一个class去测试代码。
这次的实验课上的第一题就难住了我,花了很久的时间还是写不出来,对时间的转换不够清楚。

Ch4Demo1(long elapseTime) {

second = (elapseTime/1000) % 60;
minute = ((elapseTime/1000)/60) % 60;
hour = (elapseTime/1000/60/60) % 24;
}
如果指定值分别为偶数、奇数或素数,那么相应的静态方法isEven(Ch4Demo2)isOdd(Ch4Demo2)isPrime(Ch4Demo2)方法都会返回true;
	public static boolean isOdd(int value) {
		if (value % 2 == 0) {
			return false;
		} else {
			return true;
		}
	}

	public static boolean isPrime(int value) {
		for (int i = 2; i <= Math.sqrt(value); i++) {
			if (value % i == 0) {
				return false;
			}
		}
		return true;

	}

	public static boolean isEven(Ch4Demo2 a) {
		if (a.value % 2 == 0) {
			return true;
		} else {
			return false;
		}
	}
静态方法parseInt(char[])将数字字符构成的数组转换为一个int值。
静态方法parseInt(String)将一个字符串转换为一个int值。
public static int parseInt(char[] str) {
		String str1 = String.valueOf(str);
		return Integer.parseInt(str1);
	}

	public static int parseInt(String str) {
		return Integer.parseInt(str);
	}

	public String toString() {
		return String.valueOf(this.value);// 将数字转换成字符串
	}
一个名为distance的方法,返回从该点到Ch4Demo3类型的指定点之间的距离;
(5)一个名为distance的方法,返回从该点到x和y坐标的指定点之间的距离。
编写一个测试程序,创建两个点(00)和(1030.5),并显示它们之间的距离。
 */
``public double distance(Ch4Demo3 a) {
	return Math.sqrt((this.x-a.x)*(this.x-a.x)+(this.y-a.y)*(this.y-a.y));
}

public double distance(double x,double y) {
	return Math.sqrt((this.x-x)*(this.x-x)+(this.y-y)*(this.y-y));
}
    public static void main(String[] args) {
		Ch4Demo3 a1 = new Ch4Demo3(10,30.5);
		Ch4Demo3 a2 = new Ch4Demo3();
		System.out.println(a2.distance(a1));
	}
}`

```java
第三次作业第5题中创建的(银行帐户)Ch3Demo5类来模仿一台ATM机。创建一个有10个帐户的数组,其id为0,1,2,9,初始化收支为100美元,系统提示用户输入一个id。如果id输入不正确,就要求用户输入正确的id。一旦接受一个id,就显示一个菜单。可以用1来查看当前的收支,用2来表示取钱,用3来表示存钱,用4表示退出主菜单。一旦退出,系统就会提示再次输入id。所以系统一旦启动就不会停止。
public static void main(String[] args) {
		// 定义一台ATM机
		Ch3Demo5[] atm;
		atm = new Ch3Demo5[10];

		for (int i = 0; i < 10; i++) {
			atm[i] = new Ch3Demo5(i, 100);
		}
		int N;
		Scanner input = new Scanner(System.in);

		while (true) {

			System.out.println("请输入一个账号:");
			N = input.nextInt();
			if (N < 0 || N > 9) {
				System.out.println("账号输入错误,请重新输入");
			} else if (N >= 0 && N <= 9) {
				System.out.println("请输入您的银行账号:" + N);
				System.out.println("1:查看当前余额");
				System.out.println("2:取款");
				System.out.println("3:存款");
				System.out.println("4:退出菜单");
				while (true) {
					System.out.println("请输入您的选择:");
					int T = input.nextInt();
					switch (T) {
					case 1:
						System.out.println("该账号当前收支为:" + atm[N].getbalance());
						break;
					case 2:
						System.out.println("请输入取款的金额:");
						int M1 = input.nextInt();
						atm[N].withDraw(M1);
						System.out.println("取出数量为:" + M1);
						System.out.println("当前账户余额为:" + atm[N].getbalance());
						break;
					case 3:
						System.out.println("请输入存款数字:");
						int M2 = input.nextInt();
						atm[N].deposit(M2);
						System.out.println("存入数量为:" + M2);
						System.out.println("当前账户余额为:" + atm[N].getbalance());
						break;
					}
					if (T == 4) {
						break;
					}
				}
			}
			input.close();
		}

	}

在后面的题目中,出现了很多新的属性和方法,但自己用的并不熟练。

预习:

预习了第四章。讲的是控制执行流程:

  1. true和false
  2. if-else
  3. 迭代:do-while,for,逗号操作符
  4. Foreach语法
  5. return
  6. break和continue
  7. goto
  8. switch

总结:

这周的理论课上收获较多,注意力比前几周的强一些,但实验课上收获较小,效率较低,编写代码速度慢,遇到问题不能很好地解决。我还不能很好的将所学的知连接在一起,只是有些碎片化。希望后面的学习能给我无论知识上和学习能力上都有很大的提升。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值