Day04 Java基础 循环 分支补充 和 【函数】
一. break 关键字
字面意思打破,在代码中有跳出当前结构的功能 仅限于 switch 和 循环
探求和循环的关系
在循环如果出现了break, 那么就是跳出这个循环,但是在if 语句中
出息break 不是跳出if结构,而且跳出if 之上的 循环结构
二. continue 关键字
字面 意思 继续
在代码中 只是和循环一起使用,功能是结束本次循环,进入下一次循环
【注意】
1. 如果在while 和 do-while循环中,使用continue关键字,要注意循环
条件变更的位置,一般是在continue,防止死循环
2. 在for循环中,for语句的第三个条件可以认为不是循环体,是必须要运行
的语句,所以不受continue影响
三. ? : 条件运算符 三目运算符
if else
条件 ? 语句1 : 语句2;
执行流程:
如果运行到条件运算符 ? : 如果条件位置,执行语句1,如果为假,执行语句2;
四.【函数】 【重点】
函数: 方法 Method Function
功能: 提供代码的复用度
遇到的问题:
在代码中有一万处需要打印10个星星。如果每一个地方都去重复写,代码会变
的很臃肿
解决方式:
在这一部分代码 【封装】成一个工具,使用
定义函数的格式:
修饰符 返回值类型 函数名(形式参数列表…) {
函数体
需要被封装的功能代码
}
分析函数:
public static void printStar(int n) {
for (int i = 0; i < n; i++) {
System.out.println("*");
}
}
修饰符: public static 不要问
返回值类型:void 表示这里没有返回值
函数名: printStar
作用:
1.表示这个函数的名字,通过这个名字,要告诉使用者,这个函数的功能
2.当调用函数时候,就是使用函数名()调用的
函数是条狗,哪里需要哪里吼
(int n) 形式参数的列表,这里要求在调用这个函数时候,外部需要给这个函数
传入的参数类型
{} 里面是要封装的功能代码
函数返回的关键字:
return 返回的数据;
返回的数据 要和函数声明的返回值一致
[注]如果函数的返回值是void 如果函数需要return, return之后什么都没有
在函数中,如果运行到了return 那么return之后的代码都不会在执行
函数的调用:
函数是条狗,哪里需要哪里吼
函数调用时候就是使用函数的名字(实际参数)
函数调用到时候经历了什么?
1. 代码执行到调用函数的时候
2. 会直接跳转到函数的声明部分
3. 给函数中形式参数赋值,并且执行函数里面封装的代码
4. 执行完函数里面的代码,遇到函数的return 或者 函数的大括号,结束
5. 回到调用函数的位置,继续执行之后的代码
函数到底怎么写?
1. 需求分析,需要参数吗? 需要返回值吗? 函数的名字怎么起?
2. 返回值的类型以及含义
3. 思考函数的流程,这里可以用注释方式写下来,帮助自己写代码
4. 按照自己的注释,一步一步的写代码
5. 测试,不但要测试正确情况,还要考虑错误情况,要保证自己的代码足够健壮
函数的注意事项:
1. 函数中需要的实际参数,数据类型要和形式参数一一对应
2. 函数返回值的内容一定要和函数规定的返回值一致
[发现]
int类型的数给double 貌似可以用?
补充知识点:
数据类型转换
自动类型转换
f (int num) short byte long
系统会默认将小数据类型转换成大数据类型
byte -> short -> int -> long -> float -> double
char ->
强制类型转换
double num = 3.14;
int num1 = (int)num;
浮点型数据强转为整型数据,会默认抹掉小数点之后的数据,这里不存在四舍五入
使用强制类型转换,有可能导致精度的丢失,这种丢失必须是你预期以内
因为这种丢失不可逆