Java入门--运算符和表达式

Java入门

1、算术运算符

实现对两个数的运算,程序输出效果为:

请输入第一个整数:
25
请输入第二个整数:
8
两数相加的结果为:33
两数相减的结果为:17
两数相乘的结果为:200
两数相除的结果为:3
两数取余数的结果为:1

以下是Java代码:

public class Calculate{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数:");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数:");
        int b = sc.nextInt();
        System.out.println("两数相加的结果为:" + (a + b));
        System.out.println("两数相减的结果为:" + (a - b));
        System.out.println("两数相乘的结果为:" + (a * b));
        System.out.println("两数相除的结果为:" + (a / b));
        System.out.println("两数取余数的结果为:" + (a % b));
    }
}

Java中常用的算术运算符:

算术运算符 名称 举例
+ 加法 5+12=17
- 减法 25-10=15
* 乘法 3*8=24
/ 除法 24/6=4
% 求余 24%7=3
++ 自增1 int i=5;i++;++i;
-- 自减1 int i=5;i--;--i;

++i 和 i++ 是不同的,例如:

int i = 1;
int j = ++i;
int k = i++;
System.out.println("j:"+j);
System.out.println("k:"+k);

输出的结果是:

j:2

k:2

++放在前面表示这个自增运算有更高的优先级,会先运算i自增1变为2,再将值交给j,而++放在后面,该自增运算处于低优先级,i的值2交给k之后,再进行++变为3。

对于除法

如果进行运算的两个数是整型,则运算结果是整型,就算会产生小数部分,小数部分也会被直接抹除(不会四舍五入,直接扔掉所有)。

如果进行运算的两个数是浮点型(float或者double),就能够产生正常的小数部分。

对于取模运算:

即求整除后剩余的值,七个苹果分给三个小朋友,不够分的留下,余数是多少?

\(7\div3=2\dots1\),所以取余数为1。

2、关系运算符

使用关系运算符实现判断两数的关系:

请输入一个数a:
20
请输入一个数b:
34
a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false

以下是Java代码:

public class Calculate{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数a:");
        int a = sc.nextInt();
        System.out.println("请输入一个数b:");
        int b = sc.nextInt();
        System.out.println("a==b=" + (a==b));
        System.out.println("a!=b=" + (a!=b));
        System.out.println("a>b=" + (a>b));
        System.out.println("a<b=" + (a<b));
        System.out.println("a>=b=" + (a>=b));
        System.out.println("a<=b=" + (a<=b));
    }
}

常见的关系运算符,设A=10,B=20:

运算符 描述 例子
== 检查如果两个操作数的值是否相等,如果相等则返回 \(A==B\)为假
!= 检查两个操作数的值是否相等,如果不相等则返回 \(A!=B\)为真
> 检查左操作数的值是否大于右操作数的值,如果是则返回 \(A>B\)为假
< 检查左操作数的值是否小于右操作数的值,如果是则返回 \(A<B\)为真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则返回 \(A\geq B\)为假
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则返回 \(A\leq B\)为真

3、逻辑运算符

逻辑运算符用于测试两个操作数之间的逻辑关系,两个操作数必须是布尔类型

逻辑运算符 名称 举例 结果
&& a&&b 如果a和b都为true则返回true
|| a||b 如果a和b有一个为true,则结果true,a和b都为false则返回false
! !a 如果a为false,则返回true,即取反
^ 异或 a^b 如果a和b有且只有一个为true,则返回true

4、三元运算符

输入一个年份,判断是否为闰年。

Java代码:

public class judgeLeapYear{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        return (year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0)) ? true : false;
    }
}

三元运算符:

条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果

例如上题,条件表达式为:(year % 400 == 0)||((year % 4 == 0) && (year % 100 != 0))

判断了:

1.年份能被400整除。

2.年份能被4整除,但不能被100整除。

将这两个条件用或运算符连接,如果结果为真则返回true,如果为假则返回false,这样就能判断某个年份是不是闰年了。

5、运算符的优先级

优先级 运算符
1 ()
2 ! +(正) -(负) ++ --
3 * / %
4 +(加) -(减)
5 < <= > >=
6 == !=
7 ^
8 &&
9 ||
10 ? :
11 = += -= *= /= %=
posted @ 2024-12-04 17:31  VellyKiey  阅读(34)  评论(0)    收藏  举报