专业的JAVA编程教程与资源

网站首页 > java教程 正文

零基础学习JAVA-04.运算符(零基础学java全集)

temp10 2024-10-30 04:10:25 java教程 15 ℃ 0 评论

算术运算符

运算符含义+加法-减法*乘法/除法%取余++自增加1--自减减1

零基础学习JAVA-04.运算符(零基础学java全集)

    public static void main(String[] args) {
        
        int a = 8;
        int b = 2;
        //加法,如果不加括号加号代表的是连接符
        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));
        //自增
        System.out.println("a++="+(a++));
        //自减
        System.out.println("b--="+(b--));
        
        //自增和自减分为前增(减)和后增(减)
        //前增(减)表示先增(减)然后再进行表达式运算
        a = 8;
        b = 2;
        int x = a+++b;
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("x:"+x);
        //后增(减)表示先表达式运算再增(减)
        a = 8;
        b = 2;
        int y = a+b++;
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("y:"+y);
        
        //如果出现变量类型不一致的情况下结果会自动类型转换
        //转换的顺序为 byte -> short -> int -> long -> float -> double
        int c = 2;
        long d = 3L;
        //这种可以
        long e = c+d;
        //这个会报错
        //int f = c+d;
        
        //算术符优先级是从左到右
        //乘除>取余>加减
        float f = 1+2+2*3/2+-4/2+10/2%3;
        System.out.println("优先级运算符的结果:"+f);
    }



关系运算符

关系运算符表示这个表达式成立或者不成立,用来执行想要执行的代码。除特殊情况下,比较的两个变量类型一定要一致,否则会出现不想要的结果

运算符含义==表示两个变量相等时要做的事!=表示两个变量不等式要做的事>表示左变量大于右变量要做的事<表示左变量小于右变量要做的事>=表示左变量大于等于右变量要做的事<=表示左变量小于等于右变量要左的事

    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        if(a == b){
            System.out.println("变量a等于变量b");
        }else{
            System.out.println("变量a不等于变量b");
        }
        if(a != b){
            System.out.println("变量a不等于变量b");
        }else{
            System.out.println("变量a等于变量b");
        }
        if(a > b){
            System.out.println("变量a大于变量b");
        }else{
            System.out.println("变量a不大于变量b");
        }
        if(a < b){
            System.out.println("变量a小于变量b");
        }else{
            System.out.println("变量a不小于变量b");
        }
        if(a >= b){
            System.out.println("变量a大于等于变量b");
        }else{
            System.out.println("变量a小于变量b");
        }
        if(a <= b){
            System.out.println("变量a小于等于变量b");
        }else{
            System.out.println("变量a大于变量b");
        }
    }



位运算符

位运算主要用于二进制数字操作。

运算符含义&位与操作,两个数字的相对应位都是1的时候才是1|位或操作,两个数字的相对应位有一个是1的时候就是1^位非操作,两个数字的相对应位相同则位0,否则为1~位取反操作,位取反0变1,1变0<<位左移操作,右面的位补0>>位右移操作,如果符号位为0,则左面的位补0,如果符号位为1,则左面补1>>>位右移操作,忽略符号位,左面的位补0

这个实例需要引入guava,建议使用maven

package lesson1;
?
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
?
/**
 * @author by 老IT
 * @Classname BitOperator
 * @Description TODO
 * @Date 2020 2020/7/4 15:35
 */
