7.28总结

7.28总结

1.运算符

基本运算符:
	算术运算符
	比较(关系)运算符
	逻辑运算符(使用最多的)
	逻辑单与&
	逻辑单或|
	逻辑异或^
	逻辑非!
后面者两个开发中经常用大的
逻辑双与&&
逻辑双或||
三目运算符(三元运算符)

2.键盘录入数据

Jdk提供的一个类:Scanner 文本扫描器 ,目的为了接收用户在键盘上输入的数据;

3.算数运算符

Jdk提供的一个类:Scanner 文本扫描器 ,目的为了接收用户在键盘上输入的数据;
+,-,*,/,%(:求余数)
        注意事项:
        / 是取整
        % 是求余数的
        扩展的算术运算符:++,--
class OperatorDemo{
    public static void main(String[] args){
//定义两个变量
        int a = 3 ;
        int b = 4 ;
//+,-,*,/,%(模:求余数)
        System.out.println("(a+b):"+(a+b)) ;
        System.out.println("(a-b):"+(a-b)) ;
        System.out.println("(a*b):"+(a*b)) ;
        System.out.println("(a/b):"+(a/b)) ;
//就先出现小数,需要类型提示,分子分母上给乘以double类型的值
        System.out.println("(a/b):"+(a*1.0/b)) ;
        System.out.println("(a%b):"+(a%b)) ;
// /:取整,小数在进行除,无限近似于某个值 jdk--->
// BigDecimal:小数的精确计算
    }
}
扩展的算术运算符
        扩展的算术运算符:++,--
        情况1:单独使用:比较简单
        无论++或者--在数据的前面还是后面,都是对这个变量本身自增1或
        者自减1
        情况2:参与运算使用
        1)如果++或者--在数据的前面,先进行自增或者自减,然后参与运算;
        2)如果++或者--在数据的后面,先运算,然后进行自增或者自减
