运算符
算数运算符>逻辑运算>关系运算符>!
1、算数运算符
符号:+、-、*、/、%、++、--
①%:取余、取模,余数为0即为整除(整数取余:小除大取小)
②++(自增)、--(自减):
单独使用(单独在一行++时)时前后都一样(a=a+1);
被使用时在前在后不一样(a++值为a,++a值为a+1;a--值为a,--a值为a-1)---输出算使用,a++在赋值输出后,还会自增
StringBufferint a=5,b=5;a--;--b;
System.out.println(a); System.out.println(b);//a、b值为4
int c=a--,d=--b;
System.out.println(c);//4,先赋值后减
System.out.println(d);//3,先减后赋值
2、关系运算符(由一个条件控制)
符号:>、<、>=、<=、==、!=
关系运算结果为boolean型,关系成立为true,关系不成立为false
int a=5,b=10,c=5;boolean b1=a>b;
System.out.println(b1);//false
System.out.println(a%2==0);//false 取余1!=0
System.out.println(a++>5);//false,a++被使用值为5 结果为false,a自增1为6
System.out.println(++a>5);//true,++a被使用值为7 结果为true
3、逻辑运算符(由多个条件控制)
符号:&&、||、!
逻辑运算结果为boolean型,建立在关系运算的基础上
①&&:逻辑与(并且),两边都为真结果为true,两边都为假结果为false(见false为false)
——短路与:当第一个条件为false时,会发生短路
②||:逻辑或(或者),只要有一边为真结果为true,两边都为假结果为false(见true为true)
——短路或:当第一个条件为true时,会发生短路
③!:逻辑非(取反),非真即假,非假即真
int a=5,b=10,c=5;
boolean b1= b>=a && b<c; System.out.println(b1); //false
System.out.println(b!=c && b>a);//true
int age =67; System.out.println(age>=18 && age<=80); //true
boolean b1= b>=a || b<c; System.out.println(b1);//true
System.out.println(a==b || b<a);//false
int score=90;System.out.println(score<=0 || score>=100);//成绩不合法
boolean b2=!(a<b);
System.out.println(b2);//false
System.out.println(!(a>b));//true
boolean b3= a>b && c++>2;
System.out.println(b3);//false
System.out.println(c);//5,发生短路,c++不执行不自增
boolean b4=a<b || c++>2;
System.out.println(b4);//true
System.out.println(c);//5,发生短路,c++不执行不自增
4、赋值运算符
①简单赋值运算符:=
②扩展赋值运算符:+=、-=、*=、/=、%= (自带强转功能)
int a=5; a+=10; System.out.println(a);//15,s=s+10
a*=2; System.out.println(a);//30,s=s*2
a/=6; System.out.println(a);//5,s=s/6
面试题
short s=5;
//s=s+10;//编译错误,short=(short)+(int) s=(short)(s+10)
s+=10;//自带强转,相当于s=(short)(a+10)
5、字符串连接运算符
符号:+
①若加号两边都是数字做加法运算,若加号两边出现了字符串,则做字符串连接
char:字符型,单引号,1个字符
string:字符串型,双引号,0 到多个(基本类型小写,非基本类型大写)
int age=20;
String name="w";
System.out.println("大家好,我叫"+name+"我今年"+age+"岁了");//大家好,我叫w,我今年20岁了
②任何类型的数据与字符串相连,结果都会变成字符串类型
System.out.println(10+20+""+30);//3030,30+""---String(三零)---+30
System.out.println(""+10+20+30);//102030,""+10---String(一零)---+(二零三零)
System.out.println(10+20+30+"");//60,60+""---String(六零)
6、条件运算符(三目运算符)
①boolean?数1:数2
整个表达式是有值的,不是数1就是数2
②计算Boolean的值:
若为true,整个表达式的值为数1;若为false,整个表达式的值为数2
int a=5,b=8; int max=a>b?a:b;
System.out.println("max="+max);//max=8
补充:给变量赋值
//赋一个固定值:int a=b+5
//接收用户输入的值:用户名、密码(用户输入的)---Scanner
//随机生成的值------random
Scanner是Java中一个好的零件,具备很多功能,接收用户输入的值是其中一个
import java.util.Scanner;//1.导入一个扫描仪
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);//2.新建一个扫描仪scan
System.out.println("请输入年龄");//输出提示语
int age=scan.nextInt();//3.扫描一个整数并赋值给age(小数scan.nextDouble())
//等待控制台输入后回车,在输出结果
System.out.println("年龄为"+age);
}//三步走
}