public class BitOperator {
    /**
     * 主方法
     * @param args
     */
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println("变量a的二进制字符串显示:"+display(a));
        System.out.println("变量b的二进制字符串显示:"+display(b));
        System.out.println("变量a&b的值:"+(a&b));
        System.out.println("变量a&b的二进制字符串显示:"+display(a&b));
        System.out.println("变量a|b的值:"+(a|b));
        System.out.println("变量a|b的二进制字符串显示:"+display(a|b));
        System.out.println("变量a^b的值:"+(a^b));
        System.out.println("变量a^b的二进制字符串显示:"+display(a^b));
        System.out.println("变量~a的值:"+(~a));
        System.out.println("变量~a的二进制字符串显示:"+display(~a));
        System.out.println("变量a的左移2位的值:"+(a<<2));
        System.out.println("变量a的左移2位的二进制字符串显示:"+display(a<<2));
        System.out.println("变量b的左移1位的值:"+(b>>1));
        System.out.println("变量b的左移1位的二进制字符串显示:"+display(b>>1));
        int c = -2;
        System.out.println("变量c的二进制字符串显示:"+display(c));
        System.out.println("变量c>>1的值:"+(c>>1));
        System.out.println("变量c>>1的二进制字符串显示:"+display(c>>1));
        System.out.println("变量c>>>1的值:"+(c>>>1));
        System.out.println("变量c>>>1的二进制字符串显示:"+display(c>>>1));
    }
?
    /**
     * 显示int的二进制表示方式
     * @param param
     * @return
     */
    private static String display(int param){
        String value = Integer.toBinaryString(param);
        String v = Strings.padStart(value,32,'0');
        Iterable<String> iterable = Splitter.fixedLength(4).omitEmptyStrings().split(v);
        return Joiner.on(" ").join(iterable);
    }
}
?



逻辑运算符

运算符含义&&逻辑与运算符,当左右值或者两边的表达式都为真的时候,则为真|逻辑或运算符,当左右值或者表达式有一个为真时,则为真!逻辑非运算符,当值或者表达式为真时,则为假,当值或者表达式为假时,则为真

    public static void main(String[] args) {
        boolean a = true;
        boolean b =false;
        System.out.println("a&&b的值为:"+(a&&b));
        System.out.println("a|b的值为:"+(a|b));
        System.out.println("!a的值为:"+(!a));
    }



赋值运算符

运算符含义=等于运算符+=左侧的变量值等于左侧变量的值加上右侧变量的值-=左侧的变量值等于左侧变量的值减去右侧变量的值*=左侧的变量值等于左侧变量的值乘以右侧变量的值/=左侧的变量值等于左侧变量的值除以右侧变量的值%=左侧的变量值等于左侧变量的值取余右侧变量的值<<=左侧的变量值等于左侧变量的值左移右侧变量的值>>=左侧的变量值等于左侧变量的值右移右侧变量的值&=左侧的变量值等于左侧变量的值按位与右侧变量的值^=左侧的变量值等于左侧变量的值按位非右侧变量的值|=左侧的变量值等于左侧变量的值按位或右侧变量的值

    public static void main(String[] args) {
        int a = 6;
        int b = 2;
        int c = a + b;
        System.out.println("c的值为:"+c);
        a = 6;
        System.out.println("a+=b的值为:"+(a+=b));
        a = 6;
        System.out.println("a-=b的值为:"+(a-=b));
        a = 6;
        System.out.println("a*=b的值为:"+(a*=b));
        a = 6;
        System.out.println("a/=b的值为:"+(a/=b));
        a = 6;
        System.out.println("a%=b的值为:"+(a%=b));
        a = 6;
        System.out.println("a<<=b的值为:"+(a<<=b));
        a = 6;
        System.out.println("a>>=b的值为:"+(a>>=b));
        a = 6;
        System.out.println("a&=b的值为:"+(a&=b));
        a = 6;
        System.out.println("a^=b的值为:"+(a^=b));
        a = 6;
        System.out.println("a|=b的值为:"+(a|=b));
    }



三元运算符 & instanceof

三元表达式 变量 = 真假表达式 ?表达式为真时的值:默认的值

instanceof 用于类型判断

    public static void main(String[] args) {
        int a = 1;
        String c = a == 2 ? "真":"假";
        System.out.println("三元表达式的值:"+c);
        //整数包装类
        Integer d = 0;
        System.out.println("instanceof的值:"+ (d instanceof Integer));
    }



运算符优先级

优先级按照表格的从上至下优先级越来越低

引用菜鸟教程里的数据



本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表