三元运算符运算(Day02)


运算符:用来对常量或者变量连接的符号,称为运算符。
表达式:用运算符连接起来的整个式子成为表达式。比如:a+10,10+20

运算符有以下五种:
1、算术运算符
2、赋值运算符
3、关系运算符
4、逻辑运算符
5、三元运算符

算术运算符:+ - * /
解释:就是连接常量变量做基本的数学运算

/ (除号):如果两个整数相除,得到的结果就是一个整数,取整数部分。
 规律:如果两个整数相除,左边的数小于右边的数,那么得到的结果就是0。

只要有一边是一个小数,那么得到的结果就是小数。

注意点:
浮点类型(小数类型):在进行运算的时候有可能丢失精度。(后期可以处理精度丢失的问题)


取余(取模):%
解释:一般用于两个整数的运算,用来判断两个整数是否能够整除
得到的结果是:两个整数相除,取余数部分
规律:如果符号左边的数小于右边的数,那么得到的结果就是左边的数。
用处:判断两个数是否能够整除

public class Demo05SuanShuYunSuanFu {
    public static void main(String[] args) {
        //+ 加号
        int a = 10;
        int b = 20;
        System.out.println(10 + 30);
        System.out.println(a + b);
        System.out.println(a + 100);
        
        //- 减号
        System.out.println(10 - 30);
        System.out.println(a - b);
        System.out.println(a - 100);
        
        //* 乘号
        System.out.println(10 * 30);
        System.out.println(a * b);
        System.out.println(a * 100);
        System.out.println("================");
        // / 除号:如果两个整数相除,得到的结果就是一个整数,取整数部分
        System.out.println(3/5);//0
        System.out.println(5/3);//1
        //要想得到的数是小数,只要有一边的数是小数,那么得到的结果就是小数
        System.out.println(3.0/5);//0.6
        System.out.println(3/5.0);//0.6
        System.out.println(5.0/3);//1.6666666666666667    
        
        //取余 (取模)%
        System.out.println(3%5);
        System.out.println(5%8);
    }
}
package cn.heima.java;
/**
 * +的多种用法
 * 1、数字相加
 * 2、字符相加:拿字符在计算机底层储存对应的数据值来参与运算的
 * 3、字符串相加:这里的+其实不是加法,而是字符串连接符;
 *        字符串和其他类型的数据作拼接,结果是字符串类型的。
 */
public class Demo06Perator {
    public static void main(String[] args) {
        //1、整数的加法
        int a = 10;
        int b = 20;
        System.out.println(a+b);
        System.out.println("--------------");
        //2、字符参与加法操作
        char c = '0';
        char c2= 'a';
        System.out.println(a+c);//10+48=58
        System.out.println(a+c2);//10+97=107
        System.out.println(c+c2);//48+97=145
        System.out.println("---------------");
        //3、字符串参与加法操作
        System.out.println("hello"+a);//hello10
        System.out.println("hello"+a+b);//"hello"+10="hello10",然后在和b进行拼接
        System.out.println(a+b+"hello");//从左到右依次计算,先求和,再连接
        
    }    
}

++,--运算

package cn.heima.java;
/**
 * ++,--运算符:对变量做加1或者减1操作
 * ++,--既可以写在变量的后面也可以写在变量的前面
 * 单独使用:
 *         ++,--无论时写在变量的前面还是后面,结果是一样的
 * 和其他操作混合使用:
 *         如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--
 *         如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作*/
public class Demo07Operator {
    public static void main(String[] args) {
        int  a = 10;
        System.out.println("a:" + a);//a:10
        //单独使用
//        ++a;
//        System.out.println("a:"+ a);//a:11
//        a++;
//        System.out.println("a:" + a);//a:12
        //参与操作使用
        //int b = a++;
        int b = ++a;
        System.out.println("a:" + a);
        System.out.println("b" + b);//11
        
    }
}

赋值运算符:

package cn.heima.java;
/**
 * 基本的赋值运算符:=
 * 扩展的赋值运算符:+=、-=、*=、/=、%=
 *     把左边和右边的结果赋值给左边
 *     注意:左边不能是常量
 *     隐含了一个强制类型转换*/
