运算符小技巧
一:.算术运算符
* 算术运算符:
* +,-,*,/的基本使用
单纯的算数运算从左到右开始计算。
---------------------------------------------------
* %:取余运算符。
得到的是两个相除数据的余数。
余数的正负取决于被余数的正负。
---------------------------------------------------
* /:除法运算符。
得到是两个相除数据的商。
除数被除数中有浮点型的结果为浮点数。
* %:判断两个数据是否整除。
---------------------------------------------------
* 字符参与加法操作。
拿字符在计算机中底层存储对应的数据值来参与运算的。(即字符在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);
|
|