9.8课上内容
src : source(源,资源)
所有的.java
文件(自己写的代码)都在src
目录下,bin
目录下都是.class
字节码文件,是不可读的。
java -c 编译,把.java文件转为.class(字节码文件)
java :执行(运行)
所有的bin目录下存放的都是可执行文件。
以后的代码就是导包,创建对象(类),调方法
包名的规范:
域名倒置
咱们访问浏览器中的网页表面看起来是通过域名访问的。但是实际上是通过 IP 地址。
域名解析:把域名和IP地址进行绑定。我能够通过IP地址访问,也能够通过域名进行访问。
为啥要用域名,感觉好麻烦
ip 地址太难记
域名很好记,baidu.com ——220.181.38.251
倒置:com.baidu
类名有没有什么规范?
- 大驼峰命名(每个单词的首字母全大写)
- 见名知意
- 名词拼接
10.24 程序员节,你可以买一个域名,你朋友的名字后面加个我爱你的后缀,写一个花里胡哨的网页,让她看。
zz = 郑州,郑职
文档注释和单行注释以及多行注释的区别?
文档注释:给别人看的(别的程序员)必须要写,不然别人很难看懂
多行注释以及单行注释:是给自己看的,不写也没事
有没有同学用过工具:螺丝刀(拧螺丝)、锤子(钉钉子)、扳手(起螺栓,起螺母【少林足球,我作为一个修理工,随身带一把扳手不过分吧?】)、钳子、剪指甲刀,挖耳勺(耳朵一般是不需要清理的,慎用)。
工具的作用:
- 提高生产力,提高效率
- 提高复用度(重复操作的事情)
代码中的方法和工具的作用是一模一样的,方法就是代码里的工具。
大家知不知道人和动物的最大区别是什么?
人会制造和使用工具
钻木取火
人都会用工具,方法和工具是一样的,你要是学不会方法,简直就…
后期工作时候的代码,维护性一定要注意,因为需求是不断变化的,经常涉及代码的增删改
开闭原则:在设计原则中的第一个原则(和23种设计模式相关)
对修改关闭,对扩展开放
再增加新功能的同时要保证原有功能是可用的。
符合开闭原则能够很好得提升稳定性和扩展性。
0908讲课内容
去年,大家都在写前端页面,发现一个同学写的特别好,页面很精美,和官方的基本一模一样。
后端也一样,大家工作的时候经常会这样:组长安排了一个任务,一周之内完成一个文件上传的功能,只要在网上找好的资源能够正常使用,那么你就完事。一上午就做完了一周的工作。剩下的4天半就可以…摸鱼(自我提升)。
不要重复造轮子:
别人写好的东西,你直接拿过来用就行了。
假如说你今天晚上炒的菜,吃不完,一般咱们都会放在冰箱里,第二天热热再吃。
有冰箱了我们不用,自己去造一个???
rt.jar:都是官方写好的类,根本没有必要重新再写一次,直接拿过来用就行了。都是工具人。jvm虚拟机也可以自己去实现。
抄也得会抄。一定要有自己的东西。
考试不能作弊
学习的时候都是借鉴。
抄东西肯定要有模板(是什么)?
main方法就是一个现成的方法。抄它就完事了。
鸡蛋一天最好只吃两个,除非不吃蛋黄
去买奶茶,买到的奶茶就是返回值。
奶茶店不光卖奶茶,还有甜筒,冰淇淋,果茶,奶盖,圣代,柠檬水,小甜品。这些东西的类型不一样。
无返回值,给钱了啥也不要,做慈善(鸿星尔克)
互联网是没有记忆的
不知道用什么类型就用void
方法名可以随便起吗?或者有没有什么规范?
- 小驼峰命名(除了第一个单词,其他的首字母全大写)
- 见名知意(一看到名字就知道你是干啥用的)
- 动宾结构(动词加宾语【名词】)
形参列表:
列表:
- ol:order list(有序列表)
- li:list item(列表元素)元素可以有0个,1个或者多个。
形参可以有0个,1个或者多个
形参:买奶茶要给钱,给的钱叫实参
。价格表上的那个价钱就是形参
,不是真正的参数。
形参由两部分构成:形参的数据类型以及形参名
Java 是强类型的语言,要求必须明确指定数据类型。
【注意】
要求学习阶段写方法之前必须先写注释
/*
* 需求分析:控制台输出喝奶昔
*
* 固定格式:public static
*
* 返回值类型:void
*
* 方法名:drink
*
* 形参列表:无参
*
* 方法声明:
* public static void drink() {}
*/
public static void drink() {
System.out.println("喝奶昔");
}
能够让我们知道自己要干什么,正在干什么,怎么干。
工作的时候先写方法,再写注释,因为能够自动生成。
方法写完了,但是,
方法的位置应该在什么地方,方法应该写在哪里?
方法定义在类中,与当前类中的其他方法(main方法)是并列关系。
main方法和我们自己的方法哪个更厉害?
举一个栗子
假如我跟王思聪一起去相亲,我俩谁更容易找到对象?
明显王老板(多财多亿)比我帅,比我有钱。我是肯定竞争不过人家的。
王思聪就比我高贵?
人是没有高低贵贱之分。区别也就是他比我有钱,比我帅。
方法也是一样的,类中的方法都是平级的。只不过是每个方法的作用(功能)是不同的。
main方法的功能是jvm赋予的,就是程序的入口。
但是我们自己的方法也有自己的功能。
有的东西,生下来的时候没有,这辈子基本就不可能会有了。
也不能因此自暴自弃,更应该用自己的力量去发光发热。
肯定享受不了当老师的快乐。
main方法没办法,刚开始学习的时候离不开,非常重要,没有main方法就没有办法启动程序了。
后期基本上再也用不上或者根本不关系main方法(鸡肋)。
我们的网页每次刷新都会访问后端写的代码(自己写的方法)
想你的液
方法怎么调用?
目前我们还没有说类和对象。
记住一句话:方法是条狗,哪里需要哪里吼
吼什么?吼狗名(方法名)
哪里需要?main方法(因为这是程序的入口,想要执行方法必须在main方法中进行调用)
前提一定要规范
如何区分变量名和方法名?
- 有小括号的是方法,没有的是变量
如何区分变量名和类名?
- 大写开头的是类,否则是变量
方法之间是可以相互调用的。因为方法都是平级的关系
方法不调用不执行。
StackOverflowError:栈内存溢出错误
程序是运行在JVM虚拟机中的。方法(类似水)是运行在虚拟机中的一块空间(数据结构)栈(类似我们的水杯)
方法的执行是需要占用栈内存空间的资源的,如果说一直执行方法并且不释放,迟早会把栈内存的资源耗尽,这个时候继续执行方法,就会导致栈内存溢出。
方法可以相互调用,但是一定要避免递归调用,因为非常容易出现栈内存溢出的情况。
递归很强大,很多优秀的算法都是基于递归的思想,使用递归时一定注意给定递归的出口。
生活中的递归:
- 两个镜子对着放
- 从前有座山,山里有座庙。庙里有个老和尚,老和尚在给小和尚讲故事:从前有座山,山里有座庙。庙里有个老和尚,老和尚在给小和尚讲故事:从前有座山,山里有座庙。庙里有个老和尚,老和尚在给小和尚讲故事:从前有座山,山里有座庙。庙里有个老和尚,老和尚在给小和尚讲故事:从前有座山,山里有座庙。庙里有个老和尚,老和尚在给小和尚讲故事:
程序员喜欢的颜色?
- 绿色代表程序正常运行
- 黄色代表程序中有警告(可能存在的一些问题)
- 红色代表程序中出现了错误
健康码
- 绿码:正常
- 红码:发烧,危险,高风险地区
- 黄码:中风险地区
- 金边:打过疫苗
形式参数在方法内部可以直接使用。
如果方法声明时携带了形式参数,那么在调用方法时必须给定对应的实际参数
方法调用时,实际参数要求必须和形式参数的个数以及数据类型一致
人家要的是苹果,你给一箱梨,类型不匹配,不是人家想要的,没用。
一定要投其所好,成为喜欢的人喜欢的人就行。
不要感动自己。