运算符
运算符:运算符用于程序代码运算,会针对一个以上操作数项目来进行运算。
1.算术运算符:
算术运算符 | 名称 | 描述 |
---|---|---|
+ | 加法 | 双目运算符,对符号两边的的操作数进行相加操作 |
- | 减法 | 双目运算符,对符号两边的的操作数进行相减操作 |
* | 乘法 | 双目运算符,对符号两边的的操作数进行相乘操作 |
/ | 除法 | 双目运算符,对符号两边的的操作数进行相除操作 |
% | 求余 | 双目运算符,对符号两边的的操作数进行取余操作 |
++ | 自增 | 单目运算符,对与符号相连的数进行加1操作 |
- - | 自减 | 单目运算符,对与符号相连的数进行减1操作 |
+= | 加等于 | a += b等价于a = a+b |
-= | 减等于 | a -= b等价于a = a-b |
2.关系运算符:
关系运算符 | 名称 | 示例 | 功能 |
---|---|---|---|
> | 大于 | a > b | a大于b时返回真,否则返回假 |
< | 小于 | a < b | a小于b时返回真,否则返回假 |
>= | 大于等于 | a >= b | a大于等于b时返回真,否则返回假 |
<= | 小于等于 | a <= b | a小于等于b时返回真,否则返回假 |
== | 等于 | a == b | a等于b时返回真,否则返回假 |
!= | 不等于 | a != b | a不等于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注意要点:
- switch表达式的结果必须为int,short,char类型;
- case的值必须是常值,且不能重复;
- 每个case遇到break或执行完整个switch语句才会退出结构。
switch-case条件用于多个等值判断的条件情况:
- case的值不能相同;
- case的值只能为常量,不能为变量;
- switch判断的数据类型可以是int,short,byte,char,String;
- break用于跳出switch结构,当case有语句时必须要加上break;
- 当前的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("很遗憾,请再接再厉!");
}
}
}