学习日记-2020-6-20

六,控制语句

		控制语句分为选择语句,if,switch
				     循环语句,for while do..while
				     转向语句,break,continue,return
	       选择语句:if语句语法分为四种,if(){},if(){}else{},if(){}else if(){} ..,if(){}else if(){}else{}
	       			switch语法格式,switch(值){case 值1:java语句;break;case 值2:java语句;break;case 值3:java语句;break;...default java语句;}		
	       						break和default不是必须的。switch只支持int和String类型的值比较
	       	循环语句:for循环语法:for(初始化表达式; 条件表达式; 更新表达式){循环体;},执行原理:先执行初始化表达式,并且初始化表达式只执行1
	       						次。然后判断条件表达式的结果,如果条件表达式结果为true,则执行循环体。循环体结束之后,执行更新表达式。
	       						更新完之后,再判断条件表达式的结果,如果还是true,继续执行循环体。直到更新表达式执行结束之后,再次判断
	       						条件时,条件为false,循环终止。
	       			while循环语法:while(布尔表达式){循环体;}执行原理:判断布尔表达式的结果,如果为true就执行循环体,循环体结束之后,再次判断
	       						布尔表达式的结果,如果还是true,继续执行循环体,直到布尔表达式结果为false,while循环结束。
	       						do..while循环语句的执行原理以及语法机制:do {循环体;}while(布尔表达式);执行原理:先执行循环体当中的代码,执
	       						行一次循环体之后,判断布尔表达式的结果,如果为true,则继续执行循环体,如果为false循环结束。
	       	转向语句:break:用在switch和for,while,do..while两个地方,其它位置不行终止循环的进行。
	       			continue:终止当前"本次"循环,直接进入下一次循环继续执行。
	       			return:结束当前方法。

七,方法

		什么是方法?方法是一段可以完成某个特定功能的并且可以被重复利用的代码片段。
		方法的定义,[修饰符列表] 返回值类型 方法名(形式参数列表){方法体}
		返回值类型,如果是void不需要返回值,否则用必须用return返回对应类型的返回值。
		方法名,方法名要见名知意。方法名在标识符命名规范当中,要求首字母小写,后面每个单词首字母大写。
		形式参数列表,简称:形参。形式参数列表中的每一个参数都是“局部变量”,方法结束之后内存释放。多个形参需要用逗号隔开
		方法体,由Java语句构成。在方法体中的代码遵循自上而下的顺序依次逐行执行。在方法体中处理业务逻辑代码的时候需要数据,数据来源就是		
				这些形参。
		方法定义之后怎么调用呢?类名.方法名(实际参数列表);实参和形参的类型必须一一对应,另外个数也要一一对应。a()方法调用b()方法的时候,a
							 和b方法都在同一个类中,“类名.”可以省略。如果不在同一个类中“类名.”不能省略。
		JVM的内存结构中三块比较重要的内存空间。方法区:存储代码片段,存储xxx.class字节码文件,这个空间是最先有数据的,
													码加载到这里。
											堆内存:
											栈内存:每个方法执行时所需要的内存空间(局部变量)。方法在栈中顺序:后进先出,先进后出,
													方法只定义不调用是不会执行的。方法调用时:压栈 (在栈中给该方法分配空间)
													方法执行结束时:弹栈(将该方法占用的空间释放,局部变量的内存也释放。
													![在这里插入图片描述](https://img-blog.csdnimg.cn/20200621091807842.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RpbmdfZGR6enh4,size_16,color_FFFFFF,t_70#pic_center)
		方法重载overload:什么情况下我们考虑使用方法重载机制?当功能相似的时候,建议将方法名定义为一致的,这样代码美观,又方便编程。
						代码满足什么条件的时候构成了方法重载?在同一个类当中,方法名相同,形式参数列表不同(类型、个数、顺序)
						方法重载和返回值类型无关,和修饰符列表无关。
		方法递归:什么是方法递归?方法自身调用自身。当递归时程序没有结束条件,一定会发生:栈内存溢出错误:StackOverflowError退出jvm
				 所以递归必须要有结束条件。递归假设是有结束条件的,就一定不会发生栈内存溢出错误吗?递归有的时候也会出现栈内存溢出错误
				 因为有可能递归的太深,栈内存不够了。因为一直在压栈。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值