上一期将的是java的八大基础类型:int byte short long float double char boolean及这八大基础类型的使用
这一期讲解的是java中运算符的使用,你所知道的运算符又有哪些呢,他们的使用方法你可了解,下面开始今天的内容:
运算符
1、概述
逻辑运算符:结果是boolean类型
& -- 是并且的关系(单与)
1 & 2 想要得到最终结果是true,对于1和2的要求是:必须都得是true
&& -- 是并且的关系(双与/短路与)
1 && 2 ,高效,当1结果是false时,2会被短路
| -- 是或者的关系
1 | 2 想要得到最终结果是true,对于1和2的要求是:1或者2有一个是true就可以
|| -- 是或者的关系(双或/短路或)
1 || 2 ,高效,当1的结果是true时,2会短路
2、练习1:平年闰年
输入年号,判断是否是闰年。
两个条件:
1、能被4整除,并且不能被100整除
2、能被400整除
package cn.qile.basic;
import java.util.Scanner;
public class Test4_RunNian {
public static void main(String[] args) {
//1、接收用户输入的年号
System.out.print("请输入年份:");
int year = new Scanner(System.in).nextInt();
//2、判断year是平年还是闰年
String desc = "平年";//设置默认值就是平年
//if(判断条件){ 满足条件的代码 }
// 1、能被4整除,并且不能被100整除
if (year % 4 == 0) { //能被4整除
if (year % 100 != 0) { //不能被100整除
desc = "闰年"; //修改desc的值为闰年
}
}
// 2、能被400整除
if (year % 400 == 0) {
desc = "闰年"; //修改desc的值为闰年
}
// System.out.println("2000年是闰年");
//+拼接字符串
System.out.println(year + "年是" + desc);
}
}
简化代码
通过 || -- 是或者的关系(双或/短路或)
-- 1 || 2 ,高效,当1的结果是true时,2会短路
//if((小判断条件1 && 小判断条件2) || 大判断条件2){ 修改desc的值为闰年 }
if(( year%4==0 && year%100 != 0 ) || year%400 == 0 ){
desc="闰年";
}
3、练习2:自增自减
package cn.qile.basic;
//测试自增++自减--
public class Test5_ZiZeng {
public static void main(String[] args) {
//符号在前,先变化后使用
//符号在后,先使用再变化
int a = 1;
System.out.println(a++);//1
int b = 1;
System.out.println(++b);//2
System.out.println(++b+a+b++);//8,3+2+3
//TODO 自减
int m = 1;
System.out.println(m--);//1
int n = 1;
System.out.println(--n);//0
System.out.println(--m-n-m--);//0,-1-0-(-1)
}
}
4、三元运算
package cn.qile.basic;
import java.util.Scanner;
//三元运算符
public class Test6_Max {
public static void main(String[] args) {
//两个数里的大值
int a = 10;
int b = 6;
//三元 1 ? 2 : 3
//最终得到的是2还是3,要看1的结果,如果1成立得到2的结果,如果1不成立,得到3
int max = a > b ? a : b ;
System.out.println(max);
//接收键盘输入的,三个数,取出最大值
System.out.print("请输入 m =");
int m = new Scanner(System.in).nextInt();
System.out.print("请输入 n =");
int n = new Scanner(System.in).nextInt();
System.out.print("请输入 o =");
int o = new Scanner(System.in).nextInt();
//1、定义变量记录最大值,拿着m和n比,比出来的结果交给变量保存
int result = m > n ? m : n;
//2、拿着result和o比,得到的结果才是最大值交给maxValue保存
// result = result > o ? result : o ;
int maxValue = result > o ? result : o ;
System.out.println(maxValue);
//TODO 优化
//拿着m和n比 ? m和o比 : n和o比
int result2 = m > n ? (m > o ? m : o ) : (n > o ? n : o );
System.out.println(result2);
}
}