运算符
常见的java运算符,包括:算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、字符串连接运算符。
常见的运算符如下表:
算术运算符 | +、-、*、/、%(取模)、++ 、– |
关系运算符- | >、>=、<、<=、==、!= |
逻辑运算符 | &(逻辑与)、(逻辑或)、!(逻辑非)、&&(短路与)、(短路或) |
赋值运算符 | =、+=、-=、*=、/=、%=、^=、&=、 |
位运算符 | &(按位与)、(按位或)、^(按位异或)、~(按位取反) |
条件运算符 | 布尔表达式?表达式 1:表达式 2 (三目) |
字符串连接运算符 | + |
其它运算符 | instanceof、new |
算术运算符
++ 表示自加1
++既可以写在变量前面也可以写在变量后面。
public class yunSuanFu{
public static void main(String[] args){
int m=20;
int n=m++;
System.out.println(n);//20
System.out.println(m);//21
}
}
例如:
int d =60;
System.out.println(++d);//61
//可以拆解为
//int temp = ++d;
//System.out.println(d);//61
关系运算符
所有的关系运算符的运算结果都是布尔类型,不是true就是false,不可能是其他的值。
注意区分:
= :赋值运算符
== :关系运算符,判断是否相等
逻辑运算符
逻辑运算符有:&、|、!、^、&&、||。
逻辑运算符的特点:逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型。
对于逻辑与&来说,只要有一边是false,结果就是false;只有两个都是true,结果才是true。
对于逻辑或| 来说,只要有一边是true,结果就是true。
短路与&&:使用短路与&&的时候,当左边的表达式为false的时候,右边的表达式不会执行,这就是短路。
短路与(&&)和逻辑与(&)的区别:
短路与(&&)和逻辑与(&)实际上最终的运行结果是完全相同的,只不过短路与(&&)会存在短路现象。
从效率来说,短路与(&&)比逻辑与(&)高。
短路或||:短路或(||)和逻辑或(|)实际上最终的运行结果是完全相同的,只不过短路或(||) 会存在短路现象。
赋值运算符
基本赋值运算符:=
执行赋值运算符 “=” 的时候,右边的优先级比较高,所以先执行右边的表达式。
扩展的赋值运算符:+=、-=、*=、/=、%=
在写扩展赋值运算符的时候两个符号之间不能有空格。
使用扩展赋值运算符的时候,永远不会改变运算结果的类型。
例如:
byte x = 100;
x += 1;
从x变量被定义时就是byte类型,那么x变量的类型就永远是byte,不会改变,不论后面是多大的数。
条件运算符
条件运算符属于三目运算符,它的**语法结构是:布尔表达式?表达式1:表达式2。**
它的运行原理是这样的,先判断布尔表达式的结果是true 还是false,如果是 true,则选择表达式1 的结果作为整个表达式的结果,反之则选择表达式 2 的结果作为整个表达式的结果。
//三目运算符最经典的用法
boolean sex = true;
//当布尔变量sex 为true 则结果是'男',反之'女'
char gender = sex ? ' 男 ' : ' 女 '; System.out.println("性别:" + gender); //男
sex = false;
gender = sex ? ' 男 ' : ' 女 ';
System.out.println("性别:" + gender); //女
字符串连接运算符
“+”运算符在java 语言中有两个作用,作用一是对数字进行求和运算,作用二就是字符串连接运算。
当“+”运算的时候,两边的操作数都是数字的话,一定会进行求和运算。
只要其中有一个操作数是字符串类型,那么一定会进行字符串拼接运算,字符串拼接之后的结果还是字符串类型。
需要注意的是,当一个表达式当中有多个“+”,并且在没有小括号的前提下,遵循自左向右的顺序依次执行。
例如:
int a = 10;
int b = 20;
//加号两边都是int 类型,执行求和运算
int c = a + b;
/*以下代码虽然有两个加号,第一个加号在双引号当中,
*不起任何作用,只是一个普通字符串,第二个加号由于
*左边操作数是一个字符串,所以这个加号一定会进行
*字符串连接,连接之后的结果还是一个字符串。*/
System.out.println("a + b = " + c); //a + b = 30
System.out.println(a + " + " + b + " = " + a + b);
怎么接收用户键盘输入
//怎么接收用户键盘输入:
java.util.Scanner s = new java.util.Scanner(System.in);
int i = s.nextInt();
//接收整数
System.out.println("请输入要接收的整数:");
String str = s.next();
//接收字符串
System.out.println("请输入要接收的字符串:");