编程习惯
1
//求圆的面积
public double findArea(){
return Math.PI * radius * radius;
}
直接 return 减少新变量的定义
2
//输出符号的使用 /t /t 制表符
3 栈溢出
1.递归
2.内存是有限的, 好比一个容器, static每用一次就在往容器加一点, 如果滥用static, 可能会造成内存泄漏
堆中的
4. throw new RuntimeException("传入的数据非法!");
return 结束方法
5. 构造器 创建对象时初始化 通过写构造器
6 属性私有 设置get set方法
7.构造器用this 调用其他构造器 降低代码冗余
8.
public void withdraw (double amount){//取钱
if(balance < amount){
System.out.println("余额不足,取款失败");
return;
}
return 代替 else 部分
9. 位置 加逻辑判断 以防小标越界
10 成功失败 返回值 boolean return true;return false;
对象查找 返回值 object return null;后面用null 判断有没有找到
11 变量: 获取到变量 有返回值 找个数存储一下 再根据这个值做一堆逻辑
自己定义个值 经过一些操作 自己赋值 再根据这个值做一堆逻辑
一般 boolean判断 对象null判断 逻辑变量设置isFlag
12 衡量边界 定义例如总个数 总容量 编号:一般不属于一般类中的属性
13 一个变量声明在方法内 还是方法外 主要看该变量出了方法是否还需要用到
14习惯:
if(条件){
}else{
执行部分
}
如果执行部分太复杂可以
if(条件)
{
}else{
break;
}
执行部分
简化代码逻辑
15 index索引问题
//number - 1 现实从1开始 数组索引下标从0开始 定位的时候
16注释:
/**
*
*
*/
17 一般要考察操作是否成功,,设boolean值的返回值
对其进行判断,输出提示
18 返回主界面的逻辑 终止循环 判断 用break return;(刚好是最后时)
19 做修改操作 1创建新对象 改掉地址指向
2对原对象进行重新赋值 set
20 %的输出
(acct.getMonthlyInterest() * 100) +"%")
21 方法的参数是引用类型时,考虑是否定义时用父类
实现动态绑定
22 类型强转时 两个类型需要子父类关系 否则会报错
23 构造器:考虑对象初始化的属性方法
24 通过new对象去调用
通过类去调用 则需要把调用的加static
25 类的加载 与 对象的创建(实例化) 类的调用 与 对象的调用 方法体内(按顺序执行)与类内(与顺序无关)
26 抽象 abstract 不能被实例化,只能通过实例子类 调用子类的构造器