黑马程序员—【Java基础篇】之语言基础———语句和函数

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

    今天总结Java基础篇之语言基础中的语句(程序流程控制)和函数的心得及体会。

一、程序流程控制

    程序流程控制主要包括:1.判断结构;2.选择结构;3.循环结构。下面我抛砖引玉,一一介绍。

1.判断结构

    第1种判断结构:

if (布尔型表达式)  
{  
    执行语句1  
}  
else  
{  
    执行语句2     
}

     第2种判断结构:
if (布尔型表达式)  
{  
    执行语句  
}  
    第3种判断结构:
if (布尔型表达式1)  
{  
    执行语句1  
}  
else if (布尔型表达式2)  
{  
    执行语句2     
}  
else  
{  
    执行语句3  
}
 
 
 
 

    如果布尔型表达式1的值为true(或者说条件为真),则执行if后{}中的语句1,然后退出这个结构;不满足的话,检查是否满足布尔型表达式2,满足的话就执行else if后{}中的语句2,然后退出这个结构,否则就执行语句3。

    三元运算符与判断结构的区别:

    1.if语句的简写格式为三元运算符,即(布尔型表达式)?表达式1:表达式2()。

    三元运算符:
    好处:可以简化if else代码的书写,
    弊端:因为是一个运算符,是有返回值的,必须有接收这个返回值的变量。而if语句运算完可无需结果。
注意:三元运算符的表达式1和2必须有相同的类型。

class DemoIf   
{  
    public static void main(String[] args)   
    {  
        int y = 1;  
        if (y>0)  
        {  
            System.out.println("结果为正数。")  
        }  
        else if (x < 0)  
        {  
            System.out.println("结果为负数。")  
        }  
        else  
        {  
            System.out.println("3/y是不可以的。");  
        }  
    }  
}

2.选择结构

    (1)选择表达式

switch (表达式)  
{  
    case 取值1:   
        执行语句;  
        break;  
    case 取值2:   
        执行语句;  
        break;  
     ......  
    default :  
        执行语句;  
        break;  
}
 
 

    (2)特点

    1、表达式不可为布尔型表达式。    2、case的取值只能为byte、short、int、char以及字符串、枚举等六种类型。

注:在JDK1.5中还因为出现了枚举,也可以在switch中应用此类型。    3、case与default没有必然的顺序,要先执行case,执行从上向下执行,没有找到匹配的case执行default。    4、结束switch语句的两种情况:遇到break或者执行到switch结尾结束。    5、如果没有break,每个case都会判断一次,如果不符合表达式的值,则继续判断下面的case取值,如果满足表达式的值,执行完当前语句后,会继续判断并执行后面全部的语句,直到switch语句结束。

    (3)if与switch的区别和联系

    1、选择if:运算结果为布尔型的,含有判断区间的,或其他情况下使用if。使用范围更广。    2、选择switch:判断少量具体数值,类型仅为byte、short、int和char和字符串的时候。因为当加载switch的时候,这些数据会全进内存。效率相对if高一些。
class DemoSwitch  
{  //选择switch,在判断数值范围较少,是非常高效的,值得拥有。
    public static void main(String[] args)   
    {  
        int x = 5;  
        switch (x)  
        {  
            case 3:  
            case 4:  
            case 5:  
                System.out.println("夏季。");  
                break;  
            case 6:  
            case 7:  
            case 8:  
                System.out.println("秋季。");  
                break;  
            case 9:  
            case 10:  
            case 11:  
                System.out.println("冬季。");  
                break;  
            case 12:  
            case 1:  
            case 2:  
                System.out.println("春季。");  
                break;  
            default :  
                System.out.println("输入的数值不符合,请重新输入。");  
                break;  
        }  
    }  
}  

3.循环结构

    循环结构,三种形式:while、do while、for。

    (1)while 循环格式

while (条件表达式)  
        {  
            循环体(执行语句);  
        }
 
 

    (2)do while 循环格式

 do  
        {  
            循环体(执行语句);  
        }  
        while (条件表达式)

 
 

    (3)for 循环格式

    for循环2中格式:

