赋值运算符
image.pngimage.png
//赋值运算符
public class AssigningOperatorDemo
{
public static void main(String[] args)
{
//功能就是给变量赋值
String name;
name = "Hello";//赋值
int age = 17;//声明一个int类型变量age,并设置初始值为17
System.out.println("-------------------");
/*
+= 赋值符号 中间不能打空格,自带隐式类型转换.
int a = 5
a += 10 //等于 a = (int)(a + 10)
*/
int a = 5;
a += 10;
System.out.println(a);//15
short s = 5;
s = (short)(s + 5);
System.out.println(s);
}
}
比较运算符
image.png三元运算符
image.png//三元运算符
public class TernaryOperatorDemo
{
public static void main(String[] args)
{ //需求:现在给一个小数,需要求出其四舍五入之后的结果,怎么完成该功能?
/*
1.先获取3.49的整数部分
2.再获取3.49的小数部分
3.最后再把3.49 的小数部分进行比较
if 小数 >= 0.5 -- 3+1
if 小数 < 0.5 3
三元运算符,又称作三目运算符;
数据类型 变量 = boolean表达式 ? 值1 : 值2;
如果boolean表达式结果为true,三元表达式结果为值1
如果boolean表达式结果为false,三元表达式结果为值2
*/
double num = 3.49;//声明一个小数类型的变量num
int i = (int)num;//将num强制转换为整数类型,获取3.49的整数部分
double d = num - i;//获取3.49的小数部分,3.49 - i = 0.49
int v = d >= 0.5 ? i + 1 : i;
System.out.println(v);
//两个数最大值/最小值
int a = 1234;
int b = 125;
int c = a >= b ? a : b;
System.out.println(c);//打印比较出的最大值
int d1 = a < b ? a : b;
System.out.println(d1);//打印比较出的最小值
//判断一个数的是奇数还是偶数
int num1 = 11;
String ST = num1 % 2 == 0 ? "偶数" : "奇数";
System.out.println(ST);
}
}
三元运算符在分页业务逻辑中使用
public class PageDemo
{
public static void main(String[] args)
{ /*
需求:给出一共有79条数据,要求每一页最多10条数据.
计算一共多少页
*/
//总页数
int totalcount = 80;//声明一个整数类型的变量totalcount,并且设置一个初始值79;
int pagesize = 10;//声明一个整数类型的变量pagesize,并且设置一个初始值10;
/*
三元运算的语法,x ? y : z
x : 判断totalcount % pagesize 是否能整除
y : 如果能整除,就返回整除的数据,给到变量a
z : 如果不能整除,就返回不能整除的数据+1,再给到变量a
*/
int a = totalcount % pagesize == 0 ? totalcount / pagesize : totalcount / pagesize + 1;
System.out.println(a);
//上一页
//声明一个当前页变量
int CurrentPage = 1;
/*
三元运算语法 x ? y : z
当前页为1时需要进行判断,防止页数为0.
x 判断CurrentPage - 1 是否大于1 ,如果大于就返回y的数据,如果CurrentPage<1,就返回z的数据
*/
int y = CurrentPage - 1;
int z = CurrentPage;
int PreviousPage = CurrentPage - 1 > 1 ? y : z;
System.out.println(PreviousPage);
//下一页
int NextPage = CurrentPage + 1 <= totalcount ? CurrentPage + 1 : CurrentPage;
System.out.println(NextPage);
}
}
逻辑运算符
image.pngimage.png
//逻辑运算符
public class LogicalOperatorDemo
{
/*
与:
boolean ret = boolean表达式A 与 boolean表达式B
当两个boolean表达式都为true时,结果才是true,其他情况全是false
&:位与
&&:短路与
&和&&的区别:
&:都要进行判断,如果A表达式为false,还要再去判断B表达式,最后返回false
&&:如果A表达式为false,不会再去判断B表达式,直接返回false
总结:短路与效率高
或:
boolean ret = boolean表达式A 或 boolean表达式B
当两个boolean表达式其中一个为false时,结果才是false
只要A表达式为true,或者B表达式为true时,ret都为ture
|:即使A表达式返回true,还是会执行B表达式,无论B表达式返回什么结果,结果都为true
||:
短路或
只要A表达式返回true,就不再执行B表达式.
总结:短路或效率高
*/
public static void main(String[] args)
{
System.out.println(true & true);
System.out.println(true & false);
System.out.println(false & true);
System.out.println(false & false);
System.out.println("-------------");
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && true);
System.out.println(false && false);
//System.out.println(false & (1 / 0 == 1));// ArithmeticException: / by zero 证明执行了(1 / 0 ==1)
System.out.println(false && (1 / 0 == 1));//false 证明(1 / 0 ==1) 没有执行
System.out.println("-------------");
System.out.println(true |true);//true
System.out.println(true |false);//true
System.out.println(false| true);//true
System.out.println(false| false);//false
System.out.println("-------------");
System.out.println(true ||true);//true
System.out.println(true ||false);//true
System.out.println(false|| true);//true
System.out.println(false|| false);//false
//System.out.println(false | (1 / 0 == 1));// ArithmeticException: / by zero 证明执行了(1 / 0 ==1)
System.out.println(true || (1 / 0 == 1));//true 证明(1 / 0 ==1) 没有执行
System.out.println("-------------");
}
}
网友评论