03-03 java 顺序语句结构,选择结构if语句
顺序结构:
- /*
- 流程控制语句:可以控制程序的执行流程。
- 分类:
- 顺序结构
- 选择结构
- 循环结构
- 顺序结构:
- 从上往下,依次执行。
- */
- class ShunXuJieGouDemo {
- public static void main(String[] args) {
- System.out.println("程序开始了");
- System.out.println("我爱Java");
- System.out.println("程序结束了");
- }
- }
if语句
- (1)三种格式
- A:格式1
- if(比较表达式) {
- 语句体;
- }
- 执行流程:
- 判断比较表达式的值,看是true还是false
- 如果是true,就执行语句体
- 如果是false,就不执行语句体
- B:格式2
- if(比较表达式) {
- 语句体1;
- }else {
- 语句体2;
- }
- 执行流程:
- 判断比较表达式的值,看是true还是false
- 如果是true,就执行语句体1
- 如果是false,就执行语句体2
- C:格式3
- if(比较表达式1) {
- 语句体1;
- }else if(比较表达式2){
- 语句体2;
- }
- ...
- else {
- 语句体n+1;
- }
- 执行流程:
- 判断比较表达式1的值,看是true还是false
- 如果是true,就执行语句体1
- 如果是false,就继续判断比较表达式2的值,看是true还是false
- 如果是true,就执行语句体2
- 如果是false,就继续判断比较表达式3的值,看是true还是false
- ...
- 如果都不满足,就执行语句体n+1
- (2)注意事项
- A:比较表达式无论简单还是复杂,结果是boolean类型
- B:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
- 建议:永远不要省略大括号。
- C:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
- D:else后面如果没有if,是不会出现比较表达式的。
- E:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
- (3)案例:
- A:比较两个数是否相等
- B:获取两个数中的最大值
- C:获取三个数中的最大值(if语句的嵌套)
- D:根据成绩输出对应的等级
- E:根据月份,输出对应的季节
- F:根据x计算对应y的值并输出
- (4)三元运算符和if语句第二种格式的关系
- 所有的三元运算符能够实现的,if语句的第二种格式都能实现。
- 反之不成立。
- 如果if语句第二种格式控制的语句体是输出语句,就不可以。
- 因为三元运算符是一个运算符,必须要有一个结果返回,不能是一个输出语句。
if语句注意事项
- /*
- if语句的注意事项:
- A:比较表达式无论简单还是复杂,结果必须是boolean类型
- B:if语句控制的语句体如果是一条语句,大括号可以省略;
- 如果是多条语句,就不能省略。建议永远不要省略。
- C:一般来说:有左大括号就没有分号,有分号就没有左大括号
- */
- class IfDemo2 {
- public static void main(String[] args) {
- int x = 10;
- if(x == 10) {
- System.out.println("x等于10");
- }
- if((x > 5) || (x == 10)) {
- System.out.println("x大于或者等于10");
- }
- System.out.println("-------------------");
- int a = 100;
- /*
- if(a == 100) {
- System.out.println("a的值是100");
- }
- */
- if(a != 100) {
- System.out.println("a的值是100");
- System.out.println("over");
- }
- System.out.println("-------------------");
- int b = 100;
- if(b != 100); //这里其实是有语句体的,只不过是空语句体。
- //代码块
- {
- System.out.println("b的值是100");
- System.out.println("over");
- }
- }
- }
三元运算符合if语句的区别
- /*
- 由于if语句的第二种格式刚才也完成了三元运算符可以完成的效果。
- 所以,我们就认为他们可以完成一样的操作。
- 但是,他们就一点区别没有吗?肯定不是。
- 区别:
- 三元运算符实现的,都可以采用if语句实现。反之不成立。
- 什么时候if语句实现不能用三元改进呢?
- 当if语句控制的操作是一个输出语句的时候就不能。
- 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
- */
- class IfDemo4 {
- public static void main(String[] args) {
- //获取两个数据的最大值
- int a = 10;
- int b = 20;
- //用if语句实现
- int max1;
- if(a > b) {
- max1 = a;
- }else {
- max1 = b;
- }
- System.out.println("max1:"+max1);
- //用三元改进
- int max2 = (a > b)? a: b;
- System.out.println("max2:"+max2);
- System.out.println("----------");
- //判断一个数据是奇数还是偶数,并输出是奇数还是偶数
- int x = 100;
- if(x%2 == 0) {
- System.out.println("100是一个偶数");
- }else {
- System.out.println("100是一个奇数");
- }
- //用三元改进
- //这种改进是错误的。因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
- //String s = (x%2 == 0)?System.out.println("100是一个偶数");:System.out.println("100是一个奇数");; } }
if语句需要考虑正确数据,错误数据,边界数据。
- /*
- if语句的格式3:
- if(比较表达式1) {
- 语句体1;
- }else if(比较表达式2) {
- 语句体2;
- }else if(比较表达式3) {
- 语句体3;
- }
- ...
- else {
- 语句体n+1;
- }
- 执行流程:
- 首先计算比较表达式1看其返回值是true还是false,
- 如果是true,就执行语句体1,if语句结束。
- 如果是false,接着计算比较表达式2看其返回值是true还是false,
- 如果是true,就执行语句体2,if语句结束。
- 如果是false,接着计算比较表达式3看其返回值是true还是false,
- ...
- 如果都是false,就执行语句体n+1。
- */
- import java.util.Scanner;
- class IfDemo5 {
- public static void main(String[] args) {
- //需求:键盘录入一个成绩,判断并输出成绩的等级。
- /*
- 90-100 优秀
- 80-90 好
- 70-80 良
- 60-70 及格
- 0-60 不及格
- */
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- //录入数据
- System.out.println("请输入你的考试成绩:");
- int score = sc.nextInt();
- /*
- if(score>=90 && score<=100) {
- System.out.println("优秀");
- }else if(score>=80 && score<90) {
- System.out.println("好");
- }else if(score>=70 && score<80) {
- System.out.println("良");
- }else if(score>=60 && score<70) {
- System.out.println("及格");
- }else {
- System.out.println("不及格");
- }
- */
- //这样写已经满足我的基本要求,但是可能别人在使用的时候,不会按照你要求的数据给出了。
- //在做一个程序的基本测试的时候,一定要考虑这样的几个问题:
- //正确数据,错误数据,边界数据。
- //而我们刚才写的程序并没有处理错误数据,所以这个程序不是很好,要改进
- /*
- if(score>=90 && score<=100) {
- System.out.println("优秀");
- }else if(score>=80 && score<90) {
- System.out.println("好");
- }else if(score>=70 && score<80) {
- System.out.println("良");
- }else if(score>=60 && score<70) {
- System.out.println("及格");
- }else if(score>=0 && score<60){
- System.out.println("不及格");
- }else {
- System.out.println("你输入的成绩有误");
- }
- */
- //另一种判断改进
- if(score<0 || score>100) {
- System.out.println("你输入的成绩有误");
- }else if(score>=90 && score<=100) {
- System.out.println("优秀");
- }else if(score>=80 && score<90) {
- System.out.println("好");
- }else if(score>=70 && score<80) {
- System.out.println("良");
- }else if(score>=60 && score<70) {
- System.out.println("及格");
- }else {
- System.out.println("不及格");
- }
- }
- }
03-03 java 顺序语句结构,选择结构if语句的更多相关文章
- 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构
036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...
- Java 第三章 选择结构1
选择结构(一) 会使用基本的 if 选择结构 掌握逻辑运算符,掌握多重 if 选择结构 , 掌握嵌套 if 选择 结构 为什么需要 if 选择结构 例如: 如果张浩的 java 考试成绩大于 98分, ...
- Java从零开始学七(选择结构)
一. 程序的结构: 一般来说程序的结构包含有下面三种: 1.顺序结构 2.选择结构 3.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构
035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...
- Java流程控制:选择结构
一.选择结构 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程. Java中选择结构的语法主要分为'if...else'语句和'switch...case'语句. Java中选择结构语句在语 ...
- java中的if-Switch选择结构
字随笔走,笔随心走,随笔,随心.纯属个人学习分析总结,如有观者还请不啬领教. 1.if选择结构 什么是if结构:if选择结构是根据判断结果再做处理的一种语法结构. 起语法是: if(判断条件){ 操作 ...
随机推荐
- Javascript php 异常捕获
JavaScript try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块. JavaScript 语句 try 和 cat ...
- 执行sh脚本文件下载Github上的代码(雷霄骅的ffmpeg示例代码)
今天想重新学习下ffmpeg,于是又来到了雷晓骅的博客,先下载了他的所有代码,这里记录一下在Windows上使用sh脚本下载GitHub上代码的过程. CygWin(最后并没有用到) 可以 ...
- Java泛型总结——吃透泛型开发
什么是泛型 泛型是jdk5引入的类型机制,就是将类型参数化,它是早在1999年就制定的jsr14的实现. 泛型机制将类型转换时的类型检查从运行时提前到了编译时,使用泛型编写的代码比杂乱的使用objec ...
- caffe 笔记
caffe模块: blob:caffe中数据的封装,用于layer上流动 layer:输入层.输出层.神经网络层的抽象 net:神经网络结构,将layer层叠关联起来 solver:定义神经网络训练和 ...
- 1, 2, and 4 symbols per clock中数据排列
图片来自High-DenitionMultimedia Interface (HDMI) IP Core User Guide 在自己处理的过程中很多细节的东西必须要清楚. 今天想自己从RGB数据中 ...
- 反射List<M> To DataTable|反射IList To DataTable|反射 DataTable To List<M>
将DataTable集合反射获取 List<M> /// <summary> /// 根据DataTable集合反射获取 List<M> /// </summ ...
- leetcode-[3]Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line 思 ...
- nodejs mongodb 数据库封装DB类 -转
使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关于mongoose的安装就是 npm install -g mongoose 这个DB类的数据库配置是 ...
- Codeforces Round #264 (Div. 2) D. Gargari and Permutations 多序列LIS+dp好题
http://codeforces.com/contest/463/problem/D 求k个序列的最长公共子序列. k<=5 肯定 不能直接LCS 网上题解全是图论解法...我就来个dp的解法 ...
- Mining Twitter Data with Python
目录 1.Collecting data 1.1 Register Your App 1.2 Accessing the Data 1.3 Streaming 2.Text Pre-processin ...