黑马程序员技术交流社区

标题: 运算符的应用小技巧 [打印本页]

作者: Javaee13期-郑    时间: 2018-4-17 22:46
标题: 运算符的应用小技巧
运算符小技巧
一:.算术运算符
* 算术运算符:
*                 +,-,*,/的基本使用

单纯的算数运算从左到右开始计算。
---------------------------------------------------
* %:取余运算符。
得到的是两个相除数据的余数。
余数的正负取决于被余数的正负。
---------------------------------------------------
* /:除法运算符。
得到是两个相除数据的商。
除数被除数中有浮点型的结果为浮点数。
* %:判断两个数据是否整除。
---------------------------------------------------
* 字符参与加法操作。
拿字符在计算机中底层存储对应的数据值来参与运算的。(即字符在ASCII码所对应的数字)
*                 '0'                48
*                 'a'                97
*                 'A'                65
---------------------------------------------------
*字符串参与加法运算
在有字符串参加的加法运算里:
最后的结果为字符串。
字符串左右两边的加号作为拼接符
System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接
System.out.println(a + b + "hello");
---------------------------------------------------
* ++,--运算符:对变量做加1或者减1的操作。
* ++或者--既可以放在变量的后面,也可以放在变量的前面。
* 单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。
* 参与操作的时候:
*                 如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
*                 如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
x=4;
int y = (x*10)+(x++);//y = 44



二:赋值运算符
int a=10;
a+=3;//a=(int)(a+3)

赋值运算符:
变量 赋值运算符 数据
        基本的赋值运算符:=
        扩展的赋值运算符:+=,-=,*=,/=,

        int a = 10;//把10赋值给int类型的变量a

三:关系运算符:
                运行必定有结果;
                >,>=,<,<=,!=,==
                都有返回值,只有真假两种
               
                其结果是boolean类型。

---------------------------------------------------
注意事项:
int a = 10;
int b = 20;
int c = 10;

System.out.println(a == c);// true
System.out.println(a = c);//20
--




四.逻辑运算符---------------------------------------------
        +=:符号左边的和右边的数据做+,然后赋值给左边的变量。
        int a = 10;
        a += 10;// 相当于a = a + 10(但是不相等)
        short a = 10;
        a += 10;//相当于a =(short)(a+10);
注意:+=符号中包含强制转型,转换为左边变量的类型。

逻辑运算符:
用于比较关系表达式

&,|,^,!
        无短路效果,两边都执行
---------------------------------------------------
&&,||
作用等同于  &,|
&&:
        有短路效果,当左边为false时,右边不执行。

||:
        有短路效果,当左边为true时,右边不执行。
---------------------------------------------------
&:
        全真为真,有假则假。
        有false则false。
|:
        有真则真,全假为假。
        有true则true。

& 和 | 互为相反。

^:
        相同则false,不同则为true。
!:
        取反。
        true则false,false则true。

三元运算符:布尔类型的表达式?表达式1:表达式2;

执行流程:
        A:计算关系表达式的值,看值是true还是false
        B:如果是true,表达式1则是结果
                如果是false,表达式2就是结果。

                int a = 10;
                int b = 20;
                int c = (a > b) ? a : b;
                System.out.println("c:" + c);
==========================
                // 定义三个int类型的变量
                int a = 10;
                int b = 30;
                int c = 20;
                // 先比较两个整数的大值
                int temp = ((a > b) ? a : b);
                int max = ((temp > c) ? temp : c);
                System.out.println("max:" + max);


键盘录入:
Scanner sc=new Scanner(System.in);
int a= sc.nextInt();

使用步骤:
        A:导包
                import java.util.Scanner
                在一个类中:package>import >class
        B:创建键盘录入对象
                Scanner sc = new Scanner(System.in);
        C:接收数据
                int i = sc.nextInt();
               

* 键盘录入三个数据,获取这三个数据中的最大值
// 创建对象
                Scanner sc = new Scanner(System.in);

                // 接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();

                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();

                System.out.println("请输入第三个数据:");
                int c = sc.nextInt();

                // 如何获取三个数据的最大值
                int temp = (a > b ? a : b);
                int max = (temp > c ? temp : c);

                System.out.println("max:" + max);

作者: cj1234    时间: 2018-4-18 10:16
这是的每日笔记嘛?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2