小白的java学习日记(二)判断

所有程序都可以被理解为读一点输入、做一点计算、最后做一点输出。

学计算机有个很大的好处,所有事就尽管在计算机上去尝试好了,最严重的后果不过是电脑死机。所以放心大胆地去试、去揣摩、去想各种可能的做法。

一、比较

1.
package hello;

import java.io.InputStream;
import java.util.Scanner;

public class Helloworld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请投币:");
		Scanner in = new Scanner(System.in);
		int amount = 0;
		amount = in.nextInt();
		System.out.println(amount>=10);
		System.out.println("##########");
		System.out.println("票价10元");
		System.out.println("##########");
		System.out.println("找零:"+(amount-10)+"元");
	}

}
2.关系运算

(1)概念
在这里插入图片描述
(2)优先级
①运算关系运算符的优先级比算术运算的优先级低,但比赋值运算的优先级高
②判断是否相等的==与!=比其他的关系运算的优先级低,而连续的运算关系运算是从左往右进行的
③true或false与数字是不能够做任何运算的,true与false可以做相等比较但没啥意思,true与false也没有谁大谁小的关系
在这里插入图片描述
(3)5 == 5.0 ==> true
1.0 == 0.1+0.1+0.1+0.1+0.1 … +0.1(等于0.999999在计算机内部浮点数运算有误差) ==>false
判断浮点数是否相等:
在这里插入图片描述

二、判断

1.if语句

(1)if后面无分号
在这里插入图片描述
(2)eclipse的debug模式

2.判断语句

(1)流程图
在这里插入图片描述
(2)if-else语句
在这里插入图片描述

package hello;

import java.io.InputStream;
import java.util.Scanner;

public class Helloworld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入两个数:");
		Scanner in = new Scanner(System.in);
		int x = in.nextInt();
		int y = in.nextInt();
		int max = 0;
		if (x>=y) {
			max = x;
		}
		else {
			max = y;
		}
		System.out.println("最大值为"+max);
	}

}

三、分支

1.嵌套与级联的判断

(1)嵌套的判断:当if的条件满足或不满足是执行的语句也是一套if-else或单个if语句,这就是嵌套的if语句

package hello;

import java.io.InputStream;
import java.util.Scanner;

public class Helloworld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入三个数:");
		Scanner in = new Scanner(System.in);
		int x = in.nextInt();
		int y = in.nextInt();
		int z = in.nextInt();
		int max = 0;
		if (x>=y) {
			if (x>=z) {
				max = x;
			}
			else
			    max = z;
		}
		else {
			if (y>=z) {
				max = y;
			}
			else {
				max = z;
			}
		}
		System.out.println("最大值为"+max);
	}

}

tips:if、else即使后面只有一条语句也加上一个大括号
(2)级联:(else与else对齐)
if ()
stl;
else if ()
stl;
else if ()
stl;
else
stl;
注意:左边这种单一出口的更好
在这里插入图片描述

2.多路分支

!](https://img-blog.csdnimg.cn/20210114181327372.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FsYW5TbWl0aDIzMw==,size_16,color_FFFFFF,t_70)

在这里插入图片描述

package hello;

import java.io.InputStream;
import java.util.Scanner;

public class Helloworld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int type = in.nextInt();
		switch (type) {
		case 1:

		case 2:
			System.out.println("您好");
			break;
		case 3:
			System.out.println("早上好");

		case 4:
			System.out.println("晚上好");
			break;
		default:
			System.out.println("a?");
			break;
		}
	}

}

当满足case3条件时,因为代码中case3没有break,所以执行完后面的语句代码会越过case4的边界继续执行后面的语句

四、判断语句常见错误

1.忘掉大括号

即使是有缩进,但缩进对java来说没有意义,有意义的只有大括号。
所以永远在if和else后面加一对大括号,即使后面只跟了一条语句

2.if后面加分号

会使if失去判断功能

3.错误使用==和=

if只要求()里面是0和非0

4.代码风格

(1)if和else后面必须加上一个大括号形成一个语句块
(2)大括号内的语句必须缩进一个tab的位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值