java一些细节等相关笔记
有关 开发 的笔记
一些细节
- 真正开发时,一般用公司域名倒置作为包名
比如百度搜索 com→baidu→www
百度百科 com→baidu→baike
-
凡是属于IO流的类使用后如果不关闭就会一直占用资源,要养成用完即关的习惯。例如
Scanner sc=new Scanner(System.in); //next自动去除字符前空格。输入到空格前.nextLine保留空格,输入到摁下Enter键前 String str=Scanner.nextLine(); sc.close();-
while循环与do...while循环的区别是do...while至少执行一次,其余情况基本一样(不会出现都判断相同条件时多做一次的情况)
-
在设计方法时,最好保证方法的原子性,即一个方法只执行一个功能,这样有利于今后的扩展
-
main方法尽量保证简洁、干净。尽量把公共模块提取到外面
-
形参:定义方法时给定的参数,实参:调用方法时输入的参数
-
变量的首选命名方法
int[] numbers=new int[10];在变量名前后加中括号是C++和C语言的,这样设计本身姿势为了让这些程序员转型才加入的。
- 数组是相同数据类型的有序集合
可变参数
当想要定义一个方法,却不知道放多少个参数进去时,可使用:
public void test(int... i){ }该参数可将输入进去的数传成一个数组(可放多个数进去),可变参数必须在括号的最后面。
-
递归
递归方法里需包含两个部分:
递归头:决定什么时候不调用自身方法。如果没有头,将陷入死循环。
递归体:什么时候需要调用自身方法。
由于java采用栈机制,一些小计算可以用递归,但是一些大计算(比如1000的阶乘)会给电脑带来过多负担,所以是不是最好的思路还需自己多加分析
java内存分析
声明对象:int[] array=null;→栈
创建(初始化)对象:array=new int[10];→堆
静态初始化:创建+赋值
int[] a={1,4,45,678,6}
动态初始化:包含默认初始化
int []b=new int[10];
浙公网安备 33010602011771号