3.运算符、if条件结构

运算符、if条件结构

关系运算符

==

!=

<

>

>=

<=

1.关系运算符运算的结果是boolean类型

2.可以使用boolean类型的变量接收关系运算的结果

public class Demo01 {

	public static void main(String[] args) {
		
		int a = 10;
		int b = 11;
		
		System.out.println(a == b); // false
		
		boolean result = a != b;
		System.out.println(result);
		
	}

逻辑运算符1

&& 短路与

|| 短路或

! 非、取反

1.用于运算多个boolean类型的算式

2.运算结果仍然是boolean类型

逻辑运算符2

& 按位与

| 按位或

1.可以用于进行数字的位运算

2.可以进行不短路的逻辑判断

public class Demo02 {

	public static void main(String[] args) {
		
		int a = 10;
		int b = 11;
		int c = 12;
		
		// a大于b并且c大于b
		// a > b false
		// c > b true
		// false && true = false
		System.out.println(a > b && c > b);
		
		// false || true = true
		System.out.println(a > b || c > b);
		
		// !false = true
		System.out.println(!(a > b && c > b));
		
		//--------------------------------
		
		int i = 6;
		int j = 8;
		int k = 10;
		
		// && 短路与,如果前面的结果为false,后面将不再执行判断
		boolean result = i > j && (i += 6) > j; // false
		System.out.println(result); // false
		System.out.println(i); // 6
		
		// || 短路或,如果前面的结果为true,后面将不再执行判断
		boolean result1 = i < j || (i += 6) > j;
		System.out.println(result1); // true
		System.out.println(i); // 6
		
		//----------------------------------------
		
		int n = 6;
		int m = 8;
		
		// 6 -> 0110
		// 8 -> 1000
		// 		0000 -> 0	
		System.out.println(n & m); // 0
		
		int n1 = 11;
		int m1 = 13;
		
		// 11 -> 1011
		// 13 -> 1101
		//       1111 -> 15
		System.out.println(n1 | m1); // 15
		
		// 判断一个数是奇数还是偶数
		// 方式一:对2取余
		int x = 6;
		System.out.println(x % 2 == 0); // true
		
		// 方式二:位运算
		// 6 -> 0110
		// 1 -> 0001
		System.out.println((x & 1) == 0); // true
		
		
		
		int i1 = 6;
		int j1 = 8;
		
		// & 按位与,如果前面的结果为false,后面也会执行判断,不会短路
		boolean result2 = i1 > j1 & (i1 += 6) > j1; // false
		System.out.println(result2); // false
		System.out.println(i1); // 12
		
	}

条件运算符

三目运算符、三元表达式

格式:条件 ? 表达式1 : 表达式2

分析:条件为true,执行表达式1,条件为false,执行表达式2

public class Demo03 {
	
	public static void main(String[] args) {
		
		System.out.println(1 > 2 ? "1 > 2" : "1 < 2");
		
		String str = 1 > 2 ? "1 > 2" : "1 < 2";
		System.out.println(str);
	}

Java程序的三种结构

顺序结构

从上到下顺序执行每一行代码

分支结构

使用条件判断构建分支

if

格式1:if (判断式) {代码块},当判断式结果为true时,运行代码块。

格式2:if (判断式) {代码块1} else {代码块2},当判断式结果为true时,运行代码块1,否正执行代码块2。

格式3:if (判断式1) {代码块1} else if (判断式2) {代码块2}…,当判断式1结果为true,执行代码块1,否正继续判断判断式2…

switch case
示例代码
public class Demo04 {
	
	public static void main(String[] args) {
		
		/*
		 *  分数分级:
		 *  	>= 90 优秀
		 *  	>= 80 良好
		 *  	>= 60 及格
		 *  	< 60  不及格
		 */
		double score = 55.5;
		String result = score >= 90 ? "优秀" : score >= 80 ? "良好" : score >= 60 ? "及格" : "不及格";
		System.out.println(result);
		
		// 分数 > 90 奖励一个iphone12
		if (score > 90) {
			System.out.println("奖励一个iphone12");
		}
		
		// Java成绩大于90分,并且Html成绩大于80;或者Java成绩等于100分,Html成绩大于70分。奖励iphone12.
		double java = 10;
		double html = 81;
		if ((java > 90 && html > 80) || (java == 100 && html > 70)) {
			System.out.println("奖励一个iphone12");
		}
		
		// Java成绩大于90分,奖励一个iphone12,否则试卷抄10遍。
//		if (java > 90) {
//			System.out.println("奖励一个iphone12");
//		}
//		if (java <= 90) {
//			System.out.println("试卷抄10遍");
//		}
		if (java > 90) {
			System.out.println("奖励一个iphone12");
		} else {
			System.out.println("试卷抄10遍");
		}
		
		// 分数分级
//		if (score >= 90) {
//			System.out.println("优秀");
//		}
//		if (score >= 80 && score < 90) {
//			System.out.println("良好");
//		}
//		if (score >= 60 && score < 80) {
//			System.out.println("及格");
//		}
//		if (score < 60) {
//			System.out.println("不及格");
//		}
		
		if (score >= 90) {
			System.out.println("优秀");
		} else if (score >= 80) {
			System.out.println("良好");
		} else if (score >= 60) {
			System.out.println("及格");
		} else {
			System.out.println("不及格");
		}
		
		
		// 根据百米赛跑成绩和性别分组
		double time = 9;
		String sex = "女";
		// 判断成绩是否入围
		if (time <= 10) {
			System.out.println("你入围了");
			
			// 判断性别,进行分组
			if (sex.equals("男")) {
				System.out.println("你进入了男子组");
			} else if (sex.equals("女")) {
				System.out.println("你进入了女子组");
			} else {
				System.out.println("你进入其他组");
			}
			
		} else {
			System.out.println("你淘汰了");
		}
		
	}

循环结构

使用循环语句实现代码块的循环执行

分支结构

例题1:用户从控制台输入4位会员卡号,计算各个位数之和,

package org.jgs2007.work;

import java.util.Scanner;

/**
 * 用户从控制台输入4位会员卡号
 * 计算各个位数之和
 * 例如:输入1234,输出10
 * 
 * @author junki
 * @date 2020年6月19日
 */
public class Work01 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一个四位数:");
		int num = sc.nextInt();
		
