博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础之运算符、键盘输入以及流程控制语句
阅读量:2758 次
发布时间:2019-05-13

本文共 2701 字,大约阅读时间需要 9 分钟。

比较运算符:

        >,>=,<,<=,==

        注意事项:==  不能写成   =(=是赋值运算符);

赋值运算符:

        基本的赋值运算符: =  

                举例:int a=10 ;       将10赋值给int类型的变量a;

        扩展运算符:

                +=,-=,*=,/=,%=;

                        举例:y+=10 ;        把右边的数据赋值给左边,然后在和左边的数据求和;

 
面试题:	short s=1;	s = s+1; 		short s=1;	s+=1;		对于扩展的赋值运算符		s+=1			不等价于 :s = s +1 ;		等价于: s = (s)(s+1) ;		扩展的赋值运算符隐藏了强制类型转换!	上面两个代码有没有问题,如果有,那里有问题。

          //解答:

                s=s+1;    //默认类型提升,提升为int类型,不能用short去接收int类型的数据;

                //解决方案:强制类型转换;

                s=(short)(s+1);

逻辑运算符:

        基本逻辑运算符:

                &:逻辑与;        |:逻辑或;        ^:逻辑疑惑;        !:逻辑非;

     结论:

逻辑与&:有false,则false;
逻辑或|:true,则true;
逻辑异或:^:相同则为false,不同则为true;
简单记:(男女关系) 男男  男女  女男  女女

逻辑非!:非true则false,非false,则true,偶数个是他本身;

        扩展的逻辑运算符:

                逻辑双与:&&;        逻辑双或:| | ;

        实际开发中:

逻辑双与&& 用的是最多的!

面试题:  逻辑双与&& 和逻辑单与&的区别? 		a:共同点:效果是一样的		b:逻辑双与&& :如果左边的表达式如果是false,那么右边不执行(具有短路效果) 		  逻辑双|| :如果左边的表达式是true,那么右边不执行(具有短路效果)san

三目运算符:

        三目运算符--->三元运算符;

语法:
(表达式)? true的结果:false的结果;
        表达式:  举例:  (x>y)  
(100>150)
        执行流程:
首先判断表达式是否成立,如果比表达式成立,就执行true的结果,否则,false的结果;

package org.westos_三目运算符;/** * 需求: * 		获取两个整数中的最大值(定义变量默认用int类型)		获取三个整数中的最大值		比较两个整数是否相同 * @author Administrator * */public class OperatorTest {		public static void main(String[] args) {				//定义两个变量		int a = 10 ;		int b = 20 ;				int max = (a >b) ? a :b ;		System.out.println("max:"+max);				System.out.println("-------------------------");				//定义变量		int m = 20 ;		int n = 40 ;		int z = 30 ;				//一步搞定		//方式1		int max2 = (m>n) ? (m>z ? m : z):(n>z? n :z) ;				//方式2:中间变量进行操作 (实际开发中采用这种方式)		//定义一个变量:temp		int temp = (m > n) ? m : n ; //记录一个最大值		int max2 = (temp >z) ? temp : z ;				System.out.println("max2:"+max2);	}}

算数运算符:

        基本算术运算符:+,-,*,/,%(模);

                注意:/:取的是整数;

                关于+的用法:

    +:可以作为运算符;
    + :表示一个数是正整数;
    + :可以作为字符串的拼接符;

        扩展运算符:  ++或者-- ;

                单独使用:

结论:无论++或者--再数据前还是数据后,都是自增1或者自减1;
参与运算使用:

结论:

                                        如果++或者--再数据的前面,先自增或者自减,再参与运算;

如果++或者--再数据的后面,先运算,再进行自增或者自减;

                        在实际开发中,++在后用的多(比如:流程空语句 for循环语句 步长语句变量名++);

 

package org.westos_算术运算符;/** * 第一题 *	int a = 10;	int b = 10;	int c = 10;	a = b++;	c = --a;	b = ++a;	a = c--;	请分别计算出a,b,c的值	     第二题:	int x = 4;	int y = (x++)+(++x)+(x*10);	请分别计算出x,y的值 */public class OperatorTest {		public static void main(String[] args) {				int a = 10;		int b = 10;		int c = 10;						a = b++; //a=10,b=11, c=10		c = --a;// a=9, b=11,c=9		b = ++a;//a=10,b=10,c=9		a = c--;//a=9,  b=10,c=8				System.out.println("a:"+a);		System.out.println("b:"+b);		System.out.println("c:"+c);						int x = 4;		int y = (x++)+(++x)+(x*10);				//x = 4 		// y = 4 + 6  + (6*10)		System.out.println("x:"+x);		System.out.println("y:"+y);			}}

流程控制语句之顺序结构语句:

    顺序结构语句: 代码从main方法中从上而下依次执行的;

    流程控制语句值if语句:

        分类:三种格式;

        ①if(条件表达式){  
            语句;  

    }

                ②if(条件表达式){   条件表达式:无论是简单的表达式还是复杂的表达式  值都是boolean类型

语句1;
}else{
语句2;

}

                ③if(条件表达式1){

语句1;
}else if(条件表达式2){
语句2;
}else if(..){
语句3;
}else{
语句n+1;
}

        
if语句的注意事项:
1)if语句中的大括号,可以省略,但是不建议省略;
2)有大括号的地方不能有分号,有分号的地方不能有大括号;
3)这种格式的if语句,适合单个条件的判断;

转载地址:http://aazad.baihongyu.com/

你可能感兴趣的文章
java JTable刷新问题
查看>>
固定JSplitPane比例分割
查看>>
JSplitPane按比例分割的问题
查看>>
JScrollPane的简单用法!
查看>>
JBorder组件边框
查看>>
JTable 为单元格添加按钮效果和事件效果
查看>>
SQL语句创建表
查看>>
ORACLE通过SQL语句创建表空间和用户并授权
查看>>
oracle中与mysql中的命令 show databases, show tables, desc table类似的命令集
查看>>
oracle怎么通过sql查看表的结构
查看>>
SQL语句
查看>>
properties
查看>>
JAVA基础----java中E,T,?的区别?
查看>>
java i/o流总结
查看>>
EXP-00056:遇到oracle错误12154
查看>>
ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER
查看>>
oracle 一次删除多张表
查看>>
oracle 查询对应表空间里面存储的表,以及更换表的表空间
查看>>
oracle中的tablespace的概念及创建
查看>>
ORA-01950: no privileges on tablespace 解决方法
查看>>