public class Demo08Operator {
    public static void main(String[] args) {
        //把10赋值给int类型的变量a
        int a = 10;
        //+=把左边和右边的数据进行运算,最后赋值给左边,左边的只能时变量
        a += 10; //相当于a = a + 10
        System.out.println("a:" + a);//20
        System.out.println("---------------");
        
        short s = 10;
        //s += 20;//相当于s = s + 20;
        s = (short)(s + 20);
        System.out.println("s:" + s);
        
        int i = 10;
        i *= 10;
        System.out.println("i=" + i);
        
        int b = 20;
        b /= 10;//2 相当于b = b / 10
        System.out.println("b=" + b);
        
        int c = 6;
        c %= 7;//c = c % 7
        System.out.println(c);
    }
}

关系运算符:

package cn.heima.java;
/**
 * 关系运算符
 * ==,!=,>,<,>=,<=
 * 关系运算符的结果都是boolean型,也就是要么时true,要么是false
 * 注意事项:运算符"=="不能误写成"="
 *
 */
public class Demo09Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;
        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println("--------------");
        System.out.println(a != b);
        System.out.println(a != c);
        System.out.println("--------------");
        System.out.println(a > b);
        System.out.println(a > c);
        System.out.println("--------------");
        System.out.println(a >= b);
        System.out.println(a >= c);
        
        int x = 3;
        int y = 4;
        System.out.println(x == y);
        System.out.println(x = y);//把y赋值给x,把x的值输出 //4
        boolean bb = (x == y);
        System.out.println(bb);
        //报错:Type mismatch: cannot convert from int to boolean
    //    boolean cc = (x = y);//类型不匹配:不能从int转换为boolean
        int cc = (x = y);
        System.out.println(cc);
    }
}

逻辑运算符:

package cn.heima.java;
/**
 * 逻辑运算符:
 *     作用:逻辑运算符用于连接布尔型表达式
 *            在Java中不可以写成3<x<6,应该写成 x>3 && x<6
 *     基本使用:&(与),|(或),^(异或),!(非)
 *         与(&):有false则false
 *         或(|):有true则true
 *         异或(^):相同则false,不同则true
 *         非(!):true则false,false则true
 *
 */
public class Demo10Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        System.out.println((a>b)&(a>c));//false & false
        System.out.println((a<b)&(a>c));//true & false
        System.out.println((a>b)&(a<c));//false & true
        System.out.println((a<b)&(a<c));//true & true
        System.out.println("-----------------------------");
        System.out.println((a>b) | (a>c));//false & false
        System.out.println((a<b) | (a>c));//true & false
        System.out.println((a>b) | (a<c));//false & true
        System.out.println((a<b) | (a<c));//true & true
        System.out.println("==============================");
        System.out.println((a>b) ^ (a>c));// false ^ false
        System.out.println((a<b) ^ (a>c)); // true ^ false
        System.out.println((a>b) ^ (a<c)); // false ^ true
        System.out.println((a<b) ^ (a<c)); // true ^ true
        System.out.println("---------------");
        System.out.println((a>b)); // false
        System.out.println(!(a>b)); // !false
        System.out.println(!!(a>b)); // !!false

    }
}

三元运算符练习:

package cn.heima.java;
/**
 * 三元运算符
 * 基本使用:
 *         格式:(关系表达式)?表达式1:表达式2;
 *     如果条件为true,运算后的结果是表达式1;
 *     如果条件为false,运算后的结果是表达式2;
 * 示例:获取两个数中大数
 *     int x = 3,y = 4,z;
 *     z=(x>y)?x:y; //z变量存储的就是两个数的大数
 *
 */
public class Demo11Operator {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = (a>b) ? a : b;
        System.out.println("c="+ c);    
        
    /*
     * 练习:比较两个数据是否相同
     */
        int aa = 20;
        int bb = 20;
        boolean flag = (aa==bb)?true : false;
        //boolean flag1 = (a == b); //false 正确答案应该是true
        System.out.println(flag);
        
    /*
     * 获取三个整数的最大值
     */
        //定义三个int类型的变量
        int x = 10;
        int y = 20;
        int z = 30;
        //先比较两个整数的大值
        int temp = ((x > y)? x:y);
        int max = ((temp > z)?temp:z);
        System.out.println("max:"+ max);
    }
}
原文地址:https://www.cnblogs.com/Haidrens/p/10003461.html