第五周

课中

理论课:

  1. 在最底层,Java中的数据是通过使用操作符来操作的。
  2. 操作符的优先级就决定了各部分的计算顺序。
  3. System.out.orintln()语句中包含“+”操作符,“+”意味着“字符串连接”,如果有需要,它还要执行“字符串转换”。
  4. 整数除法会直接去掉结果的小数位,而不是四舍五入地圆整结果,Math.round()可以将数字四舍五入,round是静态方法。
  5. 通过Random类的对象,程序可生成许多不同类型的随机数字。
  6. <、>、≤、≥的优先级相等,==、!=的优先级相等。
  7. 逻辑操作符与、或、非能根据参数的逻辑关系,生成一个布尔值(true or false)。它们仨优先级依次是非、与、或。
  8. 短路:一旦能明确无误地确定整个表达式的值,就不再计算表达式余下部分了。
  9. 直接常量后面的后缀字符标志了它的类型。L代表long,F代表float,D代表double。十六进制数适用于所有整数数据类型。以前缀0x,后面跟随0~9或者 A到F表示。
  10. 按位操作符用来操作整数基本数据类型中的单个“比特”(bit),即二进位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
  11. “有符号”右移位操作符使用“符号扩展”:若符号为正,则在高位插入0;若符号为负,则在高位插入1。Java中增加了一种“无符号”右移位操作符(>>>),它使用“零扩展”:无论正负,都会在高位插入0。
  12. 赋值操作是=,判断是否相等==,按位“与”和按位“或”使用单字符“&” “|”,逻辑与“&&”和逻辑或“||”。
  13. Java不需要sizeof()操作符来满足这方面的需要,因为所有数据类型在所有机器中的大小都是相同的。
    实验课:
    老师花了一节课的时间跟我们讲上一次实验课的题目。留了一节课给我们自己做基础作业5,这次作业新增加了知识点:继承,用了关键字extends。后面的一节课只做完了一个题目。可能因为第一题对我们来说稍微有一点难度,所以后面的题目我们在课后完成。
    第一题主要是测试方法不太熟练:

编写一个测试程序,提示用户输入三角形的三条边、颜色以及一个Boolean值表明该三角形是否填充。程序应该使用输入创建一个具有这些边并设置color和filled属性的三角形。程序应该显示面积、边长、颜色以及表明是否填充的真或假的值。

public static void main(String[] args) {
	double s1,s2,s3;

	System.out.println("请输入三角形的三条边:");
	
	Scanner cin = new Scanner(System.in);
	s1 = cin.nextDouble();
	s2 = cin.nextDouble();
	s3 = cin.nextDouble();
    Ch5Demo1 c1 = new Ch5Demo1(s1,s2,s3);
    String color = "blue";
	boolean isfilled = true;
	cin.close();
	c1.setColor(color);
	c1.setFilled(isfilled);
	System.out.println("三角形面积为:"+c1.getArea());
	System.out.println("三角形周长为:"+c1.getPerimeter());
}
  1. 设计一个类Ch5Demo21(支票账户)
public class Ch5Demo21 extends Ch3Demo5{
    private double overdraft;
    private boolean isoverdraft = false;
	public double getOverdraft() {
		return overdraft;
	}
	public void setOverdraft(double overdraft) {
		this.overdraft = overdraft;
	}
    public boolean isIsoverdraft(){
    	
		if(getBalance()<0){
    		return true;
    	}
		return isoverdraft;
    }
    public void withdraw(double money){
    	double mybalance = getBalance()+overdraft;
    	if(money>=mybalance){
    		if(money>mybalance){
    			System.out.println("透支额不足!");
    		}else{
    			mybalance -= money ; 
    		}
    		}else if(money <mybalance){
    			mybalance -=money;
    		}
    	}
    }

创建Ch3Demo5、Ch5Demo21、Ch5Demo22的对象,然后调用它们的toString()方法

public static void main(String[] args) {
	Ch5Demo21 c=new Ch5Demo21();
	c.setBalance(1000);
	c.setOverdraft(500);
	
	c.withDraw(800);
	
	System.out.println(c.getBalance());
	c.withDraw(300);
	System.out.println(c.getBalance());
	System.out.println(c.isIsoverdraft());
	
	c.withDraw(500);;
}

预习:

  1. 用构造器确保初始化
  2. 方法重载:区分重载方法、涉及基本类型的重载、以返回值区分重载方法。
  3. 默认构造器
  4. this关键字:在构造器中调用构造器、static的含义
  5. 清理:终结处理和垃圾回收。

总结:

这一周的学习效率跟前几周差异不大,自我感觉良好,但是没有达到我理想中学习Java的状态,再接再厉!加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值