class OperatorDemo2{
    public static void main(String[] args){
//定义两个变量
        int a = 3 ;
        int b = 4 ;
//先输出 a,b的值
        System.out.println("a:"+a) ;
        System.out.println("b:"+b) ;
        System.out.println("------------------------------")
        ;
//情况1:单独使用
//1)++或者--在数据的前面
//++ a;
//-- b ;
//2)++或者--在数据的后面
        a ++ ;
        b -- ;
        System.out.println("a:"+a) ;
        System.out.println("b:"+b) ;
        System.out.println("--------------情况2:参与运算时--
                        --------------") ;
//在定义两个变量
        int x = 4 ;
        int y = 5 ;
        System.out.println("x:"+x) ;
        System.out.println("y:"+y) ;
        System.out.println("--------------------------------
                        ------------") ; ;
//情况2:参与运算使用
//1)参与运算时,如果++或者--在数据的前面
//int m = ++ x ; // ++x ---->++4 = 5 --->把5赋值
                给m
//int n = -- y ; // --y ---->--5 = 4 --->把4赋值n
//System.out.println("x:"+x) ; //5
//System.out.println("y:"+y) ; //4
//System.out.println("m:"+m) ; // 5
//System.out.println("n:"+n) ; //4
//2)参与运算时,如果++或者--在数据的后面
        int m = x ++ ; // int m = x ; x= 4 --->m =4 , x = 4
        ++--->5
        int n = y -- ;//int n = y ; y = 5 ---->n =5,y=5 --
        ---->4
        System.out.println("x:"+x) ; //5
        System.out.println("y:"+y) ; //4
        System.out.println("m:"+m) ; // 4
        System.out.println("n:"+n) ; // 5
    }

4.赋值运算符的扩展运算符的特点

隐藏了强制类型转换
/*
面试题: 考点(扩展的赋值运算符的特点)
定义一个short类型的变量
short s = 1 ;
1)s = s + 1 ;
2) s += 1 ;
1)和2)代码哪一个编译失败,为什么,哪一个编译成功,为什么?
1)会失败
=右边,s---先提升int,然后进行计算--->结果为int
=左边short,无法接收=右边的int类型
2)不会失败
在扩展的赋值运算符里面,
+=,-=,*=,/=,%= 隐藏了强制类型转换
s += 1 等价于 s = (short)(s + 1);
//改进
int s = 1 ;
s +=1 ; ===等价 s = s +1 ;
*/
class OperatorDemo2{
    public static void main(String[] args){
//定义变量
        short s = 1;
//不兼容的类型: 从int转换到short可能会有损失
//s = s + 1 ;//会编译失败,=右边,s---先提升int,然后进行计算-
        -->结果为int
//=左边short,无法接收=右边的int类型
//强制类型转换
//s = (short)(s+1) ;
//System.out.println(s) ;
        s += 1 ;//等价于 s = (short)(s + 1); 隐藏了强制类型转换
//相当于这个s = (short)(s+1) ;
        System.out.println(s) ;
    }
}

5.比较运算符

这些运算符:无论这些符号连接的表达式是简单的还是复杂,结果应该布尔类
        型,true/false
        表达式:
        这些运算符号--连接起来多个变量
        注意:
        ==不能写成 =
        数学表达式:
        3<=x<=5,在计算机语言中,无法这样书写,需要逻辑符号连接起来
        x>=3 &(逻辑单与) x <=5
class OperatorDemo{
    public static void main(String[] args){
//<,>,<=,>=,==,!=
//定义三个变量
        int a = 3 ;
        int b = 4 ;
        int c = 5 ;
        System.out.println(a>b) ;
        System.out.println(a<b) ;
        System.out.println(a>=b) ;
        System.out.println(a<=b) ;
        System.out.println((a+b)<=(b+c)) ;
        System.out.println(a!=b) ;
        System.out.println(a==c) ;
        System.out.println("---------------------------------") ;
//==不能写成 =
        int m = 10 ;
        int n = 20 ;
//两个数据比较:使用boolean接收
        boolean flag = (m==n) ;
//int无法转换为boolean
//boolean flag = (m=n) ;//将n的值赋值给m,将m的值留下来赋值
        给flag,而flag变量是boolean
        System.out.println(flag) ;
    }
}

6.逻辑运算符

(登录/注册,判断用户是否登录成功了或者判断用户是否注册成功)进行业务逻辑判断;
基本的逻辑运算符
        逻辑单与& ----并列关系
        	特点:false,false;
        逻辑单或| ----或的关系
        	特点:true,true
        逻辑异或^
        	特点:相同则为false,不同则为true
        简单记忆:男女关系
        男女 女男 true
        女女 男男 false
        逻辑非!true,false;false,true;偶数给非是它本身
class OperatorDemo{
    public static void main(String[] args){
//定义三个变量
        int a = 3 ;
        int b = 4 ;
        int c = 5 ;
//逻辑单与&
        System.out.println((a>b) & (a>c)) ;//false & false =false
        System.out.println((a<b) & (a>c)) ;//true & false = false
        System.out.println((a>b) & (a<c)) ; //false & true = false
        System.out.println((a<b) & (a<c)) ;//true & true =true
        System.out.println("------------------------------") ;
//逻辑单或|
        System.out.println((a>b) | (a>c)) ;//false | false = false
        System.out.println((a<b) | (a>c)) ;//true | false = true
        System.out.println((a>b) | (a<c)) ; //false | true = true
        System.out.println((a<b) | (a<c)) ;//true | true = true
        System.out.println("------------------------------") ;
//逻辑异或^
        System.out.println((a>b) ^ (a>c)) ;//false ^ false = false
        System.out.println((a<b) ^ (a>c)) ;//true ^ false = true
        System.out.println((a>b) ^ (a<c)) ; //false ^ true = true
        System.out.println((a<b) ^ (a<c)) ;//true ^ true = false
        System.out.println("------------------------------") ;
//逻辑非!
//非true,则false;非false,则true;偶数给非是它本身
        System.out.println(!(a>b)) ;
        System.out.println(!!(a>b)) ;
    }
}
扩展的逻辑运算符
        逻辑双与&& ---并列关系,必须同事满足条件,才成立;
        逻辑双或|| --- 或的关系:有一个满足条件 成立;
        面试题:逻辑双与&&和逻辑单与&的区别?
        		共同点:false,false
        		不同点:
        			逻辑双与&&:具有"短路"效果,&&连接的表达式如果左边为false,则右边不执行了!
        实际开发中:&&以及||使用最多,他们可以提高程序的执行效率;
        逻辑双或||
        ||连接的表达式左边true,右边不执行了(具有短路效果),true,true
class OperatorDemo2{
    public static void main(String[] args){
//三个变量
        int a = 3 ;
        int b = 4 ;
        int c = 5 ;
//逻辑双与&&
        System.out.println((a>b) && (a>c)) ;//false && false =false
        System.out.println((a<b) && (a>c)) ;//true && false = false
        System.out.println((a>b) && (a<c)) ; //false && true = false
        System.out.println((a<b) && (a<c)) ;//true && true =true
        System.out.println("----------------------------------------
                ") ;
//定义x变量赋值3
        int x = 3 ;
        int y = 4 ;
        System.out.println("x:"+x) ;//x:3
        System.out.println("y:"+y) ;//y:4
//false
//x ++ = 4
//System.out.println((x++)==4 && (--y)==3 ) ;//false //&&的
        左边表达式false,则右边不执行了
//System.out.println("x:"+x) ;//4
//System.out.println("y:"+y) ;//4
//逻辑单与&,左边表达式为false,右边依然要执行,开发中不用它,
        效率太低
        System.out.println((x++)==4 & (--y)==3 ) ;//false
        System.out.println("x:"+x) ; //4
        System.out.println("y:"+y) ;// 3
    }
}

7.三元运算符

 格式:
        (简单或者复杂的表达式)? 执行成立的结果:执行不成立的结果;
        执行流程:
        1)先判断表达式是true还是false,如果是true,执行成立的
        结果;
        2)如果是false,执行不成立的结果;
class OperatorDemo{
    public static void main(String[] args){
//定义了两个变量
        int x = 20 ;
        int y = 5 ;
//求x,y这两个数据的最大值;
//定义一个结果变量,接收结果
//(简单或者复杂的表达式)? 执行成立的结果:执行不成立的结果;
        int max = (x>y)? x:y ;
        System.out.println("两个数据中的最大值是:"+max) ;
        System.out.println("---------------------------------") ;
//求x,y的最小值
        int min = (x<y)?x:y ;
        System.out.println("两个数据中的最小值是:"+min) ;
        System.out.println("---------------------------------") ;
//比较x,y的值是否相等
//boolean接收
//boolean flag = (x==y)?true:false ;
// 优化
        boolean flag = (x==y) ; //==本身就是比较
        System.out.println("flag:"+flag) ;
//练习
//有三个数据,a,b,c int类型,
//int a = 20 ;
//int b = 50 ;
//int c = 15 ;
//使用三元运算符:完成三个数据比较,获取最大值?
    }
}
重点的运算符
        进制:属于常量
        进制的相互转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值