今天我们来讲讲 “运算符”

1、算数运算符

1)算数运算符的介绍

 public static void main(String[] args) { 
        int i = 123456;
 System.out.println(i/1000*1000);
//计算结果是123000 
}

 
  1. 特别说明

1、+运算符

  • ++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。
  • 独立运算:
    1. 变量在独立运算时, 前++ 和 后++ 没有区别 。
    2. 变量 前++ :例如 ++i 。
    3. 变量 后++ :例如 i++ 。
  • 混合运算:
    1. 和其他变量放在一起, 前++ 和 后++ 就产生了不同。
    2. 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是 2。 
public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
}

 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加 1。a的结果是2,b的结果是1。

public static void main(String[] args) {
int a = 1;
int b = a++;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1
}

前++,前-- 先计算,再赋值;

后++ ,后-- 先赋值,再计算

 2 、赋值运算符

 

 赋值运算符,就是将符号右边的值,赋给左边的变量。

public static void main(String[] args){
int i = 1;
i+=1;
// i=i+1 ==> 1+1 ==>2 i=2
System.out.println(i); //输出结果是2
}

3 、关系运算符

 

 关系运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。

public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<2);//true
System.out.println(2>3);//false
System.out.println(2<=3);//true
System.out.println(2>=3);//false
System.out.println(2!=3);//true
}

 4 、逻辑运算符

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否 成立,判断 的结果是 true 或 false。

 示例:

public static void main(String[] args) {
//定义变量
int i = 10;
int j = 20;
int k = 30;
//& “与”,并且的关系,只要表达式中有一个值为false,结果即为false
System.out.println((i > j) & (i > k)); //false & false,输出false
System.out.println((i < j) & (i > k)); //true & false,输出false
System.out.println((i > j) & (i < k)); //false & true,输出false
System.out.println((i < j) & (i < k)); //true & true,输出true
System.out.println("........");
//| “或”,或者的关系,只要表达式中有一个值为true,结果即为true
System.out.println((i > j) | (i > k)); //false | false,输出false
System.out.println((i < j) | (i > k)); //true | false,输出true
System.out.println((i > j) | (i < k)); //false | true,输出true
System.out.println((i < j) | (i < k)); //true | true,输出true
System.out.println("........");
//^ “异或”,相同为false,不同为true
System.out.println((i > j) ^ (i > k)); //false ^ false,输出false
System.out.println((i < j) ^ (i > k)); //true ^ false,输出true
System.out.println((i > j) ^ (i < k)); //false ^ true,输出true
System.out.println((i < j) ^ (i < k)); //true ^ true,输出false
System.out.println("........");
//! “非”,取反
System.out.println((i > j)); //false
System.out.println(!(i > j)); //!false,,输出true
}

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

public static void main(String[] args) {
int x = 3;
int y = 4;
System.out.println((x++ > 4) & (y++ > 5)); // 两个表达都会运算
System.out.println(x); // 4
System.out.println(y); // 5
System.out.println((x++ > 4) && (y++ > 5)); // 左边结果为false,右边不参与
运算
System.out.println(x); // 4
System.out.println(y); // 4
}

 5 、三元运算符

三元运算符也叫三目运算符。

三元运算符格式:

数据类型 变量名 = 布尔类型表达式?结果1:结果2 

  •  三元运算符计算方式:
    • 布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
    • 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
int a = 20;
int b = 10;
int max = (a>b ? a : b);//max赋值为 a,b中较大的值
System.out.println(max);//20
int min = (a<b ? a : b);//min赋值为 a,b中较小的值
System.out.println(min);//10
}

 6、 位运算符

1 .进制及转换

计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表 示,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。 下面了解一下十进制和二进制数据之间的转换计算。

1、 十进制转二进制 

十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 

 这里,我们以常用的整数进制转换进行说明:

十进制转八进制、十六进制的思路与十进制转二进制一样。 

2、二进制转十进制 

二进制转十进制采用按权相加法

  1.  二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取 成一位。
  2. 二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位 取成一位。

7 、运算符的优先级 

不同运算符可以相互组合数据形成一个复杂的表达式,表达式的具体执行先后运行就需要根据运算符的 优先级判断。

 注意:

        尽量不要写特别复杂的表达式,别人看着也不舒服;另外可以结合小括号()来控制执行顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值