Java运算符

运算符

运算符:对字面量或者变量进行操作的符号

基本算数运算符

算数运算符:
在这里插入图片描述

package dreamcode;

public class sumyunsuan {
    public static void main(String[] args) {
        // 算术运算符使用
        int a = 10;
        int b = 3;
        System.out.println(a + b);  // 13
        System.out.println(a - b);  // 7
        System.out.println(a * b);  // 30
        System.out.println(a / b);  // 3 整体强转
        System.out.println(a * 1.0 / b); //3.3333333333333335 可以看到小数
        System.out.println(a % b);  // 1
    }
}

数值拆分

需求:一个三位数,将其拆分为个位、十位、百位后、打印在控制台。

package dreamcode;

public class caifen {
    public static void main(String[] args) {
        // 拆分3位数,把个位,十位,百位分别输出
        int date = 123;
        // 个位
        int g = date % 10;
        System.out.println("个位:" + g); // 3
        // 十位
        int s = (date % 100) / 10;
        System.out.println("十位:" + s); // 2
        // 百位
        int b = date / 100;
        System.out.println("百位:" + b); // 1
    }
}

+符号做连接符

"+"符号与字符串运算的时候用作连接符的,其结果依然是一个字符串。

package dreamcode;

public class lianjie {
    public static void main(String[] args) {
        int a = 5;
        System.out.println("abc"+'a'); // abca
        System.out.println("abc"+a); //abc5
        System.out.println(5+a); //10
        System.out.println("abc"+5+'a'); //abc5a
        System.out.println("[欢迎snow]"+"喜获:"+a+"元"); //[欢迎snow]喜获:5元
    }
}

通过这个"+"符号我们可以总结:能算则算,不能算就在一起。

自增自减运算符

在这里插入图片描述
注意:
1、++和–既可以放在变量的后面,也可以放在变量的前边。
2、++、–只能操作变量,不能操作字面量的。

package dreamcode;

public class zijia {
    public static void main(String[] args) {
        // 自增自减
        int a = 10;
        a++;
        System.out.println(a); // 11
        ++a;
        System.out.println(a); // 12
        a--;
        System.out.println(a); // 11
        --a;
        System.out.println(a); // 10
    }
}

自增自减的使用注意事项:
++、–如果不是单独使用(如果表达式中、或者同时有其它操作),放在变量前后存在明显区别。

放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。

package dreamcode;

public class zijia {
    public static void main(String[] args) {
        // 自增自减
        int a = 10;
        int a2 = ++a;
        System.out.println(a); // 11
        System.out.println(a2); // 11
    }
}

放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1。

package dreamcode;

public class zijia {
    public static void main(String[] args) {
        // 自增自减
        int a = 10;
        int a1 = a++;
        System.out.println(a);  //11
        System.out.println(a1); // 10
    }
}

自增自减的扩展案例

package dreamcode;

public class zijia {
    public static void main(String[] args) {
        // 自增自减案例
        int i = 3;
        int j = 5;
        int re = i++ + ++i - --j + j-- - i-- + ++j +2;
        System.out.println(i); //4
        System.out.println(j); //4
        System.out.println(re); //9
    }
}

赋值运算符

基本赋值运算符

基本赋值运算符就是“=”。

int i = 3; // 先看“=”右边,把数据3赋值给左边的变量i存储。

扩展运算符

在这里插入图片描述
注意:扩展的赋值运算符隐含了强制类型转换。

package dreamcode;

public class fuzhi {
    public static void main(String[] args) {
        // 赋值运算符
        int a = 10;
        int b = 200;
        // += 加后赋值
        a += b; // 隐含等价操作 a = (int)(a + b)  自带强制类型转换
        System.out.println(a); // 210
        // -= 减后赋值
        a -= b; // 隐含等价操作 a = (int)(a - b)
        System.out.println(a); // 10
        // *= 乘后赋值
        a *= b; // 隐含等价操作 a = (int)(a * b)
        System.out.println(a); // 2000
        // /= 除后赋值
        a /= b; // 隐含等价操作 a = (int)(a / b)
        System.out.println(a); // 10
        // %= 取余后赋值
        b %= a; // 隐含等价操作 b = (int)(b % a)
        System.out.println(b); // 0
    }
}

关系运算符

关系运算符是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true).
在这里插入图片描述
注意:在做相等判断时,千万不要把==误写成=。

package dreamcode;

public class tiaojianyunsuanfu {
    public static void main(String[] args) {
        // 关系运算符
        int a = 10;
        int b = 10;
        System.out.println(a == b); // true
        System.out.println(a != b); // false
        System.out.println(a > b); // false
        System.out.println(a >= b); // true
        System.out.println(a < b); // false
        System.out.println(a <= b); // true
    }
}

逻辑运算符

逻辑运算符可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。
在这里插入图片描述

package dreamcode;

public class luojiyunsuanfu {
    public static void main(String[] args) {
        // 逻辑运算符
        double size = 9.8;
        double storage = 16;
        // 逻辑与 &  必须前后都是true结果才是true
        System.out.println(size >= 6.95 & storage>= 8); // true
        // 逻辑或 |  只要一个是true 结果就一定是true
        System.out.println(size >= 10 | storage>= 20); // false
        // 逻辑非 ! 取反
        System.out.println(!true); // false
        // 逻辑异或 ^  必须两者不同才是true
        System.out.println(false ^ true); // true
    }
}

短路逻辑运算符
在这里插入图片描述
注意:逻辑与“&”,逻辑或“|”:无论左边是false还是true,右边都要执行。

public class luojiyunsuanfu {
    public static void main(String[] args) {
        // 逻辑运算符&& ||
        int a = 10;
        int b = 20;
        System.out.println(a > 100 && ++b >10); // false
        System.out.println(b); // 20
        System.out.println(a > 100 & ++b >10); // false
        System.out.println(b); // 21
        System.out.println(a > 5 || ++b >10); //true
        System.out.println(b); //21
        System.out.println(a > 5 | ++b >10); //true
        System.out.println(b); //22
    }
}

三元运算符

格式: 条件表达式? 值1:值2;
执行流程: 首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

package dreamcode;

public class sanmuyunsunfu {
    public static void main(String[] args) {
        // 三元运算符
        double score = 98;
        String rs = score >= 60 ? "考试不通过" : "挂科";
        System.out.println(rs);  // 考试不通过
    }
}

由此我们还可以通过三目运算符对三个数进行比大小(三元运算符的嵌套)。

package dreamcode;

public class sanmuyunsunfu {
    public static void main(String[] args) {
        // 三元运算符
        int a = 10;
        int b = 20;
        int c = 15;
        int maxd = a > b ? a > c ? a : c : b > c ? b : c;
        System.out.println(maxd); // b
    }
}

运算符优先级

在表达式中,那个运算符先执行后执行是要看优先级的,例如“、/”的优先级高于“+、-”。
在这里插入图片描述

键盘录入技术

完成java程序与用户交互,比如录入用户输入账户和密码等信息的时候就要用到键盘录入技术。(API应用程序编程接口,写好的程序(功能代码直接调用))从核心类库直接调用,API文档下载:
https://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html
在这里插入图片描述
键盘输入三个步骤:
在这里插入图片描述

package dreamcode;
// 调用包
import java.util.Scanner;

public class jianoan {
    public static void main(String[] args) {
        // 获取键盘扫描对象
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入你的年龄:");
        // 接受整数
        int age = sc.nextInt();
        System.out.println("年龄是:" + age);

        System.out.println("请输入你的姓名:");
        // 接受字符
        String name = sc.next();
        System.out.println("欢迎:" + name);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值