Day2
运算符
一、算数运算符
+ - * / %
用“+”举例说明:
(1) 运算符可用于变量,例如:
int num = 10;
int num1 = 20;
System.out.println(num + num1);
输出结果为:30
(2)加号作用在字符串作用就不是累加,而是连接,例如:
String str = “123”;
System.out.println(str + 10);// 结果是12310,不是133
System.out.println(str + 10.10);// 结果是12310.1
System.out.println(str + true);// 结果是123true
(3)如果小数和整数相加,最终结果是小数,例如
int num2 = 12;
double d = 1.0;
System.out.println(num2 + d);// 结果是13.0
(4)自增和自减
1.自增运算符 ++ 就是在原有的基础上,累加1(涨一个)
2.自减运算符 – 就是在原有的基础上,累减一(减一个数)
(5) 格式:
可以在变量前面++ ++num
可以在变量后面++ num++
(6) ++在前在后有区别吗?
1.如果单独使用的话,没有区别
2.如果混合使用是有区别的
(1)如果是后++,先使用变量的值,然后进行自增
(2)如果是前++,先自增,然后在再使用变量的值
二、赋值运算符
符号:=
扩展赋值运算符:+=,-=,=,/=,%=
(1) =:不是相等的意思,而是把右侧的值赋给左侧的变量,比如
int a=10;
+=:a=a+b可以简写成a+=b;
-=,=,/=,%=与+=运算方式一样
三、比较运算符(关系运算符)
== ,!=,>,<<>=,<=
比较运算符:比较两个变量之间的关系
比较后只能是boolean类型,只能是true或者是false,例如:
* public class Demo4 {
* public static void main(String[] args) {
* int a=10;
* int b=250;
* System.out.println(a==b);
* }
* }
结果为false
四、逻辑运算符
- 1.&(并且) 所有的条件都为true,则为true,如果有一个是false,就为false
- 2.|(或者) 只要有一个条件为true,就为true,如果结果都是false,就为false
*3.^(异或) 相同为false,不同为true - 4.!(非) 本来是false就变成true,本来是true就变成了false
*5.&&(短路与)和||(短路或),如果左侧已经判断最终结果,后面的判断
不会再执行
★★6.★★&和&&的区别 - &会执行完所有判断语句**
- &&执行判断语句时,一旦可以知道最终结果,就停止执行后面的判断语句
例如: - package com.java;
- import java.nio.channels.AsynchronousServerSocketChannel;
*public class Demo5 {
*public static void main(String[] args) {- System.out.println("&和&&区别");
*int num=10;
*System.out.println(3>4 & ++num>10);//false
*System.out.println(num);//单&会把所有判断条件执行完,所以执行了 -
++num,num=11
** }*int num1=10; *System.out.println(3>4 && ++num1>10);//false *System.out.println(num1);//双&&,如果左侧已经可以判断执行结果,就不 * 会再执行后面的 * //判断条件所以不会执行++num1,故num1=10 * }
五、位运算符
六、三元运算符
格式:(条件表达式)?表达式1:表达式2
如果条件为true,运算后结果是表达式1
如果条件为false,运算后结果是表达式2
例如:定义两个整数a和b,判断a是否大于b,如果大于b,输出a大于b,
否则输出a小于b
* package com.java;
* public class Demo6 {
* public static void main(String[] args) {
* int a=100;
* int b=200;
* String result=(a>b)?“a大于b”:“a小于b”;
* System.out.println(result);
* }
* } - System.out.println("&和&&区别");