Java知识点详解——第三章:运算符及条件结构

本文详细介绍了Java中的运算符类型,包括算术、关系和逻辑运算符,详细阐述了它们的优先级规则。此外,还探讨了条件结构的不同形式,如基本条件、嵌套条件、多重条件和switch条件结构,特别强调了switch语句的使用要点。通过实例,如获取年份的各个位数和判断闰年的三元运算符,以及一个猜数字小游戏,帮助读者更好地理解和应用这些概念。

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

运算符

运算符:运算符用于程序代码运算,会针对一个以上操作数项目来进行运算。

1.算术运算符:
算术运算符名称描述
+加法双目运算符,对符号两边的的操作数进行相加操作
-减法双目运算符,对符号两边的的操作数进行相减操作
*乘法双目运算符,对符号两边的的操作数进行相乘操作
/除法双目运算符,对符号两边的的操作数进行相除操作
%求余双目运算符,对符号两边的的操作数进行取余操作
++自增单目运算符,对与符号相连的数进行加1操作
- -自减单目运算符,对与符号相连的数进行减1操作
+=加等于a += b等价于a = a+b
-=减等于a -= b等价于a = a-b
2.关系运算符:
关系运算符名称示例功能
>大于a > ba大于b时返回真,否则返回假
<小于a < ba小于b时返回真,否则返回假
>=大于等于a >= ba大于等于b时返回真,否则返回假
<=小于等于a <= ba小于等于b时返回真,否则返回假
==等于a == ba等于b时返回真,否则返回假
!=不等于a != ba不等于b时返回真,否则返回假
3.逻辑运算符:
逻辑运算符名称描述
&&逻辑与当且仅当符号两边都为真时返回true,否则返回false
||逻辑或当符号两边任何一个为真时返回true,否则返回false
!逻辑非反转操作数的逻辑状态,即:!true = false, !false = true

优先级:
小括号 > !> 算术运算符 > 关系运算符 > && > || > 赋值运算符


条件结构

1.基本条件结构:
if(条件){
	//满足条件时执行的代码
}
else{
	//没有满足条件时执行的代码
}
2.嵌套条件结构:
if(条件){
	if(条件){
		//执行代码
	}
	else{
		//执行代码
	}
}
else{
	//执行代码
}
3.多重条件结构:
if(条件){
	//满足此条件时执行的代码
}
//对没有满足条件的内容继续进行判断
else if(条件){
	//满足此条件时执行的代码
}
else if(条件){
	//满足此条件时执行的代码
}
else{
	以上所有的条件都没有满足时执行的代码
}
4.switch条件结构:
switch(表达式){
	case 值://执行代码
		break;
	case 值://执行代码
		break;
	case 值://执行代码
		break;
	default://执行代码
		break;
}

switch注意要点:

  1. switch表达式的结果必须为int,short,char类型;
  2. case的值必须是常值,且不能重复;
  3. 每个case遇到break或执行完整个switch语句才会退出结构。

switch-case条件用于多个等值判断的条件情况:

  1. case的值不能相同;
  2. case的值只能为常量,不能为变量;
  3. switch判断的数据类型可以是int,short,byte,char,String;
  4. break用于跳出switch结构,当case有语句时必须要加上break;
  5. 当前的case条件都没有满足时,使用default,等价于else。

获取年份的各个位数:

	int a = year%10;		//获取个位数
	int b = year/10%10;		//获取十位数
	int c = year/100%10;	//获取百位数
	int d = year/1000;		//获取千位数

三元运算符:

c=a>b?a-b:a+b	代码功能同下:
	if(a>b){
		c = a-b;
	}
	else{
		c = a+b;
	}

闰年的判断:

import java.util.Scanner;

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

		//输入年份,判断该年是闰年还是平年,闰年的判断条件:第一种情况:是4的倍数,并且不能是100的倍数;第二种情况:是400的倍数
		System.out.println("请输入年份:");
		int year = sc.nextInt();
		//判断年份
		if(year%4 == 0 && year%100 != 0 || year%400 == 0){
			System.out.println("该年是闰年!");
		}
		else{
			System.out.println("该年不是闰年!");
		}
	}
}

猜数字小游戏:

//导入Random类
//import java.util.Random;
//导入java.util包中所有的类型
import java.util.*;

public class Demo{
	public static void main(String[] args){
		
		/*随机产生一个0-9的数字,猜猜是否能猜中*/
		
		//创建随机数对象
		Random random = new Random();
		//生成随机数,设定种子数,生成的范围0-种子数,如:生成5-100范围的随机值
		int n = random.nextInt(96)+5;
		
		Scanner sc = new Scanner(System.in);
		System.out.println("是否要开启作弊模式?(y/n)");
		String flag = sc.next();
		//判断是否开启作弊模式,字符串的比较实用equals方法
		if(flag.equals("y")){
			System.out.println("提示:幸运数字范围为"+(n-3)+"~"+(n+3));
		}
		System.out.println("请输入猜的幸运数字:");
		int lucy = sc.nextInt();
		
		//判断输入的值与系统生成的随机值是否匹配
		if(lucy == n){
			System.out.println("恭喜你猜对了!!");
		}
		else{
			System.out.println("很遗憾,请再接再厉!");
		}
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值