for (初始化表达式;循环条件表达式;循环后操作表达式)  
    {  
        //执行语句;  
    }  
  
    //格式二  
    初始化表达式;  
    for (;循环条件表达式;)  
    {  
        //执行语句;  
        //(循环后操作表达式)  
    }  
 
 

    说明:对于格式一,初始化表达式中如果有变量,是局部变量,存在于栈内存中,循环结束,随之消亡。而对于格式二,则不同,作用域是存在于for外面的语句块中。注:初始化表达式只读一次,判断是否满足循环条件表达式,满足则进行循环。

4.无限循环最简单表达形式

for{;;}

while(true){}

 
 

5.其他流程控制语句——break,continue

    break(跳出)语句:应用范围:选择结构和循环结构。    continue(继续)语句:应用于循环结构。注:    a. 这两个语句离开应用范围,存在是没有意义的。    b. 这个两个语句单独存在时,下面都不可以有语句,因为执行不到。    c. continue语句是结束本次循环继续下次循环。    d. 标号的出现,可以让这两个语句作用于指定的范围。只能用于循环结构。

二、函数

1.函数的概述

函数也称为方法,是定义在类中的具有特定功能的一段独立的小程序。函数可以实现某些特定的功能。

(1)定义函数的体现

    在写程序时,发现运算中获取不同数据的运算结果,总是重复使用一些代码,为了提高代码的复用性,就对代码进行了抽取。将这个抽取的部分定义为一个独立的功能,方便日后重复使用。这就是函数的体现形式。

(2)函数的格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,......)  
{  
    执行语句;  
    return 返回值;}
/**
返回值类型:函数运行后的结果的数据类型
参 数  类 型:是形式参数的数据类型,就是传入的数据的类型
形 式  参 数:是一个变量,用于存储调用函数时传递给函数的实际参数
实 际  参 数:传递给形式参数的具体数值
return          :用于结束函数运行的语句,表示函数执行完毕
返   回   值  :该值将返回给调用者,即函数实现功能需要获得的数据。
说明:当函数运行完,没有具体的返回值,这时的返回值类型可以用一个特殊的关键字来表示,即void,它代表的是函数没有具体的返回值的情况。此时,函数中的return可以省略不写。
*/
 
 
 
  

(3)何时定义函数

    (1)首先要明确函数的功能,这个功能实现的运算结果是什么

    (2)在定义函数功能的过程中需要明确是否含有位置内容参与运算

    其实就是在明确函数的参数列表(参数类型和参数个数)。

    (3)在定义函数功能的过程中需要明确是否含有位置内容参与运算

    其实就是在明确函数的参数列表(参数类型和参数个数)。

    其实就是在明确函数的参数列表(参数类型和参数个数)。

示例:/**需求:打印a ~ b 中每个数与c的乘积 
    分析:明确功能的结果:打印运算结果,返回类型无,为void 
          在实现功能的过程中是否有位置内容:有,int型的a、b和c 
    */  
    public static void chengFa(int a,int b,int c){ <pre name="code" class="java"><span style="white-space:pre">	</span>int x = 1;  
        for(int a=1;a<=b;a++)  
        {  
            int m = c*a;  
            System.out.print(m + "\t");  
            if(x == a/10)
            {    
                x++;  
                System.out.println(" ");  
            }  
        }  
    }
 
  

 
  
 
  

2.函数的特点

    (1)定义函数可以将功能代码进行封装,体现了java的封装性。
    (2)定义函数可以提高代码的复用性,便于使用,可对功能进行复用。
    (3)函数需要被调用才能被执行,否则就是一段代码。
    (4)无返回值类型的函数用void修饰,则可以省略函数中的return。
    (5)函数中不可以定义函数(内部类除外),但函数间可以相互调用。

3.函数的重载

    (1) 定义:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
    (2) 特点:与返回值类型无关,只看参数列表。
    (3) 好处:方便与阅读,优化了程序设计。
    (4) 重载解析:编译器对于重载的方法会进行选择,,匹配出相应的方法,如果编译器找不到匹配的参数,或者找出了多个可能的匹配函数,那么就会产生编译错误。

public static int add(int a,int b)  
{  
    return a+b;  
}  
//定义函数,求三个数的和  
public static int add_2(int a,int b,int c)  
{  
    return add(a,b)+c;  
} 
 
  

    好了,伙伴们,今天我们就到这里吧,总结起来其实是很有收获,但也是有伤脑筋呀呀,明天我们见。


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值