我的Java学习心得04-流程控制
2021/7/28 17:36:43
本文主要是介绍我的Java学习心得04-流程控制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
Scanner对象
一、字符串
二、数字
顺序结构、选择结构、循环结构
一、顺序结构
二、选择结构
三、选择结构
Scanner对象
1、作用:通过 Scanner 类 来获取用户的输入
2、基本语法
Scanner s = new Scanner(System.in);
一、字符串
- 通过 Scanner 类 的 next() 与 nextLine() 方法来获取输入的字符串
注意:next() 不接受空格,nextLine() 接受空格
- 一般地,在读取前,使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据
hasNext() 与 hasNextLine() 并无太大差别
import java.util.Scanner.; //引入Scanner类 public class input01{ public static void main(String[] args){ // 创建一个扫描器对象,用于接受键盘输入 Scanner scanner = new Scanner(System.in); System.out.println("使用 next 方法接收"); //判断用户有没有输入字符串 if(scanner.hasnext()){ // 使用 next 方法接收 String str = scanner.next(); //不接受空格 System.out.println("输出的内容为:" + str); } //凡是属于IO流的类,如果停止使用要及时关闭,防止占用资源 scanner.close(); } }
import java.util.Scanner.; //引入Scanner类 public class input01{ public static void main(String[] args){ // 创建一个扫描器对象,用于接受键盘输入 Scanner scanner = new Scanner(System.in); System.out.println("使用 nextLine 方法接收"); //判断用户有没有输入字符串 if(scanner.hasNextLine()){ // 使用 next 方法接收 String str = scanner.nextLine(); //接受空格 System.out.println("输出的内容为:" + str); } //凡是属于IO流的类,如果停止使用要及时关闭,防止占用资源 scanner.close(); } }
二、数字
1、单纯的输入输出
import java.util.Scanner; public class demo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 也可以进行初始化 int i; float f; System.out.println("请输入整数"); //判断输入的是否为整数 if(scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("您输入的整数是:" + i); } else System.out.println("您输入的不是整数!"); System.out.println("请输入小数"); //判断输入的是否为float型 if(scanner.hasNextFloat()){ f = scanner.nextFloat(); System.out.println("您输入的小数是:" + f); } else System.out.println("您输入的不是小数!"); scanner.close(); } }
2、输入 + 简单的计算
import java.util.Scanner; public class demo04 { // 输入多个数据,计算其和 与 平均数,以非数字作为输入结束符 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double sum = 0; // 记录 和 int num = 0; // 记录 个数 System.out.println("请输入多个数字计算 和 与 平均值"); //当输入为非字符时,循环结束 while(scanner.hasNextDouble()) { double x = scanner.nextDouble(); num++; //个数+1 sum = sum + x; //计算和 } System.out.println("对于输入的数字,其和为:" + sum); System.out.println("对于输入的数字,其平均值为:" + sum/num); scanner.close(); } }
顺序结构、选择结构、循环结构
一、顺序结构
一个个语句一次执行就是顺序结构
二、选择结构
1、if 选择结构
(1)if 单选择结构
if( 布尔表达式 ){ // 若布尔表达式的值为true则执行该语句体 }
(2)if 双选择结构
if( 布尔表达式 ){ // 若布尔表达式的值为true则执行该语句体,不执行下一个 } else{ // 否则执行该语句体,而不执行上一个 }
(3)if 多选择结构
if( 布尔表达式1 ){ // 若布尔表达式1的值为true则执行该语句体 } else if( 布尔表达式2 ){ // 若布尔表达式2的值为true则执行该语句体 } ··· ··· else{ // 上述表达式都为false 时执行该语句体 }
(3)if 嵌套结构
if( 布尔表达式1 ){ // 若布尔表达式1的值为true则执行该语句体 if( 布尔表达式2 ){ // 若布尔表达式2的值为true则执行该语句体 } }
2、switch 多选择结构
- 格式
switch( 变量 ){ case 值1 : // 语句 break; // 可选 case 值2 : // 语句 break; // 可选 ··· ··· default : // 可选 // 语句 }
注:
- 变量类型:byte、short、int、char
- 从JavaSE7开始,switch支持字符串String类型,同时case标签须为相应值
- case 存在 穿透现象:若变量与值m相等,则执行其下语句,知道遇见break为止
- 当变量与case给的所有值都不同时,才执行default
- 当变量为整型时,写例如 case 1 :
- 当变量为字符型时,写例如 case 'A' :
- 当变量为String时,写例如 case"Java" :
三、选择结构
1、while 循环结构
while( 布尔表达式 ){ // 表达式成立时执行 }
例题:计算1+2+···+100
public class demo01 { public static void main(String[] args) { int i = 1; //表示加数 int sum = 0; //表示和 while( i <= 100 ){ sum = sum + i; i++; } System.out.println(sum); } }
2、do while循环
do{ // 语句 }while( 布尔表达式 )
注:do while先执行再判断
3、for循环
for( 初始化; 条件判断; 更新 ){ // 循环体 }
注:
- 初始化:可声明一种类型,也可给多个已声明的变量赋值,也可为空语句
- 条件判断:当满足条件时,执行循环;否则,循环终止
- 更新:每执行完一次循环体之后,更新循环控制变量
例题:计算0-100之间的奇数和、偶数和
public class demo02 { public static void main(String[] args) { int oddSum = 0; int evenSum = 0; for (int i = 0; i < 100; i++) { if(i%2 == 0) { //判断是否为偶数 evenSum = evenSum + i; } else{ oddSum = oddSum + i; } } System.out.println("0-100的奇数和为:" + oddSum); System.out.println("0-100的偶数和为:" + evenSum); } }
例题:for循环输出1-1000之间能被5整除的数,并且每行输出3个数
public class demo03 { public static void main(String[] args) { for (int i = 1; i <= 1000; i++) { if(i%5 == 0) { // 能被5整除 System.out.print(i+"\t"); } if(i%(5*3) == 0) //控制一行内输出3个数 System.out.println(); } } }
例题:打印九九乘法表
public class demo04 { //打印九九乘法表 public static void main(String[] args) { for(int i = 1; i <= 9; i++){ // 控制行数 for(int j = 1; j <= i; j++){ // 控制列数 System.out.print(j + "*" + i + "=" + i*j + '\t'); } System.out.println(); } } }
例题:打印5行三角形
public class demo06 { // 打印5行三角形(以5*10的长方形为背景) public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for(int j = 5; j >= i; j--) { //部分1,打印空格 System.out.print(""); } for(int j = 1; j <= i; j++) { //部分2,打印* System.out.print("*"); } for(int j = 1; j < i; j++) { //部分3,打印* System.out.print("*"); } System.out.println(); } } }
4、增强for循环
int[] num = {10, 20, 30, 40, 50}; //定义了一个数组 // 便利数组的元素 for(int i:num) System.out.println(i);
5、break 和 continue
(1)break:强行退出循环,不执行循环中剩余语句
(2)continue:终止某次循环,即跳出循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
(3)goto:实际上是带标签的循环体,continue利用标签跳入到制定循环体中(不建议使用)
public class demo05 { // 打印101-150之间的所有质数 public static void main(String[] args) { outer:for(int i = 101; i <= 150; i++){ for(int j = 2; j < i/2; j++){ if( i % j == 0 ) continue outer; } System.out.print(i+" "); } } }
这篇关于我的Java学习心得04-流程控制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20RabbitMQ教程:新手入门指南
- 2024-11-20Redis教程:新手入门指南
- 2024-11-20SaToken教程:新手入门指南
- 2024-11-20SpringBoot教程:从入门到实践
- 2024-11-20Java全栈教程:从入门到实战
- 2024-11-20Java微服务系统教程:入门与实践指南
- 2024-11-20Less教程:初学者快速上手指南
- 2024-11-20MyBatis教程:新手快速入门指南
- 2024-11-20QLExpress教程:初学者快速入门指南
- 2024-11-20订单系统教程:从入门到实践的全面指南