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

黑马程序员—【Java基础篇】之语言基础———for嵌套循环练习题 ------- android培训、java培训、期待与您交流! ---------    上篇分享和总结了Java语言基础程序流程控制和函数; 那么接下来我继续为大家分享for嵌套循环2道练习题。 /** * 第1题:用控制台程序倒着输出九九乘法表;输出结果按下图所示: * 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=5 阅读详情
------- 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培训、期待与您交流! ---------

黑马程序员——C语言基础篇---基础语法 黑马程序员学习日志,C语言的基础学习 阅读详情

相关推荐

2022黑马程序员Java学习路线图

原文转自:2022黑马程序员Java学习路线图 入门:Java SE基础-->Java Web(含数据库+H5+js+vue)中级:Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot-->传智健康【项目实战】--> 瑞吉外卖【项目实战】进阶:Spring Cloud(微服务开发,学这一套就够了) 也可分技术点学: (Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索

Ahahaha___的博客 3031

黑马Java第一阶段:Java基础(基础篇笔记)

java

chen的博客 3544

黑马程序员_基础测试

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

扬帆远航 2260

黑马程序员Java零基础 (1) 基础语法

跟着黑马程序员Java零基础视频教程的笔记.简要提纲版,有问题可以看视频解答.此篇是p1-p39.

qq_53077632的博客 1109

全网最全 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

昨天(2024年7月23日)我们分享了学生及科研人员电脑配置推荐 | 笔记本+外置显卡配置,性能足够支持完成你博士论文文本内容,那么今天我们就分享一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置的教程,我们使用一文来解决大家在做生信时遇到安装系统、配置环境的问题。在此文中,我们尽快可能给出一套全网最全的教程。目标是解决新手小白同学查资源的困惑和难题。但是,每个童鞋遇到的问题不一样,此教程也不可能把你遇到的每个问题都归纳在其中。我们也希望,

BioinfoDu 2261

anaconda安装-超详细版

文章目录一、anaconda安装1.1 anaconda安装地址1.2 安装详细步骤检验安装是否成功更改conda源(后续安装第三方库可以加快速度) 一、anaconda安装 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。装anaconda,就不需要单独装python了。 anaconda优点: 1、anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而p

in546的博客 25万+

黑马程序员 — C语言基础(一)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------

iyaochao的专栏 574

告别手动烧录!给STM32H750外挂Flash制作Keil专用下载算法(保姆级避坑指南)

本文详细介绍了为STM32H750外挂Flash开发Keil专用下载算法的全过程,从原理到实战操作,特别针对QSPI Flash的配置和优化提供了保姆级避坑指南。通过定制下载算法,开发者可以告别手动烧录,实现一键下载到外部Flash,大幅提升开发效率。

weixin_42567497的博客 251

黑马程序员总结文档汇总

这篇日志,是这些日子以来观看传智播客视频写的一篇汇总文档,蓝色标识的超链接是doc类型的文档,绿色标识的超链接是思维导图类型的文档,同时两种类型的文档中每篇都提供了文档下载链接,详细内容如下:   黑马程序员 01 Java基础教学 - 01 - 认识Java                                黑马程序员 02 Java基础教学 - 02 - 走进Java

kongbeily的专栏 2143

LaTeX伪代码字体大小调整全攻略:从algorithm到algorithm2e的实战技巧

本文详细介绍了在LaTeX中调整伪代码字体大小的全面技巧,涵盖algorithm、algorithmicx和algorithm2e等主流算法包的使用方法。从基础命令到高级配置,帮助用户解决学术论文和技术文档中的伪代码排版问题,提升算法展示的专业性和可读性。特别针对不同期刊格式要求,提供了实用的字体调整方案。

weixin_29297127的博客 437

第四章 汇川技术InoProShop入门之串口自由协议解读

摘要: 串口自由协议是工业自动化中针对特定需求设计的自定义通信协议,具有高度灵活性和针对性,适用于小型设备、实时控制等场景。其核心包括自定义帧结构(起始符、地址码、数据区、校验位等)和通信规则(波特率、交互机制)。相比标准协议,自由协议效率更高但兼容性弱,设计时需注重可靠性、效率和可扩展性,适用于定制化或高实时性需求,如传感器数据采集或老旧设备改造。典型应用需平衡精简帧结构与抗干扰能力,同时预留扩展空间。

zyfucking2010的博客 2216

黑马程序员——Java语言基础下篇

黑马程序员——Java语言基础下篇                                                                                   -----Java培训、Android培训、iOS培训、.Net培训-期待与您交流! -------

u012830728的专栏 440

Nacos 2.3.2实战:5分钟搞定达梦数据库插件配置(含避坑指南)

本文详细介绍了在Nacos 2.3.2中配置达梦数据库数据源插件的完整实战流程。通过解析SPI插件机制,提供从环境准备、插件编译部署到核心配置的逐步指南,并重点分享了驱动加载、SQL兼容性等高频问题的避坑解决方案,助力开发者高效完成国产化数据库适配。

weixin_29200485的博客 499

黑马程序员--02.Java语言基础--02.【语句】【函数】

Java语言基础--02.基本组成元素                                                   语句、函数 ----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 1.    流程控制语句(重点概述) 1). 条件语句 (1). If、if-else和if-else if- e

歆明正航的专栏 1249

计算机网络技术研究方向有哪些创新点

计算机网络技术方向的创新点众多,这些创新不仅推动了网络技术的不断发展和完善,还为用户提供了更高效、更安全、更便捷的网络服务。- 边缘计算是一种将计算和数据存储推向网络边缘的技术,通过将数据处理和分析的任务分散到网络的各个节点,降低了数据传输的延迟,提高了实时性。- 通过网络自动化工具和技术,可以实现网络配置的自动化、网络故障的自动诊断与修复等功能,降低了网络运维的复杂性和成本。- 通过引入人工智能技术,网络可以实现更智能的流量管理、故障预测和自动修复等功能,提高了网络的性能和稳定性。

Loving_enjoy的博客 1495

机器人外接 USB 音响完整配置指南

摘要:本文介绍了为机器人配置外接音响的方法。由于内置音响音量小且有散热噪音,建议使用Type-C接口外接音响。配置步骤包括:1)通过aplay -l命令查看音响端口信息;2)使用aplay命令测试音频播放;3)通过amixer命令设置音量。关键点在于正确识别音响的卡号(如card 2)和设备号(如device 0),并在命令中准确配置这些参数即可实现外接音响的正常使用。

m0_47999117的博客 357

黑马程序员——Java概述、Java语言基础

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第一章  Java概述 一、Java语言概述     Java语言是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言;是一种面向Internet的编程语言;随着Java技术在web方面的不断成熟,已经成为Web应用

smile78356的专栏 612

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【免费下载】 SpringBoot基础篇--黑马 资源下载

SpringBoot基础篇--黑马 资源下载 【下载地址】SpringBoot基础篇--黑马资源下载分享 本仓库提供了一个名为“SpringBoot基础篇--黑马”的资源文件下载。该资源文件是针对SpringBoot基础知识的教学材料,由黑马程序员团队精心制作,旨在帮助初学者快速掌握SpringBoot的核心概念和基本使...

gitblog_06627的博客 914

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

黑马程序员_java语言基础

黑马程序员_java语言基础             ---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------     java语言基础组成部分 一,标示符         像类的名称,变量的名称 。注意名称一定要有意义,要方便阅读。而且必须遵循以下规则:            1、

catch_future的专栏 366

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

黑马程序猿 - Redis基础篇笔记

Remote Dictionary Server(远程字典服务器),是一个基于内存的键值型(Key-Value)的NoSQL数据库,由 Salvatore Sanfilippo(社区昵称为 Antirez)于 2009 年发布。在现代架构中,Redis 常用于:📦 缓存系统(如页面缓存、热点数据)🚦 分布式锁(实现互斥访问)🔢 排行榜(ZSet)🧵 消息队列(List)📊 会话存储(如用户登录信息)并不是否定 SQL,而是补充传统关系型数据库的一种新范式。

tang7mj的博客 1452

黑马程序员-iOS基础-C语言基础(三)流程控制及函数

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员-iOS基础-C语言基础(三) 流程控制及函数  一、流程控制 代码流程控制的三种结构:顺序结构、选择结构、循环结构 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。 循环结构:在给定条件成立的情

deng0512的专栏 469

黑马程序员——Java基础语法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础语法 JAVA语言基础组成关键字、标识符、注释、常量和变量、运算符、语句、函数、数组  一、关键字:被Java语言赋予了特殊含义的单词,关键字中所有的字母都为小写。              二、标识符:在程序中自定义的一些名称 由26个英文

596

黑马程序员_java语言基础_概述

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-01.01_计算机基础知识(计算机概述) java语言基础_概述

jiao142857的博客 2735

2021黑马程序员java面试宝典笔记一(基础篇)

一、基础篇 1. 二分查找 要求 能够用自己语言描述二分查找算法 能够手写二分查找代码 能够解答一些变化后的考法 算法描述 前提:有已排序数组 A(假设已经做好) 定义左边界 L、右边界 R,确定搜索范围,循环执行二分查找(3、4两步) 获取中间索引 M = Floor((L+R) /2) 中间索引的值 A[M] 与待搜索的值 T 进行比较 ① A[M] == T 表示找到,返回中间索引 ② A[M] > T,中间值右侧的其它元素都大于 T,无需比较,中间索引左边去找,M - 1

qq_461491877的博客 781

“黑马程序员”基础测试

距我报名开始自学黑马,已经有一个月了。 期间还要工作

ZHOU_XIAO_BING的专栏 1005

黑马程序员——自学java基础第一天

学习心得: 其实也并没有想象中的或是传说中的那么难,只是接下来的课程可能不能一气呵成的看完!一并学习了!不过一有空了的时候一定会抓紧时间学习!加油!为自己打气!不过这还只是算点皮毛还不算入门!最后还是很感谢黑马的视频!

u012413609的博客 475
上一篇: 黑马程序员—【Java基础篇】之语言基础———关键字、标识符、注释、常量和变量及运算符
下一篇: 黑马程序员—【Java基础篇】之语言基础———for嵌套循环练习题
WL8721
博客等级 码龄16年 12粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值