Java学习笔记———选择结构
一:Java的基本结构
顺序结构
选择结构
循环结构
二:选择结构
1: if语句
if语句的基本格式:
if(判断条件){代码块}
if(判断条件){代码块} else {代码块}
if(判断条件){代码块} else if(判断条件){代码块} else {代码块}
if(判断条件){ if(判断条件){代码块} } else {代码块}
1.1 简单if语句
规范形式:
if (条件){
//代码块
}
示例1:Java成绩大于80分,奖励一颗糖
//简单的if语句//成绩如果大于80 奖励一颗糖int score = 10;if (score > 80){System.out.println("奖励一颗糖");}
示例2:Java的成绩大于98,而且HTML的成绩大于80,或者Java成绩等于100,HTML成绩大于70,奖励一杯奶茶
if( (score1 > 98 && score2 > 80) || (score1 = 100 && score2 > 70 ) ){System.out.println("奖励一杯奶茶");}
1.2 if —else 语句
规范形式:
if(判断条件){
//代码块1
}else{
//代码块2
}
示例1:是男生就永远18岁,否则永远16岁。
//如果是男生 就永远18岁//如果是女生 就永远16岁char c = '女生';if( c == '男生'){// boolean 结果是true 执行if 否则执行elseSystem.out.println("永远18岁");}else{System.out.println("永远16岁");}
练习1:买彩票
如果体彩中了500万,我要买车,买房,去旅游。
如果没买中,那就继续买
public class Test01 { public static void main(String[] args) { //创建input对象 Scanner input = new Scanner(System.in); //键盘提示 System.out.println("中了500万吗?y/n"); //接收键盘输入 String answer = input.next(); //判断 if (answer.equals("y")){ //字符串的判断要使用equals方法System.out.println("买车,买房,旅游"); }else { System.out.println("继续买"); } }}
注意:字符串的比较要用equals方法
练习2:输入4位数字的会员号的百位数字等于产生的随机数字即为幸运会员,提示恭喜中奖,否则没中奖。
public class Test02 {public static void main(String[] args) {//创建input对象Scanner input = new Scanner(System.in);//提示键盘输入System.out.println("请输入4位的会员号:");//创建对象获取输入内容int member = input.nextInt();//提取百位数字int bai = member/100%10;//创建随机数对象Random r = new Random();int ran = r.nextInt(10);//判断输入数与随机数if (bai == ran){System.out.println("恭喜中奖!");}else {System.out.println("欢迎下次光临!");}}}
注意:Math.random();可以生成0~1之间的一个数字,含0不含1
1.3多重if语句
标准形式:
if(条件1){
```java
//代码块1 ```
}else if{
//代码块2
}
....
else{
//代码块3
}
示例1:如果成绩大于90并且是男生就送个女朋友,成绩大于90并且是女生送个男朋友,否则活该单身
public class summarize {public static void main(String[] args) {char c = '女';int score = 10;if(score>90 && c=='男'){System.out.println("给送个女朋友");}else if(score>90 && c=='女'){System.out.println("给送个男朋友");}else{System.out.println("活该单身");}}}
1.4 嵌套if语句
标准形式:
if(条件1){
if(条件2){
//代码块1
}else{
//代码块2
}
} else {
代码块3
}
示例:如果成绩大于90 如果是男生 送个女朋友, 如果是女生送个男朋友
public class Test {public static void main(String[] args) {// 如果成绩大于90 如果是男生 如果是女生int score = 10;char c = '男';if(score>90){if(c=='男'){System.out.println("给送个女朋友");}else{System.out.println("给送个男朋友");}}}}
1.5 特殊的if语句(不推荐使用)
特殊形式:
注意:必须要求 if 或者 else 语句中只能有一条语句
if(条件)
//代码块(只有一条语句)
else
//代码块(只有一条语句)
2. switch语句
2.1 Switch语法规则
表达式expr的值必须是下述几种类型之一:
byte、short、int、char、enum(枚举);java7之后可以是String。
case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
所有case子句中的值应是不同的,否则会编译出错;
default子句是可选的(不是必须的)
break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去(重点)
2.2 语法格式
switch(表达式expr){case const1:statement1;break;case const2:statement2;break;… …case constN:statementN;break;default:statement_dafault;break;}
2.3 执行顺序
判断有没有满足 case 的情况,如果满足则执行,如果所有的 case 都不满足需求的时候 执行default中的内容
break 帮助跳出switch 语句, 如果执行过程中 没有遇到break 继续向下执行直到遇到break为止
2.4练习
1:简单实现Switch语句
public class Test {public static void main(String[] args) {int i = 1;switch(i){case 1:System.out.println("Hello World!");break;case 2:System.out.println("Hello World!2");case 3:System.out.println("Hello World3");break;default:System.out.println("Haaaa");break;}}}
2:判断春夏秋冬
public class summarize {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next();switch(str){case "春天":System.out.println("春暖花开");break;case "夏天":System.out.println("闷热");break;case "秋天":System.out.println("秋高气爽");break;case "冬天":System.out.println("滴水成冰");break;default:System.out.println("火星的");break;}}}
3:利用Switch实现计算器操作
public class summarize {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入第一个操作数:");int a = sc.nextInt();System.out.println("请输入运算符");String str = sc.next();System.out.println("请输入第二个操作数:");int b = sc.nextInt();switch(str){case "+":System.out.println(a+"+"+b+"="+(a+b));break;case "-":System.out.println(a+"-"+b+"="+(a-b));break;case "*":System.out.println(a+""+b+"="+(a*b));break;case "/":System.out.println(a+"/"+b+"="+(a/b));break;case "%":System.out.println(a+"%"+b+"="+(a%b));break;}}}
2.5 特殊用法:case 穿透 (重点)
case穿透:产生这种现象的原因是由于某个case语句中缺少或者漏写break语句所导致的结果
示例:打印输出指定月份的天数
public class summarize {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int month = sc.nextInt();switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:System.out.println("31天");break;case 2:System.out.println("28天");break;case 4:case 6:case 9:case 11:System.out.println("30天");break;}System.out.println("Hello World!");}}
3. 多重if与Switch的区别
都可以处理多分支情况
多重if适合做区间判断,switch适合等值判断
三:总结
1 程序三种基本结构
顺序结构选择结构循环结构
2 java 选择结构:
if使用形式if(条件){....}if(条件){...} else{...}if(条件){...} else if(条件){...}else if(条件){...} else{...}if(条件){ ... if(条件){...} } else{...}switch :等值判断switch(变量表达式){case 常量1:....break;case 常量2:....break;}变量类型:byte short int char String 枚举case 常量不能重复 default 可以省略break 不要省略,如果省略会出现case穿透
Java学习笔记———选择结构相关推荐
- java学习笔记5--类的方法
接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...
- Java学习笔记——流程控制
Java学习笔记--流程控制 Day05 一.用户交互Scanner 1.Scanner对象 我们通过Java工具包java.util.Scanner中的Scanner类来获取用户的输入 基本语法:S ...
- java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组
java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...
- 郑志远的java学习笔记
郑志远的java学习笔记 郑志远 CCB 1 Java起源 略 2 Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...
- 2022年Java学习笔记目录
一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...
- Java 学习笔记:第一章 Java入门
Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...
- Java学习笔记:2022年1月11日
Java学习笔记:2022年1月11日 摘要:这篇笔记主要讲解了一些数据在计算机中的存在方式相关的知识点,并由此延伸出了数据在计算机中的操作以及一些数据结构的知识. 文章目录 Java学习笔记:2 ...
- JAVA学习笔记(1)【基础知识】
JAVA学习笔记DAY_1 提示:关于java系列的内容只是本人在老师的指导下和自学过程中的一些学习笔记,如果存在错误敬请批评指正! 文章目录 JAVA学习笔记DAY_1 前言 一.Java语言未来的 ...
- Java学习笔记-Day43 HTML标签
Java学习笔记-Day43 HTML标签 一.布局标签 1.p标签 2.div标签 3.span标签 二.列表标签 1.有序列表 2.无序列表 3.自定义列表 三.文本标签 1.内联型文本标签 2. ...
最新文章
- 【jquery模仿net控件】简单的datalist控件更新,及其简单应用
- Http 与 Socket 区别
- 99.99%安卓手机存在系统安全漏洞
- 【计算机网络复习 物理层】2.1.5 编码与调制
- java如何画矩形条和填充_java.awt.Graphics 类的哪个方法可绘制填充矩形?
- 69.Daily Temperatures(日常气温)
- 适配器模式 - 上厕所案例
- 热流体动压润滑matlab_仿真加快摩擦润滑研究进程
- Swift 5 UIStackView中添加自动换行的Label
- 安川涂装机器人离线编程_安川机器人离线编程软件
- Avalondock 第一步 创建停靠面板
- PyTorch实例:用ResNet进行交通标志分类
- 人体姿态检测——CPN
- switch中的PVID、VID、untag、tag概念
- storyBoard中TopLayout和SuperView
- Hive文件存储格式(建表stored as 的五种类型)
- 3dmax:3dmax的软件右边栏常用修改器(面挤出、网格/平滑、涡轮平滑、球形化、曲面修改器、星、融化、删除网格修改器、体积选择、优化、UVW贴图修改器、弯曲、置换、噪波、锥化)之详细攻略
- 苹果在华一天收入可抵与唯冠6000万美元
- AIX存储LV PV VG
- Scalar Evolution