Java学习Day3-程序执行流程、函数

程序执行流程有几种

  • 顺序结构
  • 分支结构(单路分支,多路分支)
  • 循环结构
  • 函数的调用与返回

顺序结构

程序是从入口处开始运行,从上往下开始执行,之间没有任何判断和跳转

分支结构

if语句和switch语句

if语句中的操作数必须是boolean类型的表达式,或者是布尔值true和false(如果是true则一定执行,如果是false则一定达不到)

单分支if

 多分支if

 注意:分支中最难实现的放到最前面,最容易实现的放到最后面(也可以理解成先处理包含范围小的)

我们写代码的时候尽量把每个分支(if、else、else if)加上花括号,一条命令是可以不用加因为一条相当于一个整体但是多条命令是必须要加

switch语句与if不同的就是switch后面的控制表达式只能是byte、short、char、int四种整数类型,枚举类型和java.lang.String类型(从Java7才开始允许),不能是boolean类型

值得注意的是在case里面如果不加break的话程序会一直往下执行直到最后结束

 循环结构

while和do while

while循环和for循环的区别,先判断条件,再决定是否执行

while和for有可能一次都不执行,do

循环四要素

1、循环变量初始化

2、循环条件

3、循环条件的迭代

4、循环体

什么是函数

函数是一系列指令的集合,通过函数封装指令,可以达到代码复用的目的

函数是组织代码的最小单元,如main()

类是程序的最小单元

什么是静态函数, 函数的组成部分, 函数调用时需要注意什么,主函数和普通函数的区别是什么

通过修饰符static修饰的函数叫静态函数,静态函数可以直接用类名调用

函数由访问权限修饰符 静态修饰符 返回值类型 函数名() 函数体组成

有参构造函数调用时需要注意的是,参数的数据类型,参数的对应顺序

主函数有程序人口,普通函数可以被调用

主函数可以用private修饰吗?为什么

JVM虚拟机发现不了private修饰符

不能,因为主函数程序的入口必须是公共的public,否则无法运行程序

权限修饰符

public : 公共的, 可以在任何外部类中调用
private: 私有的, 只能在本类的内部调用
(default)默认不写权限修饰符: 同包的, 只能在同一个包里面调用

静态修饰符

static 函数必须添加static修饰符, 如果没有static修饰, 就不是函数, 而是方法
方法的调用方式跟函数是不一样的

返回值类型

写 void 代表函数没有返回值

写一种具体的类型 代表函数有返回值, 并且约定了返回值的类型

例如: 返回值类型的double, 那么调用方调用后, 只能用double类型的变量来接受函数的返回值并且函数内必须用return返回值的double类型的操作数出去

 静态变量与局部变量的区别

定义的位置不同

静态变量: 定义在函数外面, 类的里面

局部变量: 定义在函数里面

作用域不同

静态变量: 当前类中所有的函数都可以使用

局部变量: 只能在当前函数内使用

局部变量一定不可以被外部访问, 因为不可用加访问权限修饰符

静态变量可以被外部访问, 因此可以添加访问权限修饰符

什么是栈, 什么是栈帧,栈帧中有什么

 break、continue、return的作用和区别

 break:跳出循环

continue:结束本次循环,进入下一轮循环

return:main函数直接出栈,程序结束

Java程序的关键字

名称作用
class定义类,类是程序的最小单元
public公共的,在同一个包内共享
private私有的,只能被同一个包内的使用
if开始一个选择分支, if后面跟小括号,小括号里面的操作数是判断条件, 可以是直接量,变量,表达式, 但必须是boolean类型
elseelse后面不跟条件, 但是else if后面必须跟条件
switch

开始一个选择分支, switch后面跟小括号

小括号里面的操作数只能是byte, short, int, char类型

Java5后支持枚举类型

Java7后支持String类型, 但通过观察字节码可以发现, 本质上还是int类型

注意, switch不支持long类型, 也不支持浮点型和boolean类型 

case是switch中的一个分支, 后面跟直接量, 直接量与switch()中的操作数的数据类型必须相同
default在switch中所有case都不满足时执行default分支, 它相当于是多重if分支中的最后的else, 是所有情况都不满足时, 默认执行的分支
while

开始一个循环, while后面跟小括号,小括号里面的操作数是判断条件, 可以是直接量,变量,表达式, 但必须是boolean类型

dodo必须和while组合使用, do在前面, while在后面, 先执行一次do, 再通过判断while条件是否成立, 来决定是否循环
for开始一个循环, for后面跟小括号, 小括号里面有3组表达式, 分别是循环变量初始化, 循环条件, 循环变量的迭代
void函数没有返回值
static静态的
break

用于跳出switch...case

用户跳出循环

如果有循环嵌套循环, 那么break跳出的是最近的那个循环

continue本轮循环结束, 进入下一轮循环
return函数返回,后面可以什么都不跟, 也可以跟一个操作数, 具体要看函数是否定义了返回值类型

 Java常用的数学函数

函数名参数返回值作用
randomdouble随机生成一个0-1的随机数
max2个(int  a,int b)int返回一个较大值
min2个(int  a,int b)int返回一个较小值
abs1个(int a)int返回一个数的绝对值
sqrt1个(double a)double返回一个数的二次方根
round1个(float a)int实现四舍五入
rint1个(double a)double

返回最接近参数的整数值

注意:整数含.5的变偶数

如:11.5 -> 12 , -11.5 -> -11

ceil1个(double a)double返回最近的且大于这个数的整数
floor1个(double a)double返回最近的且小于这个数的整数

什么是递归

递归就是自己调用自己,然后把值返回给自己,一般用于数学中的数列运算

什么是debug

debug就是我们写完代码后对代码的测试,可以一步一步调式,发现程序的问题所在

如何快速打开类所在的位置

ctrl + 单击类名 可以快速打开该类的源代码

打开系统自带的代码后,如何快速找到自己想要看到的代码

alt + 7 显示导航窗口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值