3.1 if-else语句
3.1.1if else语句
每一个代码的本质逻辑是差不多的,而我们在python中学过的if else的语句,就是基本的条件逻辑。在Java中我们同样也要学习关于条件语句的写法,首先来学习一下关于if else的写法。
在Java中写if else的基本逻辑与python没有任何区别,就是格式有一定的差距。
讲解结构的时候,我可以通过例子进行讲解。
假设一个人考试成绩(同样我在python文章中说过,我不太喜欢以分数定义一个人,每个人都有闪光点)
题目是:
首先考到90分以上的,那叫做成绩优秀,然后在80--89之间的,叫做成绩良好,然后考试成绩在70--79之间的,叫做成绩不错,然后考试成绩在60--69之间的,叫做成绩合格,然后成绩50以下的叫做成绩不合格。
那这个题目与python之前的题目非常想,这个题目显然需要条件语句,当这个学生的成绩是80的时候,那么我的评级应该是成绩良好。
在写代码之前,我们要想这个学生的成绩是多少,当然这个学生的成绩需要使用Scanner输入。
import java.util.Scanner;
public class ifelse {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double grade = input.nextDouble();
if(grade >=90){
System.out.println("成绩优秀");
}
这个前面的Scanner就不再多赘述了,然后到了if的模块,if这里指的就是如果我输入的数字大于或者等于九十的话,那么我的评级就是在成绩优秀这一栏。不是的话就往下看。
往下看的话问题就又来了这么多的分类,在python中我们使用elif可以无限的写下去,但是这个Java怎么办,在Java中也有自己的elif,叫做else if (注意这两个是两个单词,中间需要空格)所以接下来的代码是
}else if(grade>=80){
System.out.println("成绩良好");
}else if (grade>=70) {
System.out.println("成绩不错");
}else if (grade>=60) {
System.out.println("成绩合格")
}
在这个代码中写了这个题目中的一写方方面面。那么接下来就是else了,与python是一样的,else后面是不需要条件的。
那么整一个代码就是
import java.util.Scanner;
public class ifelse {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("你的成绩是多少");
double grade = input.nextDouble();
if(grade >=90){
System.out.println("成绩优秀");
}else if(grade>=80){
System.out.println("成绩良好");
}else if (grade>=70) {
System.out.println("成绩不错");
}else if (grade>=60) {
System.out.println("成绩合格");
}else {
System.out.println("成绩不合格");
}
}
}
这个代码逻辑非常清楚 一层一层的,然后有一些人可能要问我这个为啥没有80--90这个不应该是大于等于80然后小于90么,为啥没有呢?但是你想我之前的指令是大于等于90了,那不成立才能到下面一行的,上面成立了,下面是肯定是上面的对立面所以我并不需要这样写。
但是插一句,如果我需要这么些的话 或者说想这么写的话我应该这么办呢?python的写法中可以直接上数学中的写法进行书写,但是非常抱歉在Java中实现不了,只能使用逻辑运算符进行。
else if(grade>=80 && grade <90){
System.out.println("成绩良好");}
这个&&就是and的意思。
3.2 if语句的嵌套
if语句的嵌套所有的逻辑与python一摸一样,然后就是写起来不一样,但是与上面的其实差不多,
然后我还是举例子来讲解这个if嵌套怎么写
题目是一个数字是不是能被2,3整除
if (num %2 ==0) {
if(num%3 ==0) {
这两个就是指的是Java中的嵌套,这个嵌套的话指的是,如果我这个数字能同时进入这个条件的话,也就是我这个数字能被2也能被3整除(里面的条件与python是一摸一样)。
if (num %2 ==0) {
if(num%3 ==0) {
System.out.println("你这个数字能被2,3同时整除");
}else {
System.out.println("你这个数字能被2整除,不能被3整除");
}
在这个代码中我们的含义指的是,这个数字如果进入了if这个条件的话(也就是我满足了我的条件)那么我们来看第二个if这里能不能满足,能满足的话,说明两个if都满足了,说明这个数字是一个2,3都能整除的数字。但是在里面的那个else的话是,我第一个if是满足的,才能进入这个模块,但是并不满足if的语句,然后进入else 说明这个数字是能被2整除的,但是无法被3整除。
import java.util.Scanner;
public class ifelse {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你想要判断的数字");
int num = input.nextInt();
if (num %2 ==0) {
if(num%3 ==0) {
System.out.println("你这个数字能被2,3同时整除");
}else {
System.out.println("你这个数字能被2整除,不能被3整除");
}
}else {
if(num%3==0) {
System.out.println("你这个数字能被3整除,但是不能被2整除");
}else {
System.out.println("你这个数字不能被2,3整除");
}
}
}
}
这个就是这个题目基本的代码
标签:语句,java,grade,System,else,println,整除,out From: https://blog.csdn.net/2301_76578848/article/details/143164340