		// 求各个位数之和
		int a = num % 10; // 获取个位数
		int b = num / 10 % 10; // 获取十位数
		int c = num / 100 % 10; // 获取百位数
		int d = num / 1000; // 获取千位数
		
		System.out.println(a + b + c + d);
		
		
		sc.close();
		
	}
	
}

例题2:运算符练习

package org.jgs2007.work;

/**
 * 运算符练习
 * 
 * @author junki
 * @date 2020年6月19日
 */
public class Work02 {

	public static void main(String[] args) {

		int y = 10;
		System.out.println(y++ == --y); // true
		System.out.println(y); // 10

	}

}

例题3:判断会员是否中奖

package org.jgs2007.work;

import java.util.Scanner;

/**
 * 判断会员是否中奖
 * 
 * @author junki
 * @date 2020年6月19日
 */
public class Work03 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.println("请输入一个四位数:");
		int num = sc.nextInt();

		// 求各个位数之和
		int a = num % 10; // 获取个位数
		int b = num / 10 % 10; // 获取十位数
		int c = num / 100 % 10; // 获取百位数
		int d = num / 1000; // 获取千位数

		int sum = a + b + c + d;
		
		// 判断是否大于20
		String result = sum > 20 ? "中奖!" : "很遗憾!";

		System.out.println(result);
		
		sc.close();

	}

}

例题4:判断会员号百位数是否和随机数相同,相同则中奖。

package org.jgs2007.work;

import java.util.Scanner;

/**
 * 判断会员号百位数是否和随机数相同,相同则中奖。
 * @author junki
 * @date 2020年6月19日
 */
public class Work04 {

	public static void main(String[] args) {
		
		// 获取随机数[0,1)
		double random = Math.random();
		System.out.println(random);
		
		// 获取[0,9]之间的整数随机数
		// Math.random() * 10; => [0,10)之间的浮点数
		// (int)(Math.random() * 10) => [0,9]之间的整数
		int num = (int)(Math.random() * 10);
		System.out.println(num);
		
		// 获取会员卡百位数
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入四位会员卡号:");
		
		int vipNum = sc.nextInt();
		if (vipNum / 100 % 10 == num) {
			System.out.println("恭喜你,中奖了!");
		} else {
			System.out.println("很遗憾,未中奖!");
		}
		
		sc.close();
	}
	
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 编写程序,判断一个数字是否为偶数 ```python num = int(input("请输入一个数字: ")) if num % 2 == 0: print(num, "是偶数") else: print(num, "是奇数") ``` 2. 编写程序,输入一个三角形的三边长,判断该三角形是否合法,并判断其类型(等边、等腰或一般三角形) ```python a = float(input("请输入三角形第一条边长: ")) b = float(input("请输入三角形第二条边长: ")) c = float(input("请输入三角形第三条边长: ")) if a + b > c and a + c > b and b + c > a: if a == b == c: print("这是一个等边三角形") elif a == b or b == c or a == c: print("这是一个等腰三角形") else: print("这是一个一般三角形") else: print("这不是一个三角形") ``` 3. 编写程序,输入一个年份,判断该年份是否为闰年 ```python year = int(input("请输入一个年份: ")) if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): print(year, "是闰年") else: print(year, "不是闰年") ``` 4. 编写程序,输入一个字符,判断该字符是否为字母或数字或其他字符 ```python ch = input("请输入一个字符: ") if ch.isalpha(): print(ch, "是字母") elif ch.isdigit(): print(ch, "是数字") else: print(ch, "是其他字符") ``` 5. 编写程序,输入一个整数,判断它的正负性 ```python num = int(input("请输入一个数字: ")) if num > 0: print(num, "是正数") elif num < 0: print(num, "是负数") else: print(num, "是零") ``` 6. 编写程序,输入两个整数,输出它们的和、差、积、商 ```python a = int(input("请输入第一个整数: ")) b = int(input("请输入第二个整数: ")) print("和为:", a + b) print("差为:", a - b) print("积为:", a * b) if b != 0: print("商为:", a / b) else: print("除数不能为0") ``` 7. 编写程序,输入三个数,按从小到大的顺序输出 ```python a = int(input("请输入第一个数: ")) b = int(input("请输入第二个数: ")) c = int(input("请输入第三个数: ")) if a > b: a, b = b, a if a > c: a, c = c, a if b > c: b, c = c, b print("从小到大排序:", a, b, c) ``` 8. 编写程序,输入一个成绩,输出其对应的等级(优、良、中、及格、不及格) ```python score = float(input("请输入成绩: ")) if score >= 90: print("优") elif score >= 80: print("良") elif score >= 70: print("中") elif score >= 60: print("及格") else: print("不及格") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值