一.赋值运算符
赋值运算符就是为变量赋值的符号
运算符 |
运算规则 |
范例 |
结果 |
= |
赋值 |
int a=2 |
2 |
+=
|
加后赋值 |
int a=2,a+=2,(a=a+2) |
4 |
-= |
减后赋值 |
int a=2,a-=2 (a=a-2) |
0 |
*= |
乘后赋值 |
int a=2,a*=2 (a=a*2) |
4 |
/= |
整除后赋值 |
int a=2,a/=2 |
1 |
%= |
取模后赋值 |
int a=2,a%=2 |
0 |
class Demo06
{
public static void main(String[] args)
{
//+=
int a=1;
a+=2;//a=a+2;
System.out.println(a);//3
//-=
a-=1;//a=a-1;
System.out.println(a);//2
a*=3;
System.out.println(a);//6
a/=4;//a=a/4=6/4=1;
System.out.println(a);//1
a%=2;
System.out.println(a);//1
}
}
注意:赋值运算符左边必须是变量
二.比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。
运算符 |
运算规则 |
范例 |
结果 |
== |
相等于 |
4==3 |
False |
!= |
不等于 |
4!=3 |
True |
< |
小于 |
4<3 |
False |
> |
大于 |
4>3 |
True |
<= |
小于等于 |
4<=3 |
False |
>= |
大于等于 |
4>=3 |
True |
这里需要注意一下:
赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。
int a = 3;
int b = 4;
System.out.println( a=b );
System.out.println( a==b );
上面代码输出的结果第一个值为4,第二个值为true。
三.逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false。
运算符 |
运算规则 |
范例 |
结果 |
& |
与 |
false&true |
False |
| |
或 |
false|true |
True |
^ |
异或 |
true^flase |
True |
! |
非 |
!true |
Flase |
&& |
短路与 |
false&&true |
False |
|| |
短路或 |
false||true |
True |
逻辑运算符的常规使用方式:
l逻辑运算符通常连接两个其他表达式计算后的布尔值结果
当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
例:
boolean b = 100>10;
boolean b2 = false;
System.out.println(b&&b2); // 打印结果为 false
System.out.println(b||b2); //打印结果为 true
System.out.println(!b2); //打印结果为 true
System.out.println(b && 100>10); //打印结果为 true,
运算符的结果规律:
短路与&&:参与运算的两边数据,有false,则运算结果为false;
短路或||:参与运算的两边数据,有true,则运算结果为true;
逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。
四.三目运算符
格式:
(条件表达式)?表达式1:表达式2;
三元运算符运算规则:
先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2
例:
class Demo08
{
public static void main(String[] args)
{
int a=2;
int b=3;
int c=1;
//求a,b最大值
//int max=(a>b)?a:b;
//System.out.println(max);
int max=(a>b?a:b)>c?(a>b?a:b):c;
System.out.println(max);
//判断男女 如果是0代表女,如果是1代表男
int ssex=0;
String mes=(ssex==1?"男":"女");
System.out.println(mes);
}
}
引用数据类型:类
import java.util.Scanner;
class Demo09
{
public static void main(String[] args)
{
//在java中只有两种数据类型:基本数据类型,引用数据类型
//数据类型 变量名=new 数据类型()
Scanner sc=new Scanner(System.in);
//让用户输入一个整数
int num=sc.nextInt();//存在返回值,需要接一下,做个定义,一个变量只能接一个值,sc变量可以重复接收
System.out.println("你输入的整数为:"+num);
//让用户输入一个小数
double num2=sc.nextDouble();
System.out.println("你输入的小数为:"+num2);
//让用户输入一个字符串
String num3=sc.next();
System.out.println("你输入的字符串为:"+num3);
}
}
例:(类)
import java.util.Scanner;
class Demo10
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
//让用户输入三个数,求最小值
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
int min=(num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;
System.out.println("最小值是"+min);
//用户输入四个数,求最大值最小值
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
int num4=sc.nextInt();
int max=(num1>num2?num1:num2)>(num3>num4?num3:num4)?(num1>num2?num1:num2):(num3>num4?num3:num4);
int min=(num1<num2?num1:num2)<(num3<num4?num3:num4)?(num1<num2?num1:num2):(num3<num4?num3:num4);
System.out.println("最大值是"+max);
System.out.println("最小值是"+min);
}
}