Java语言程序设计——篇三(1)
创始人
2024-12-27 22:09:43
0

选择结构

  • 概述
  • 选择
    • 单分支if语句
        • 例题讲解
    • 双分支if-else语句
        • 例题讲解
    • 条件运算符
    • 多分支的if-else语句
        • 例题讲解
    • 嵌套的if语句
        • 例题讲解
    • switch语句结构
        • 例题讲解
          • 代码演示
          • 运行结果

概述

Java中的控制结构,包括:
1、选择结构( if、if-else、switch )
2、循环结构( while、do-while、for )
3、异常处理语句( try-catch-finally、throw)

选择

单分支if语句

语法格式如下所示:
if(条件表达式) {
// 语句序列
}在这里插入图片描述
单分支if语句中,条件表达式是一个布尔值
当值为true时,才会执行 {} 中的语句。
否则,执行 if 结构后面的语句。

例题讲解

例:在求圆面积问题中,要求只有当radius>=0时才计算圆的面积。

if (radius >= 0) {
area = radius * radius * 3.14159;
System.out.println("The area for the circle of radius " + radius + " is " + area);
}

双分支if-else语句

if…else语句是指如果满足给定条件,就进行某种处理,否则就进行另一种处理,其语法格式如下所示:
if (条件表达式){
语句序列1

else{
语句序列2

在这里插入图片描述

例题讲解

例:在求圆面积问题中,要求只有当radius>=0时才计算圆的面积,否则,程序给出错误提示。

if (radius >= 0){
area = radius * radius * 3.14159;
System.out.println("The area for the circle of radius "
+ radius + " is " + area);
}
else {
System.out.println(“Negative input”);
}

条件运算符

条件运算符(conditional operator)格式如下:
condition ? expression1 : expression2
条件运算符可实现if~else结构。
若max, a, b是int型变量:
if (a > b) {
max = a;
}else {
max = b;
}
   与max = (a > b)? a : b ;一样

多分支的if-else语句

if (条件表达式1){
语句序列1
}
else if (条件表达式2){
语句序列2
}
......
else if (条件表达式n ){
语句序列n
}
else{
语句序列n+1
}
条件表达式的结果必须都是布尔型
在这里插入图片描述

例题讲解

例:输入学生的百分制成绩,打印输出等级的成绩。等级规定为,
90分及以上的为“A”
80分及以上的为“B”
70分及以上的为“C”
60分及以上的为“D”
60分以下为“E”。

if (score > =90.0)
grade = ‘A’;
else if (score >= 80.0)
grade = ‘B’;
else if (scroe >= 70.0)
grade = ‘C’;
else if (score >= 60.0)
grade = ‘D’;
else
grade = ‘E’;

嵌套的if语句

其语法形式如下:
if (表达式1)
   if (表达式2)
   语句1
  else 语句2

else
   if (表达式3)
   语句3
   else 语句4

嵌套应分层缩进书写;
else总是与它上面最近的未配对的if配对。(就“近”原则)
嵌套的层数不宜太多,一般以2~3层为宜
在这里插入图片描述

例题讲解

例:求a、b和c中最大值并将其保存到max中。

if ( a>b )
   if ( a>c )
      max=a;
      else max=c;
else
   if ( b>c )
      max=b;
      else max=c;

switch语句结构

针对表达式的值做出判断,从而决定执行哪些语句。
switch(表达式){
 case 常量表达式1:
      语句序列1;
      break
  case 常量表达式2:
      语句序列2;
      break;
......
 case 常量表达式n:
      语句序列n;
      break;
  default:
      语句序列n+1;

注意
表达式:类型为byte,short,int,char,enum,String
并且与各个case后面的常量表达式值的类型一致。
语句序列:每个case子句后面可以跟多条语句,这些语句可以不用大括号括起来。
break:一般都有break,若没有则多个case共享一个分支。结束switch结构。
default:可有可无。 有时,当表达式的值与任何一个case后的常量表达式的值不相同时执行。没有,不执行任何操作,直接跳出switch结构。

例题讲解

例:编写程序,从键盘输入一个年份(如2020年)和一个月份(如2月),输出该月的天数(29)。

闰年的定义是:
如果年份能被4整除但不能被100整除,则是闰年。
如果年份能被400整除,则也是闰年。

代码演示
package shujia_test1;  import java.util.Scanner;  public class Csdn3_1 { 	public static void main(String[] args) { 		Scanner input = new Scanner(System.in); 		System.out.print("输入一个年份:"); 		int year = input.nextInt(); 		System.out.print("输入一个月份:"); 		int month = input.nextInt(); 		int numDays = 0; 		switch (month) { 		case 1: 		case 3: 		case 5: 		case 7: 		case 8: 		case 10: 		case 12: 			numDays = 31; 			break; 		case 4: 		case 6: 		case 9: 		case 11: 			numDays = 30; 			break; 		case 2: // 对2月需要判断是否是闰年 			if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)){ 				numDays = 29; 			}else{ 				numDays = 28;} 			break; 		default: 			System.out.println("月份非法."); 			break; 		}2020 		System.out.println(" 该月的天数为:" + numDays); 	} }  
运行结果

在这里插入图片描述
博主用心写,读者点关注,互动传真情,知识不迷路。

相关内容

热门资讯

分享认知!微乐小程序辅助工具!... 分享认知!微乐小程序辅助工具!微乐自建房脚本使用安全吗(真是有辅助教程)1)有没有挂:进一步探索有辅...
分享个大家!微乐小程序辅助工具... 分享个大家!微乐小程序辅助工具!微乐陕西麻将破解(果然真的是有辅助脚本)1)辅助插件:进一步探索辅助...
分享一款!微乐小程序自建房辅助... 分享一款!微乐小程序自建房辅助!微乐富足和靠谱吗(果然真的是有辅助技巧)暗藏猫腻,小编详细说明破解器...
实测揭晓!微乐小程序自建房辅助... 实测揭晓!微乐小程序自建房辅助!微信小程序微乐辅助器ios(本来有辅助app)透视方法中分为三种模型...
科普攻略!微乐小程序辅助工具!... 科普攻略!微乐小程序辅助工具!微信微乐辅助器使用教程(总是真的是有辅助插件)亲,关键说明,透视脚本安...
免费测试版!微乐小程序自建房辅... 免费测试版!微乐小程序自建房辅助!微乐麻将自建房app(都是真的是有辅助软件)1、很好的工具软件,可...
每日必看教程!微乐小程序自建房... 每日必看教程!微乐小程序自建房辅助!微乐春天小程序辅助(一直真的有辅助器)1、很好的工具软件,可以解...
科技通报!微乐小程序自建房辅助... 科技通报!微乐小程序自建房辅助!微乐家乡app辅助器(其实有辅助插件)1、打开软件启动之后找到中间准...
必备教程!微乐小程序自建房辅助... 必备教程!微乐小程序自建房辅助!微信小程序四川微乐脚本(总是有辅助工具)1、金币登录送、破产送、升级...
信息共享!微乐小程序辅助工具!... 信息共享!微乐小程序辅助工具!微信小程序游戏辅助器(果然是有辅助脚本)1、下载好透视辅助下载之后点击...