Java语言基础(三)-运算符&&数据类型转换

1、运算符

运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句额逻辑比较方面,如赋值运算符、算术运算符、比较运算符等。

1.1赋值运算符

赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数作处理),其功能主要是将右方操作数所含的值赋给左方的操作数。

int a = 100;
int b = a+50;
int c = a+b;

1.2算数运算符

java中的算数运算符主要有一下五种,其中“+”和“-”还可以当作数据的正负号使用;
- “+”(加);
- “-”(减);
- “*”(乘);
- “/”(除);
- “%”(取余);

public class operation {
    /*
     * 运算符的使用
     */
    public static void main(String[] args) {
        int number_1 = 10;
        double number_2 = 15.22;
        System.out.println("和为:" + (number_1 + number_2));
        System.out.println("差为:" + (number_2 - number_1));
        System.out.println("积为:" + (number_1 * number_2));
        System.out.println("商为:" + (number_2 / number_1));

    }

}

1.3自增和自减运算符

自增、自减运算副是单目运算符,可以放在操作元之前,也可以放在操作员之后,操作员必须是一个整形或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。若放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算;反之放在操作元后面的自增、自减运算符,先会使变量参与表达式的运算,然后再将该变量加1(减1)

++a(--a);
//表示在使用变量a之前,先使a的值增加1(减少1);
a++(a--);
//表示在使用变量a之后,再使a的值增加1(减少1);
b = ++a;
//先将a的值加1,然后赋值给b;
b = a++;
//现将a的值赋值给b,在将a的值加1

1.4比较运算符

比较运算符属于二元运算符,用于程序中的变量之间、变量和自变量之间以及其它类型的信息之间的比较。比较运算符的结果为boolean类型。当运算符对应的关系成立时,运算结果为true,反之则为false。比较运算符共有6个;

  • “>”:左侧大于右侧;适用于整型、浮点型、字符型数据;
  • “>=”:左侧大于等于右侧;适用于整型、浮点型、字符型数据;
  • “<”:左侧小于右侧;适用于整型、浮点型、字符型数据;
  • “<=”:左侧小于等于右侧;适用于整型、浮点型、字符型数据;
  • “==”:左侧等于右侧;适用于基本数据类型、引用型;
  • “!=”:左侧不等于右侧;适用于基本数据类型、引用型;
public class operation_compare {
    /*
     * 比较运算符;
     */
    public static void main(String[] args){
        int a = 5;
        int b = 1;
        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));
    }

}

1.5逻辑运算符

  • “&&”:逻辑与,从左到右结合;一假即假,全真才真;
  • “||”:逻辑或,从左到右结合;一真即真,全假才假;
  • “!”:逻辑非,从右到左结合;右真即真,全真为假,全假为真;
public class operation_logic {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /*
         * 逻辑运算符;
         */
        int a = 2;
        int b = 3;
        //声明boolean变量类型,用于保存逻辑运算符“&&”的返回值;
        boolean result1 = (a>b)&&(a!=b);
        boolean result2 = (a>b)||(a!=b);
        System.out.println(result1);
        System.out.println(result2);
    }

}

1.6位运算符

位运算符除“按位与”和“按位或”运算符外,其他只能用于处理整数的操作数。位运算是完全针对位方面的操作。

1.6.1“按位与”运算

使用“&”运算符,为双目运算符,“按位与”的运算法则是:如果两个整型数据a,b对应位都是1,则结果位才是1,否则为0。如果两个操作数的精度不同,则结果的精度与精度高的操作数相同;

1.6.2“按位或”运算

使用“|”运算符,为双目运算符。“按位或”的运算法则是:如果两个操作数对应位都是0,则结果位才是0,否则为1。如果两个操作数精度不同,则结果的精度与精度高的操作数相同;

1.6.3“按位取反”运算

“按位取反”运算也称为“按位非”运算,运算符为“~”,为单目运算符。“按位取反”就是将操作数二进制中的1修改为0,0修改为1.

1.6.4“按位异或”运算

“按位异或”运算的运算符是“^”,为双目运算符。“按位异或”的运算法则是:当两个操作数的二进制表示相同(同为0或同为1时),结果为0,否则为1。若两个操作数的精度不同,则结果数的精度与精度高的操作数相同。

1.6.5移位操作

java中的移位运算符有三种;

  • <<:左移,就是将运算符左边的操作数的二进制数据按照运算符右边的操作数指定的位数向左移去,右边一空的部分补0;
  • >>:右移,当使用“>>”符号是,如果最高位是0,右移空的位就填入0,如果最高位是1,右移空的位就填入1;
  • >>>:无符号右移,无论最高位是0还是1,左侧被移空的高位都填入0;
1.6.6运算符的优先级

java中的表达式就是使用运算符连接起来的符合java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序依次是:增量和减量运算、算数运算、比较运算、逻辑运算、赋值运算。如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。

2、数据类型的转换

类型转换是将一个值从一种类型更改为另一种个类型的过程。数据类型转换有两种方式,即隐式转换和显式转换。

2.1隐式类型转换

从低级类型想高级类型的转换,无需做任何操作,系统将自动执行,这种类型的转换称为隐式转换。下列数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高排列顺序为byte

public class DataTypeConversion_Implicit {
    /*
     * 隐式数据类型的转换;
     */
    public static void main(String[] args) {
        int a = 50;
        float b = a ;
        System.out.println(b);
    }

}
2.2显式类型换转

把高精度的变量值赋值给低精度的变量时,必须使用显式类型转换运算(又称为强制类型转换)。

public class DataTypeConversion_Explicit {
    /*
     * 显式类型转换;
     */
    public static void mian(String[] args) {
        int a = (int)45.56;
        long b = (long)563.5F;
        System.out.println(a);
        System.out.println(b);
    }

}

备注:当执行显式类型转换时可能导致精度损失。只要是boolean类型意外的其它类型之间的转换,全部都能以显式类型转换的方法达到。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值