Java 学习日志 2.1 if 条件选择语句(if switch 四种方法检验成绩状况)

任何一门知识的简历都是在原有知识的基础上开发建立的。

Java继承发扬C++,C++继承发扬C语言,C语言继承发扬B语言,B语言继承发扬汇编语言,汇编语言又是建立在数学的分支上。

所以编程语言有很多数学基础。数学学得好,特别是数据结构与算法学的好,更加有助于学习精深编程。

同样我们的说话中也包含了很多逻辑数学知识。

就比如if条件判断语句。

如果(怎么怎么样)则{怎么怎么样;}否则{怎么怎么样;}

If(条件判断){为真则表达式1}else{为假则表达式2}。

又因为世上的情况不止一两种,所以进一步:

If(条件判断){为真则表达式1}

else if(条件判断){为真则表达式2}

else if(条件判断){为真则表达式3}

else if(条件判断){为真则表达式3}

……

else if(条件判断){为真则表达式n}

else{剩余所有情况下执行则表达式n+1}。

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("请输入成绩:");

int score = in.nextInt();

if (score > 100 || score < 0) {

System.out.println("成绩输入有误,请重新输入");

}

if (score >= 90 && score <= 100) {

System.out.println("优秀");

}

if (score >= 80 && score < 90) {

System.out.println("良好");

}

if (score >= 60 && score < 80) {

System.out.println("及格");

}

if ( score >= 0&&score < 60) {

System.out.println("不及格");

可以简化为if(){}else if(){} else{}

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("请输入成绩:");

int score = in.nextInt();

if (score > 100 || score < 0) {

System.out.println("成绩输入有误,请重新输入");}

else if(score >= 90 ) {

System.out.println("优秀");

}

else if (score >= 80 ) {

System.out.println("良好");

}

else if (score >= 60 ) {

System.out.println("及格");

}

else if ( score >= 0) {

System.out.println("不及格");

}

}

我们还可以继续简化。等号相当于特殊的大于>小于<情况。

如果及格不同的区间转化为几个不同的特定取值。也就是将大小区间转化为等于。

100=>A>=90。这一区间用A代替。

如果等于A,则优秀。

int a=(int)A/10;//则a=9or10.

90>A>=80

int a=(int)A/10;//a=8

80>A>=70

int a=(int)A/10;//a=7

70>A>=60

int a=(int)A/10;//a=6

代码如下:

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("请输入成绩:");

int score = in.nextInt();

int a = (int) score / 10;

if (a > 10 || a < 0) {

System.out.println("成绩输入有误,请重新输入");

}

if (a == 10 | a == 9) {

System.out.println("优秀");

} else if (a == 8) {

System.out.println("良好");

} else if (a == 7 || a == 6) {

System.out.println("及格");

} else if (a>=0&&a<6) {

System.out.println("不及格");

}

}

//这里面有一个bug,不知道大家注意到没有。我也不知道怎么解决,看到家能否找到。提示一下:是负数取值区间的。

对于这种特殊的情况。Java里面用了另外一个语法来定义。那就是switch(条件){

case a:执行表达式

break;

case b:

break;

case c:

break;

}

//Switch()就是if的判断表达式。Case就是判断的结果。a  是整形数字。后面接着执行的表达式。再接着就是break。相当于原来的if改为else if。就是确定区间。只执行这一段程序,遇见则退出,不再执行其他的程序。

代码如下:

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("请输入成绩:");

int score = in.nextInt();

int a = (int) score / 10;

switch (score / 10) {

case 10:

case 9:

System.out.println("优秀");

break;

case 8:

System.out.println("良好");

break;

case 7:

case 6:

System.out.println("及格");

break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:

System.out.println("不及格");

break;

default:

System.out.println("成绩输入有误,请重新输入");

}

}

//这样一来代码更加简化了,而且可以用于等于==这种特殊的情况。不过负数取值区间的bug仍然存在。我还是无法解决。

希望大家能帮我解决它。谢谢。

