黑马程序员_java_基础_流程控制



 ——- android培训java培训、期待与您交流! ———-

JAVA自学系列 
期待与您的交流






JAVA的流程控制

一、判断结构,if语句的三种格式

判断结构表现为if'语句,主要用来对一些值进行判断然后进行分支选择。

if语句主要用于对区间值进行判断,如对结果为boolean类型的值进行判断的时候,就可以使用if语句,相比较下面提到的switch语句,if语句虽然执行效率略低,但是应用范围更广

1.if(条件表达式)

执行语句;

2.if(条件表达式)

{

执行语句;

}

 else

{

执行语句;

}

3.if(条件表达式)

执行语句;

 else if(条件表达式)

{

执行语句;

}

 else

执行语句;

此处三种格式if或者else或者else if后紧挨的大括号为生效区间,若无此大括号也是可以的,只不过语句紧对挨的最近的一条语句生效。

 

 

二、选择结构switch语句

switch语句相比较if语句主要偏向于在给出一些特定值的情况下进行选择

一般如果是要对一些具体的数值进行判断,并且数值的数量不是很多的情况下,可以用switch来完成这项操作,因为对于内存利用和执行效率方面,switch语句比if语句要更高效。

 

switch

case 取值1

语句;

break

case 取值2

语句;

break

default

语句;

break

if语句不同,switch通过case对值进行比较进行选择,而每一条case后的所有语句都将被执行,知道遇到break中断。

 

三、循环结构包括while语句,do while 语句,for语句

1.while语句

while(条件表达式)

执行语句;

 

或者

 

2.do while语句

do(条件表达式)

执行语句;

while(条件表达式)

whiledo while这两条语句的差别是:

while语句是先进行条件判断然后执行或者不执行循环

do while是先执行一次执行语句,然后再进行条件判断,判断是否进行下一次循环,即do while无论值的真假,都必然会进行至少一次循环

 

 

3.for语句

for(定义变量;变量赋值;条件表达式)

执行语句;

这里所出具for语句的模版只是一种标准规范,然而for后括号中的定义变量和变量赋值都为非必须的,并且若有特殊情况下,甚至连条件表达式都是非必须的,for括号中只要是三条可以被编译执行的语句即可。

for(;;)

执行语句;

如这样所写就编译和运行上完全行得通。

 

最后关于for语句和while语句的区别:

for语句区间内为封闭的,即在执行for语句时所定义的变量,在for语句结束时即被释放,该值仅在for语句内生效。、

while语句或者do while语句在执行过程中所定义产生的变量,可以在循环语句之外直接调用,即并不会被释放。

 

breakcontinue

这两个关键字在流程控制中非常重要

其中break的作用是跳出,continue的作用是继续

这两者都用在选择结构或者循环结构中,用于跳出当前执行语句。

 

其中两者的区别

break可以离开当前switchforwhiledo while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在forwhiledo while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。 

continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。

 

 

 

 

 

 

 

五、

关于函数的一些简单介绍、

函数可以理解为用户自定义的一些可供调用方法,这在面向对象编程中非常重要,因为这意味着我们再也不用为每个流程都编写代码了,而可以归纳一些执行流程相同或者相似的操作,编写相应的函数,然后再需要调用的地方直接调用就可以了,简单粗暴。

函数定义模版:

修饰符 返回值类型 函数名 (参数类型 形式参数1,参数类型 形式参数2···)

执行语句:

return 返回值;

通过这样简单的方式就可以定义一个函数,如

public static int getSum(int a,int b)

{

return a+b;

}

通过这样一个简单的函数,就可以计算ab值的和,而在所有需要求二者之和的情况下,我们都可以

class Test

public static void main(Strting[] args)

int x=3,y=2;

System.out.printin(getSum(x,y));

如此,我们便可以得出xy相加的和为5,而不需要在主函数中再编写x+y的语句。

 

关于函数的重载

JAVA中允许定义两个名称相同的函数,然而要求函数的形式参数的数量或者类型不同,这样在调用的时候系统虚拟机会自动根据函数所获取值的不同而调用拥有不同形式参数的函数,从而针对用户给出的不同类型或者数量的值做不同的操作。

public static int getSum(char a,int b)

{

执行语句;

}

public static int getSum(int a,int b,int c)

{

执行语句;

}

诸如此类函数都是可以和之前我们定义的getSum共同存在的,他们所针对的取值不同而已。

 

 

六、

关于内存结构的简单介绍

虚拟机执行程序的时候,一共会在内存中开辟五块临时空间,分别为

方法去,本地方法去,寄存器,堆区,栈区

 

其中栈区内存会自动释放,intbyte等定义的变量就是在这里开辟空间

而堆区是数组操作会用到,通过数组存放到堆区的数据将自动从0编号,方便查找和操作,用来存放同类型的数据集合。

 ——- android培训java培训、期待与您交流! ———-

JAVA自学系列 
期待与您的交流


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值