if分支结构

1. 代码运行过程中的常见结构

顺序结构代码从上到下,从左至右执行,最基本原则。分支结构路上的风景不一样,向左走向右走结果不一样。代码满足不同的条件,执行不同的结果循环结构吃饭,睡觉,撸猫,辅导,上课代码中存在需要多次执行的情况,这里会使用到循环结构

2. 分支结构

2.1 if 分支结构
if (/* 条件判断 */) {// 语句体
}
/*
执行流程:当前程序运行到if结构时,首先执行条件判断,条件判断的结果是一个boolean类型,如果条件判断为true,执行语句体,为false,不能执行语句体。最后都会执行到大括号之外
*/
/* if 分支结构演示 */
class Demo2 {public static void main(String[] args) {// 假设你兜里有10块钱// int money = 10;// 假设你兜里有1块钱int money = 10;// money > 5 是一个条件判断,结果是一个booleanif (money >= 5) {System.out.println("煎饼果子来一套");money -= 5;System.out.println("余额 :" + money + "元");}System.out.println("if大括号之外的代码~~~~");}
}
/*
1. 判断一个字符是不是大写英文字母
*/
class Demo3 {public static void main(String[] args) {// 定义一个字符类型char 的变量char ch = '我';/* 代码结构安排的明明白白的!!!*/if (ch >= 'A' && ch <= 'Z') {System.out.println("这里是一个大写字母!!!");}System.out.println("大括号之外的语句!!!"); }
}
/*
2. 判断一个字符是不是英文字符
*/
class Demo4 {public static void main(String[] args) {// 判断字符,需要使用一个char类型变量char ch = '1';/*(ch >= 'A' && ch <= 'Z') 大写字母范围(ch >= 'a' && ch <= 'z') 小写字母范围*/if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) {System.out.println("这是一个英文字母");}System.out.println("if 大括号之外的代码");}
}
/*
3. 判断一个年份是不是闰年能被4整除但是不能被100整除,或者能被400整除
*/
class Demo5 {public static void main(String[] args) {// 年份是一个整数,这里使用int类型int year = 2009;/*year % 4 == 0 && year % 100 != 0 || year % 400 == 0*/if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {System.out.println("是闰年");}}
}
2.2 if else 分支结构
/*
if 分支结构中只能处理条件满足的情况,条件不满足没有任何的处理语句。if else分支结构。
*/
if (/* 条件判断 */) {// true语句体
} else {// false语句体
}
/*
执行流程:代码执行到if else结构运行,首先判断if之后的条件判断,如果条件判断为true,执行true语句体,如果条件判断为false,执行false语句体。世界上最遥远的距离是我在if里,你在else里
*/
/*
1. 工资判断月收入5000以上缴税月收入5000以下不需要缴税
*/
class Demo6 {public static void main(String[] args) {// 工资是一个浮点类型数据,这里使用double类型double salary = 4999.0;/*语句体:大括号以内的内容,也可以称之为代码块*/if (salary > 5000) {System.out.println("我为国家做贡献");} else {System.out.println("我会继续努力,为国家做贡献");}}
}
/*
2. 是否有女朋友有 true没有 false
*/
class Demo7 {public static void main(String[] args) {// 是否有女朋友就两种情况,true or falseboolean hasGirlFriend = false;/*if () 小括号内需要的数据类型是boolean类型hasGirlFriend 该变量就是一个boolean类型数据,可以直接用于if 直接的判断*/if (hasGirlFriend) {System.out.println("奶茶买一送一");} else {System.out.println("路见不平一声吼,你还没有女朋友");}}
}
/*
3. 判断一个字符是不是数字字符
*/
class Demo8 {public static void main(String[] args) {// 需要判定的是一个数字字符,这里需要char类型char ch = '我';/*这里操作判断的是一个字符类型数据*/if (ch >= '0' && ch <= '9') {System.out.println("该字符是一个数字字符");} else {System.out.println("该字符不是一个数字字符");}}
}
2.3 if else if 分支结构
学生成绩的等级划分:90 ~ 100 秀儿80 ~ 90 良儿70 ~ 80 中儿60 ~ 70 格儿60 以下 让你爹穿着拖鞋来学校一趟用户购物VIP等级100 ~ 1000 铜牌会员1001 ~ 5000 银牌会员5001 ~ 10000 金牌牌会员  10001 ~ 50000 钻石会员  50001  黑钻会员
if (/* 条件匹配1 */) {// 处理方式1
} else if (/* 条件匹配2 */) {// 处理方式2
} else if (/* 条件匹配3 */) {// 处理方式3
} else {// 无匹配项最终处理方式
}
/*
执行流程:代码执行到if else if结构,从上至下,匹配if之后小括号里面的内容,条件匹配成功,执行对应的处理方式,结束分支结构运行。如果没有任何的一个条件匹配,执行else中的语句,也会终止条件匹配【注意】else if个数不限制,可以有多个!!!
*/
/*
用户购物VIP等级100 ~ 1000 铜牌会员1001 ~ 5000 银牌会员5001 ~ 10000 金牌牌会员  10001 ~ 50000 钻石会员  50001  黑钻会员
*/
class Demo9 {public static void main(String[] args) {// 用户的消费数据按照int类型考虑int money = 50001;if (money >= 100 && money <= 1000) {System.out.println("铜牌会员");} else if (money > 1000 && money <= 5000) {System.out.println("银牌会员");} else if (money > 5000 && money <= 10000) {System.out.println("金牌会员");} else if (money > 10000 && money <= 50000) {System.out.println("钻石会员");} else if (money > 50000) {System.out.println("黑钻会员");} else {System.out.println("非会员...");}}
}
/*
学生成绩的等级划分:90 ~ 100 秀儿80 ~ 90 良儿70 ~ 80 中儿60 ~ 70 格儿60 以下 让你爹穿着拖鞋来学校一趟
*/
class Demo10 {public static void main(String[] args) {/*成绩考虑存在0.5的情况,需要使用浮点类型数据这里采用float类型*/float score = 59F;/* 成绩等级判断 */if (score >= 90 && score <= 100) {System.out.println("秀儿");} else if (score >= 80) {System.out.println("良儿");} else if (score >= 70) {System.out.println("中儿");} else if (score >= 60) {System.out.println("格儿");} else {System.out.println("让你爹穿着拖鞋来学校一趟");} }
}
【补充知识点 Scanner 复制粘贴就可以了】
 以上代码每一次的结果都是需要用户修改代码,保存,重新编译之后才可以进行执行结果。对于普通用户而言,该操作可行吗?我们需要给程序提供一种方式,用于接受用户输入的数据!!!Scanner是Java中提供的用于从控制台输入数据到代码中的一种方式,存在一些弊端,容易导致一些错误,这里只要求大家了解一些必要的方法。【Scanner操作哪里需要沾哪里】Scanner使用流程1. 点技能点,Java程序本身是没有直接使用Scanner的能力,这里需要点技能点。官网操作【导包】固定格式:import java.util.Scanner;放在class代码上一行2. 需要得到一个Scanner的变量固定格式:Scanner sc = new Scanner(System.in);3. 选择执行对应的方法,从键盘上获取对应的数据获取int类型 int类型的变量 = sc.nextInt();获取float类型 float类型的变量 = sc.nextFloat();  获取double类型double类型的变量 = sc.nextDouble();获取char类型 char类型的变量 = sc.nextLine().charAt(0);
【补充知识点 用户友好性提示】
 代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!用户粘性问题!!!用户提示!!!用户友好性!!!
【补充知识点 用户输入数据合法性判断】
 就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
/*
学生成绩的等级划分:90 ~ 100 秀儿80 ~ 90 良儿70 ~ 80 中儿60 ~ 70 格儿60 以下 让你爹穿着拖鞋来学校一趟
*/// 导包,让当前Java代码可以使用Scanner
import java.util.Scanner;class Demo10 {public static void main(String[] args) {/*成绩考虑存在0.5的情况,需要使用浮点类型数据这里采用float类型,这里赋值一个初值*/float score = 0.0F;// 需要得到一个Scanner的变量Scanner sc = new Scanner(System.in);/* 提示用户操作 */System.out.println("请输入学生的成绩1 ~ 100:");score = sc.nextFloat();/* 验证用户输入数据的合法性 如果用户输入的数据不合法,终止程序!!!不合法: 输入数据 > 100 或者 < 0*/if (score > 100 || score < 0) {System.out.println("输入数据不合法!!!");// 程序退出System.exit(0);}/* 成绩等级判断 */if (score >= 90 && score <= 100) {System.out.println("秀儿");} else if (score >= 80) {System.out.println("良儿");} else if (score >= 70) {System.out.println("中儿");} else if (score >= 60) {System.out.println("格儿");} else {System.out.println("让你爹穿着拖鞋来学校一趟");} }
}

3. 总结

分支结构用于处理代码中出现的一些需要判断,并且按按条件处理的情况!!!1. 条件约束考虑清楚2. 处理的过程考虑清楚3. 数据类型选择

java学习笔记4(if分支结构)相关推荐

  1. Java学习笔记——流程控制

    Java学习笔记--流程控制 Day05 一.用户交互Scanner 1.Scanner对象 我们通过Java工具包java.util.Scanner中的Scanner类来获取用户的输入 基本语法:S ...

  2. 郑志远的java学习笔记

    郑志远的java学习笔记 郑志远    CCB 1         Java起源 略 2         Java语言概述 1.面向对象编程的3个原则:封装(encapsulation).继承(inh ...

  3. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  4. 2022年Java学习笔记目录

    一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...

  5. Java学习笔记(原创)

    Java学习笔记(原创) 2011-12-01 16:37:00|  分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...

  6. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  7. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  8. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  9. 《Go语言圣经》学习笔记 第二章 程序结构

    Go语言圣经学习笔记 第二章 程序结构 目录 命名 声明 变量 赋值 类型 包和文件 作用域 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记,几乎是书上的内 ...

  10. java学习笔记16--异常

    java学习笔记16--异常 异常 异常时导致程序中断运行的一种指令流,如果不对异常进行正确的处理,则可能导致程序的中断执行,造成不必要的损失, 所以在程序的设计中必须要考虑各种异常的发生,并正确的做 ...

最新文章

  1. swift 加载gif 框架图片
  2. Hbuilder开发移动App(1)
  3. python使用localhost链接mysql出错及解决办法
  4. JavaScript 同时建立多个websocket连接
  5. 八城联动丨神策 2020 数据驱动用户大会「深圳场」10 月 22 日不见不散!
  6. “数读”上海营商环境:对追求高水平稳态发展企业有比较优势
  7. 添加别名_ssh别名免密登陆服务器
  8. JBoss模块示例–模块化Web应用程序
  9. 分布式6大核心专题_分布式Session
  10. python 桌面应用 启动缓慢_如何加快Python 应用的启动时间
  11. 那些年移动互联网行业曾经走过的弯路
  12. Core Animation 文档翻译 (第六篇)—高级动画技巧
  13. WINCC AUDIT审计组建教程
  14. ORA-12162: TNS:net service name is incorrectly spe
  15. win10提升性能的服务器,win10专业版设置优化提高系统性能图解
  16. 在线免费caj转Word,不用安装软件
  17. springboot基于web的摩托车销售系统的设计与实现毕业设计源码031706
  18. 对php课程的建议,万紫千红总是春——对新课程语文教学、复习的建议与采饶措施a href=http://www.ruiwen.com/friend/list.php(教师中心专稿)/a...
  19. 这个微信小程序开源!
  20. Android 分享功能的实现

热门文章

  1. python数据预处理_Python数据预处理
  2. 第十四届浙江财经大学程序设计竞赛重现赛 ——A
  3. 【elementUI样式优化】之el-input输入数字类型 type=‘number‘ 不显示右侧上下箭头 == 修改箭头右边距
  4. 北美口语中的几个习惯用法
  5. android 4g wifi热点,在车上用4G信号,手机热点VS移动wifi
  6. PySCENIC(四)个性化分析:pyscenic结果之差异转录因子分析及其他可视化
  7. rust有pve模式吗_《腐蚀(RUST)》PVP与PVE玩法区别详解
  8. MLB2019总决赛结束啦!
  9. python爬虫开发教程-01-环境搭建
  10. 2021-人生励志小感言