【核心笔记】Java入门到起飞,小白都能看懂的Java教程——2.运算符(附练习)

1.算术运算符

符号

作用

+

*

/

%

取余 取模(得到的结果是余数,没有余数则取余结果为0)

  • 如果在计算的时候有小数参与,则计算结果有可能不精确
  • 只有整数参与计算,结果只能为整数 如10 / 3 = 3

练习1:键盘录入一个三位数,将其拆分为个位、十位、百位打印输出

公式:个位 数值 %10;

          十位 数值 / 10 %10

          百位 数值 /100 %10

           千位 ......

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        // 键盘录入一个三位数,将其拆分为个位、十位、百位打印输出
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        int a = i /100;
        // 百位 数值/100%10
        int b = (i -a *100) /10;
        // 十位 数值/10%10
        int c = i %10;
        // 个位 数值%10
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

2.隐式转换和强制转换

隐式转换(自动类型提升):把一个取值范围小的数值转换为取值范围大的数据

取值范围:byte < short < int < long < float < double

两种提升规则:1)不同类型的数据进行计算,会先将小类型转换为大类型,再进行计算; 2)byte、short、char三种类型的数据进行计算时,会先提升为int型,再进行计算

强制转换:目标数据类型 变量名 = (目标数据类型) 被强转的数据!!可能会导致数据发生错误

3.字符串的“+”操作和字符的"+"操作

字符串的“+”操作:当 “+”操作中出现字符串时,这个“+”就成为了字符串连接符,会将前后的数据拼接,产生一个新的字符串。

字符的"+"操作:每个字符都会对应一个十进制数字(ASCII码表),char类型的数据在计算时会转换为int型数字,再进行相加

5.自增自减运算符

++ 自增运算符

-- 自减运算符

public class HelloWorld {
    public static void main(String[] args) {
        int a =0;
        a++;
        System.out.println(a);//1
        ++a;
        System.out.println(a);//2
        a--;
        System.out.println(a);//1
        --a;
        System.out.println(a);//0

    }
}

6.赋值运算符

符号

作用

说明

=

赋值

a=10;

+=

加后赋值

a+=b;将a+b的值赋给a

-=

减后赋值

a-=b;

*=

乘后赋值

a*=b;

/=

除后赋值

a/=b;

%=

取余后赋值

a%=b;将a%b的值赋给a

7.关系运算符(返回值为true或false)

符号

说明

==

等于

!=

不等于

>

大于

>=

大于等于

<

小于

<=

小于等于

练习:键盘录入两个整数,表示你和你约会对象的衣服时髦度(手动录入1~10之间的整数,不能有其他)

如果你的时髦程度大于你对象的时髦程度,相亲就成功,输入true,否则输出false

import java.util.Scanner;

public class HelloWorld {
    /*键盘录入两个整数,表示你和你约会对象的衣服时髦度
    (手动录入1~10之间的整数,不能有其他)
    如果你的时髦程度大于你对象的时髦程度,相亲就成功,输入true,否则输出false*/
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int my = sc.nextInt();
        int you = sc.nextInt();
        System.out.println(my > you);

    }
}

8.逻辑运算符

符号

作用

说明

&

逻辑且(与)

两边都为真,结果才为真

|

逻辑或

两边都为假,结果才为假

^

逻辑异或

两者相同为假,不同为真

!

逻辑非

取反

短路逻辑运算符:

&& 短路与:如果第一个为假,则直接判断结果为假,无需判断第二个条件的真假

|| 短路或:如果第一个条件为真,则直接判断结果为真,无需判断第二个条件的真假

练习:数字6是一个伟大的数字,键盘录入两个整数,如果其中一个是6,则输出true; 如过它们的和是6的倍数,则输出true;其他情况均输出false

import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        /*数字6是一个伟大的数字,键盘录入两个整数,
         * 如果其中一个是6,则输出true;
         * 如过它们的和是6的倍数,则输出true
         * 其他情况均输出false*/
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        boolean result = a==6 || b ==6 || (a+b)%6==0;
        System.out.println(result);
    }
}

9.三元运算符

关系表达式?表达式1:表达式2;

如果关系表达式结果为真,则执行表达式1,否则执行表达式2

练习1:动物园有两只老虎,体重通过键盘录入获得,请判断两只老虎体重是否相同

import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) {
        /*动物园有两只老虎,体重通过键盘录入获得,
          请判断两只老虎体重是否相同*/
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        String result = a==b?"相同":"不同";// 结果必须有值接收
        System.out.println(result);
    }
}

练习2:一座寺庙里有三个和尚,已知他们的身高分别为150cm、210cm、165cm,请获取三个和尚的最高身高

public class HelloWorld {
    public static void main(String[] args) {
        /*一座寺庙里有三个和尚,已知他们的身高分别为150cm、210cm、165cm,
        请获取三个和尚的最高身高*/
      int height1 = 150;
      int height2 = 210;
      int height3 = 165;
      int temp = height1>height2?height1:height2;
      int max = temp>height3?temp:height3;
      System.out.println(max);
    }
}

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值