8-7运算符与表达式

本文探讨了不同类型的运算符,包括关系运算符、逻辑运算符、位运算符以及赋值运算符。通过DEMO展示了如何使用这些运算符,特别提到了条件运算符在解决实际问题中的应用,如判断成绩合格、闰年检测、多层嵌套逻辑以及循环结构的选择,如switch、do-while和for循环。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 运算符与关系表达式
    DEMO
		 // 运算符的加减
		 int num1 = 5, num2 = 0;
		 ++num1;// 先加再赋值
		 // num1++;赋值再加
		 // num2--;
		 --num2;
		 System.out.println("++num1 " + num1);
		 System.out.println("++num2 " + num2);
		// 运算符的比较
		int num1 = 5, num2 = 3, num3 = 4;
		boolean flag;
		if (num1 < num2) {
			flag = true;
			System.out.println(flag + " num1=" + num1 + " < " + "num2=" + num2);
		} else if (num2 < num3) {
			flag = true;
			System.out.println(flag + " num2=" + num2 + " < " + "num3=" + num3);
		} else if (num1 < num3) {
			flag = true;
			System.out.println(flag + " num1=" + num1 + " < " + "num3=" + num3);
		} else {
			flag = false;
			System.out.println(flag + " num1=" + num1 + " > " + "num3=" + num3);
		}
  1. 逻辑运算符
    ! 非
    && 与
    || 或
		int num1 = 5, num2 = 3, num3 = 4;
		boolean flag;
		
		if (num1 < num2 && num2 < num3) {
			flag = true;
			System.out.println(flag + " num1=" + num1 + " < " + "num3=" + num3);
		} else if (num1 < num3) {
			flag = true;
			System.out.println(flag + " num1=" + num1 + " < " + "num3=" + num3);
		} else {
			flag = false;
			System.out.println(flag + " num1=" + num1 + " > " + "num3=" + num3);
		}
  1. 位运算符
    》、《、>>>等

  2. 赋值运算符与表达式

		int num1 = 5, num2 = 3, num3 = 4;
		num1 += num1;
		num2 -= num2;
		num3 *= num3;
		System.out.println(num1);
		System.out.println(num2);
		System.out.println(num3);
  1. 条件运算符和表达式
    三个数的三目运算,最大数,最小数
				// 三目运算
		int num1 = 5, num2 = 3, num3 = 9; /* num4 = 6, num5 = 9, num6 = 8 */
		;
		/*
		 * int max1 = (num1>num2)?num1:num2; 
		 * int max2 =(max1>num3)?max1:num3;
		 * 
		 * int max = a>b&&a>c?a:b>c?b:c;
		 * int max = (a>b?a:b)>(a>c?a:c)?(a>b?a:b):(a>c?a:c); 
		 */
		/*
		 * int max = (((num1 > num2) ? num1 : num2) > num3) ? ((num1 > num2) ?
		 * num1 : num2) : num3;
		 */
		int mix = (num1 < num2) ? (num1 < num3 ? num3 : num1)
				: (num2 < num3 ? num2 : num3);
		int max = (num1 > num2) ? (num1 > num3 ? num1 : num3)
				: (num2 > num3 ? num2 : num3);
		
		System.out.println(mix);
		System.out.println(max);
  1. 选择
    ①根据输入的成绩判断是否合格
		// score
	public static boolean score(int s) {
		if (s >= 60) {
			System.out.println("合格!");
			return true;
		} else {
			System.out.println("不合格!");
			return false;
		}
	}

	// main
	public static void main(String[] args) {
		System.out.println("输入成绩:");
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);

		int score = sc.nextInt();
		score(score);
//		if (score >= 60 && score <= 100) {
//			System.out.println("合格!");
//		} else if (score < 60 && score >= 0) {
//			System.out.println("不合格!");
//		} else {
//			System.out.println("输入成绩错误!");
//		}
	}

②判断闰年

		// 闰年 1000~2019
		System.out.println("闰年 1000~2019:");
		for (int Y = 1000; Y <= 2019; Y++) {
			if ((Y % 4 == 0 && Y % 100 != 0) || Y % 400 == 0) {
				System.out.println(Y);
			}
		}

③多层嵌套

	// scoreMore
	public static void scoreMore(int s) {
		if (s >= 60) {
			if (s <= 80) {
				System.out.println("合格!");
			} else {
				System.out.println("优!");
			}
		} else {
			if (s == 0) {
				System.out.println("未参加!");
			} else {
				System.out.println("不合格!");
			}
		}
	}
	...
		System.out.println("输入成绩:");
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		scoreMore(score);

④switch

// judgeScore
	public static void judgeScore(int s) {

		switch (s/10) {
		case 10:
			System.out.println("A");
			break;
			
		case 9:
			System.out.println("A");
			break;

		case 8:
			System.out.println("B");
			break;

		case 7:
			System.out.println("C");
			break;

		case 6:
			System.out.println("D");
			break;

		default:
			System.out.println("E");
			break;
		}
	}

⑤do-while|while

	// sumWhile
	public static void sumWhile() {
		int i = 1, sum = 0;
		// while (i < 10) {
		// sum += i;
		// System.out.println(sum);
		// ++i;
		// }
		do {
			sum += i;
//			if (sum > 30 && sum < 40) {
//				break;
//			}
			if (sum < 30 ) {
				continue;// 不会执行i++
			}
			i++;
		} while (i < 10);
		System.out.println(sum);
	}

⑥for

// sumFor
	public static void sumFor() {
		int sum = 0;
		for (int i = 1; i < 10; i++) {
			sum += i;
		}
		System.out.println(sum);
	}
	// MultilpyFor
	public static void MultilpyFor() {
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j <= i; j++) {
				int m = i * j;
				System.out.print(j + "*" + i + "=" + m+"\t");
			}
			System.out.println();
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值