任何一门知识的简历都是在原有知识的基础上开发建立的。 Java继承发扬C++,C++继承发扬C语言,C语言继承发扬B语言,B语言继承发扬汇编语言,汇编语言又是建立在数学的分支上。 所以编程语言有很多数学基础。数学学得好,特别是数据结构与算法学的好,更加有助于学习精深编程。 同样我们的说话中也包含了很多逻辑数学知识。 就比如if条件判断语句。 如果(怎么怎么样)则{怎么怎么样;}否则{怎么怎么样;} If(条件判断){为真则表达式1}else{为假则表达式2}。 又因为世上的情况不止一两种,所以进一步: If(条件判断){为真则表达式1} else if(条件判断){为真则表达式2} else if(条件判断){为真则表达式3} else if(条件判断){为真则表达式3} …… else if(条件判断){为真则表达式n} else{剩余所有情况下执行则表达式n+1}。 public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入成绩:"); int score = in.nextInt(); if (score > 100 || score < 0) { System.out.println("成绩输入有误,请重新输入"); } if (score >= 90 && score <= 100) { System.out.println("优秀"); } if (score >= 80 && score < 90) { System.out.println("良好"); } if (score >= 60 && score < 80) { System.out.println("及格"); } if ( score >= 0&&score < 60) { System.out.println("不及格"); 可以简化为if(){}else if(){} else{} public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入成绩:"); int score = in.nextInt(); if (score > 100 || score < 0) { System.out.println("成绩输入有误,请重新输入");} else if(score >= 90 ) { System.out.println("优秀"); } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 60 ) { System.out.println("及格"); } else if ( score >= 0) { System.out.println("不及格"); } } 我们还可以继续简化。等号相当于特殊的大于>小于<情况。 如果及格不同的区间转化为几个不同的特定取值。也就是将大小区间转化为等于。 100=>A>=90。这一区间用A代替。 如果等于A,则优秀。 int a=(int)A/10;//则a=9or10. 90>A>=80 int a=(int)A/10;//a=8 80>A>=70 int a=(int)A/10;//a=7 70>A>=60 int a=(int)A/10;//a=6 代码如下: public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入成绩:"); int score = in.nextInt(); int a = (int) score / 10; if (a > 10 || a < 0) { System.out.println("成绩输入有误,请重新输入"); } if (a == 10 | a == 9) { System.out.println("优秀"); } else if (a == 8) { System.out.println("良好"); } else if (a == 7 || a == 6) { System.out.println("及格"); } else if (a>=0&&a<6) { System.out.println("不及格"); } } //这里面有一个bug,不知道大家注意到没有。我也不知道怎么解决,看到家能否找到。提示一下:是负数取值区间的。 对于这种特殊的情况。Java里面用了另外一个语法来定义。那就是switch(条件){ case a:执行表达式 break; case b: break; case c: break; } //Switch()就是if的判断表达式。Case就是判断的结果。a 是整形数字。后面接着执行的表达式。再接着就是break。相当于原来的if改为else if。就是确定区间。只执行这一段程序,遇见则退出,不再执行其他的程序。 代码如下: public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入成绩:"); int score = in.nextInt(); int a = (int) score / 10; switch (score / 10) { case 10: case 9: System.out.println("优秀"); break; case 8: System.out.println("良好"); break; case 7: case 6: System.out.println("及格"); break; case 5: case 4: case 3: case 2: case 1: case 0: System.out.println("不及格"); break; default: System.out.println("成绩输入有误,请重新输入"); } } //这样一来代码更加简化了,而且可以用于等于==这种特殊的情况。不过负数取值区间的bug仍然存在。我还是无法解决。 希望大家能帮我解决它。谢谢。 JAVA 
作者: 玄鉴 
链接:http://www.imooc.com/article/7477
来源:慕课网

时间: 2024-08-09 12:05:22

Java 学习日志 2.1 if 条件选择语句(if switch 四种方法检验成绩状况)的相关文章

JAVA学习日志——Ajax和Json

# JAVA学习日志--Ajax和Json # Ajax和Json在一个web项目中可以说是经常用到了,Ajax是一种用于创建快速动态网页的技术,而Json则是一种与语言无关的数据交换的格式.以下是个人在学习过程中的总结. 一.Ajax 1.同步与异步 在学习Ajax之前我们要先知道什么是同步,什么是异步. 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态. 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随    意做其他事情,不会被卡

你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句

4.2  条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考试”: 否则那就回答“很遗憾,你没有通过这次考试”. 这就是现实世界中的条件选择——根据不同的条件做出不同的动作.那么,在C++程序中,我们又该如何表达这种条件选择呢? 4.2.1  if语句:如果……就…… 在现实世界中,我们总是用“如果……,就……”的句式来表达条件选择,C++也向我们学习,提供

(转载)你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句

4.2  条件选择语句 “老师,我这次四级考试过了没有?” 如果老师被问到这个问题,他会如何回答?是的,他会根据不同的条件选择不同的回答: 如果考试成绩大于等于60,那就回答:“恭喜你,你通过了这次考试”: 否则那就回答“很遗憾,你没有通过这次考试”. 这就是现实世界中的条件选择——根据不同的条件做出不同的动作.那么,在C++程序中,我们又该如何表达这种条件选择呢? 4.2.1  if语句:如果……就…… 在现实世界中,我们总是用“如果……,就……”的句式来表达条件选择,C++也向我们学习,提供

Java学习之道:详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记

【Java必修课】通过Value获取Map中的键值Key的四种方法

1 简介 我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值.然而,有的时候我们需要反过来获取,知道Value值,求Key值. 本文将用实例介绍四种方法,通过传入Value值,获取得到Key值. 2 四种方法 2.1 循环法 循环法就是通过遍历Map里的Entry,一个个比较,把符合条件的找出来.会有三种情况: (1)找到一个值 (2)找到多个值 (3)找不到 具体代码如下: @Test public void lo

详解Java解析XML的四种方法

(1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允许应用程序对数据和结构做出更改. ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据. [缺点] ①通常需要加载整个XML文档来构造层次结构,消耗资源大. [解析详解] ①构建Document对象: DocumentBuilderFactory dbf = DocumentBu

两个变量交换的四种方法(Java) 七种方法(JS)

对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 //创建一个类 3 { 4 public static void main(String[]args) 5 { 6 int x =5,y=10; //定义两个变量 7 8 int temp = x; //定义第三临时变量temp并提取x值 9 x = y; //把y的值赋给x 10 y = temp; //然后把临时变量temp值赋给y

java中定时器的四种方法

1 package com.lid; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 import java.util.Timer; 6 import java.util.TimerTask; 7 8 public class Test { 9 public static void main(String[] args) { 10 //timer1(); 11 timer2(); 12 //timer3(); 13 //time