保留小数点后几位的语法
使用 System.out.printf(%.2f,变量名);//保留小数点后两位
循环结构
在Java中,当编写重复的代码时,则就可以使用循环完成,其实也就是:将重复的代码只编写一次,重复执行即可
循环可以减少代码的冗余性
常用循环种类
for循环、while循环、do while循环
for 循环
语法:
for(表达式1;表达式2;表达式3){
循环体
}
说明:
-
for循环中 表达式1**完成变量的初始值**** 例如:int F= 1;
-
表达式2完成循环条件的判断 结果为true执行循环体,否则结束整个for循环,执行循环外的语句。例如 f<=10;
-
循环体是编写重复的代码,编写一次即可重复执行;
-
表达式3完成变量值的更改//例如 f++;
循环例子 for(int f=1;f<=10;f++){ System.out.println("路不会飞"); }
注意事项:
1. for循环 中 三个表达式都可以省略 但是分号必须编写,则出现死循环又叫无限循环;dos命令窗口可以 按 ctrl+c终止程序运行;
for(;;){
System.out.println("路不会飞");
}
-
当省略表达式1,则会出现编译错误,可以将表达式1写在循环上面;
int f =1 for(;f<=10;f++){ System.out.println("路不会飞"); }
-
当省略表达式2,则会出现死循环,省略表达式2 则判断条件为true
for(int f =1;;f++){ System.out.println("路不会飞"); }
-
当省略表达式3,则出现死循环,可将表达式3编写在循环体最后一句;
for(int f =1;f<=10;){ System.out.println("路不会飞"); f++; }
-
当表达式1中声明的变量,如果在循环外使用该变量则出现编译错误 可将表达式1写在循环体上面
while循环*
语法:
while(循环条件){
循环体
}
流程:
先判断循环条件,当循环条件为true时,则执行循环体,然后再判断循环条件…一直到循环条件为false时 结束当前整个while循环,执行循环外的语句
do while循环*
语法:
do{
循环体
}while(循环条件);
执行流程:
先执行循环体,然后判断循环条件,结果为true则继续执行循环体,然后再判断循环条件…直到循环条件为false。则结束当前整个do while循环,执行循环体外的语句
转向语句:break语句和continue语句、return语句
break
-
在循环中 break表示中断,当在循环中遇到break,则结束当前循环,执行循环体外的语句
-
在switch中用来终止 switch语句的执行;
-
只能在swtich 和循环中使用
如何用break终止指定的循环
-
给循环起个名字
a:for{
b:for{}
}
- 终止:break a;
-
continue
continue表示继续,在循环中遇到continue,则结束当前这一次循环(本次循环),继续执行下一次循环
只能在循环语句中使用 continue
return
表示返回
在方法中使用return语句
当在方法中遇到return语句 结束当前方法,返回到方法的调用处
特殊形式
当方法无返回值类型时,编写void 方法体中可以编写 return 但是如果编写 return
只能编写 return;
总结
return: 结束当前方法
break: 结束单层循环
continue: 结束当前循环,执行下一次循环
当方法带有返回值类型时,并且是二选一,则有三种写法,具体如下:
当方法带有返回值类型时,方法体中的case或者default后面编写return,则return后面必须不能编写break,否则就出现编译错误
三种循环区别
1.语法格式不同
for(表达式1;表达式2;表达式3){
循环体
}
-------
while(循环条件){
循环体
}
-------
do{
循环体
}while(循环条件)
-
执行流程不同
for循环和while循环 先判断后执行循环体
do while 循环 先执行循环体后在判断循环条件
-
使用情况不同
当循环次数固定时,则建议使用for循环完成
当循环次数不固定时,则建议使用while循环、do while循环
先判断,然后再执行循环体,建议使用while循环
先执行,然后再判断,则建议使用do while循环
-
当循环条件第一次就为false时
for循环和while循环执行0次循环体
do while循环执行1次循环体
因此得到结论:
for循环:0次------N次
while循环:0次-----N次
do while循环:1次----N次
双重循环
也叫二重循环或者循环嵌套
在一个完整的循环中再编写另一个完整的循环,称为双重循环或者循环嵌套
语法:
for(;;){ //称为外层循环 for(;;){ //称为内层循环 } }
特点:
外层循环执行一次,则内层循环执行一遍
方法
method,又叫做函数
在现实生活中,方法就是实现某个功能
在Java中,方法:实现某个功能
- 比如: 判断、输出、求和…
方法的分类:
-
系统提供的方法:
- print();
- println();
- nextInt();
- …
-
用户自定义的方法
用户自定义的方法语法格式**
[修饰符] 返回值类型 方法名称([参数列表]){
方法体
}
方法的说明
-
[] 中的内容可有可无
-
目前学的方法修饰符编写为 public static 即可
-
返回值的类型有两种情况,分别是
- 无返回值类型,编写为 void
- 有(带)返回值类型,编写返回改值对应的数据类型
- 方法名称就是标识符
- 规范:方法名编写方法实现的功能的单词
- 规范:方法名称采用驼峰命名法 getSum
-
方法体为:实现具体功能的代码
方法中的注意事项
-
方法编写在其他方法的外面 或者 类中 ;在Java中方法是不可以嵌套方法 的
-
仿照main方法编写其他方法
-
当使用Java命令来运行字节码文件时,会自动找程序的入口 main方法
- 如果没有找到main方法,则出现运行错误
- 找到main方法,就从main方法中的第一条语句开始执行
- 因此:当运行字节码文件时,先找程序的入口,从入口中的第一条语句开始执行
-
用户定义的方法并不会自动执行,需要进行方法的调用
- 调用方法1:类名.方法名称([参数列表]);// sum.LF();
- 调用方法2:方法名称([参数列表]);
- 两种方法的区别
- 第一种:可以调用本类中的其他方法,还可以调用其他类中的方法
- 第二种:只能调用本类中的其他方法
-
栈特点: 先进先出 后进后出
-
当一个方法编写好后可以调用任意多次
调用方法
第一种方法:类名.方法名称([参数列表]);
第二种方法:方法名称([参数列表]);
两种调用方法的区别:
- 第一种:可以调用本类 的方法,也可以调用其他类中的方法
- 第二种方法:只能调用本类中的其他方法
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tRiXY52Q-1634559624755)(C:\Users\王\AppData\Roaming\Typora\typora-user-images\image-20211018195224803.png)]、
无参返回值类型的方法:
public static void 方法名称 (){
方法体
}
当该方法只有一个结果时,则可以编写为带返回值类型的方法完成
带返回值类型方法的注意事项
- 当带有返回值类型时,则不能编写为void 也就是:编写返回结果对应的数据类型
- 例如:结果为300 —返回值类型为int
- 结果为300.0 —返回值类型为double
-
当方法带有返回值类型时,必须在方法体中编写return语句,否则出现编译错误
-
当方法带有返回值类型时,则建议:在调用处进行方法的处理,否则没有结果
- 比如 先调用方法,然后将方法的返回结果再进行输出
带参无返回值类型的方法
当方法中有未知数时,可以编写为带参数的方法完成
注意事项:
-
参数编写在方法名称后面的小括号中
-
**每个参数必须编写为:**数据类型 参数名称// int a
多个参数之间用英文逗号隔开
-
参数名就是标识符 采用驼峰命名法
-
编写方法时 未知的数称为 形式参数 简称形参
比如 L 在调用方法时 给的值称为实际参数 简称实参 ,L 为形参 实参的值赋给形参的变量名称
必须要保证实参与形参的个数、类型、顺序一致
-
实参的值建议编写为键盘接收用户输入,在使用时相对灵活