一、运算符

  java中的运算符大致分为四种:数学运算符,关系运算符、逻辑运算符、位运算

  1.数学运算符:即咱们平常说的加减乘除运算,这种运算是分先后顺序的,如果想要优先进行运算,建议加上小括号,使其运算优先级最高

  2.关系运算符:即 大于( > ),小于( < ),等于( == ),不等于( != ),小于等于( <= ),大于等于( >= ),数据在进行关系运算时的结果为布尔类型(boolean)

  3.逻辑运算符:与(&)、或(|)、非(!),在使用“与”逻辑运算符时,只有关系运算结果都为true时,返回结果才为true,否则返回结果为false;在使用“或”逻辑运算符时,当有一个关系运算结果为true时,返回结果就为true,当关系运算结果全都为false时,返回结果才为false;逻辑运算符“非”表示与布尔类型的结果取反。

  这里面就涉及到一个面试题:

  题目:"&"与"&&"或者"|"与"||"的区别?

  答:在使用"&&"逻辑运算符时,只要有一个表达式的结果为false,其他的表达式不用运算,结果直接返回false,同理在使用"||"逻辑运算符时,只要有一个表达式的结果为true,其他的表达式不用运算,结果直接返回true;在编写程序时,推荐使用"&&"和"||",因为这样会提高代码的运行效率。

  这里涉及一下三元(目)运算符的使用

  三元运算符的形式为:关系表达式 ? 满足后执行 : 不满足执行

  这里列举一个输出两个数中最大的一个数:

public static void main(String args[]){
int x = 15;
int y = 26;
int max = x > y ? x : y ;
System.out.println(max);
}

  输出结果为: 26

  三元运算符之间还可以进行嵌套,例如输出三个数中最大的一个数

public static void main(String args[]){
int x = 15;
int y = 26;
int z = 16;
int max = x > y ? (x > z ? x : z) : (y > z ? y : z) ;
System.out.println(max);
}

  输出结果为:   26

  4.位运算:包括 ^(异或) 、&(与) 、<<(左移)  、>>(右移)

  注:这些运算都是针对二进制的

  ^ (异或): 相同的取0,不相同的取1

public static void main(String args[]){
/*
* 3 : 0011
* 2 : 0010
* 1 : 0001
*/
System.out.println(3 ^ 2);
}

  结果为: 1

  &(与):都为1的才取1

public static void main(String args[]){
/*
* 3 : 0011
* 2 : 0010
* 2 : 0010
*/
System.out.println(3 & 2);
}

  结果为: 2

  <<(左移):将为1的都进行左移,后面的数字代表左移几位

public static void main(String args[]){
/*
* 10 : 0000 1010
* 40 : 0010 1000
*/
System.out.println(10 << 2);
}

  结果为: 40

  >>(右移):将为1的都进行右移,后面的数字代表右移几位

public static void main(String args[]){
/*
* 40 : 0010 1000
* 10 : 0000 1010
*/
System.out.println(40 >> 2);
}

  结果为: 10

二、程序的执行顺序一般分为三种:顺序执行、分支执行、循环执行

  if分支结构:格式为

  if(关系表达式)

    {满足条件执行}

  else

    {不满足条件执行}

  if分支结构可以进行嵌套,即可以在else 后面继续加if分支结构,这个是没有数量限制的,即 else if()

  switch()...case选择分支:括号里面的类型包括:数字,字符,枚举以及新支持的字符串

  循环结构:while循环、for循环、do...while循环

  关于while循环与for循环的使用建议,如果知道循环次数以及终止条件的话,建议使用for循环,否则就使用while循环,while循环与do...while循环的区别在于前者满足执行条件才会执行,而后者是先执行,然后再进行执行条件的判断。

  这里额外说一下break与continue的区别:

    break是结束整个循环,即跳出循环;而continue是结束本次循环,接着执行下一次循环;

public static void main(String args[]){
for(int i = 0 ; i < 3 ; i ++){
if(i == 1){
break;
}
System.out.print(i+"\t");
}
System.out.println();
for(int i = 0 ; i < 3 ; i ++){
if(i == 1){
continue;
}
System.out.print(+i+"\t");
}
}

  输出结果:

  

最新文章

  1. 纯javaScript、jQuery实现个性化图片轮播
  2. 【前端】CoffeeScript
  3. 剖析JavaScript函数作用域与闭包
  4. Oracle分区表!
  5. Python的闭包
  6. frameset框架下,刷新整个页面
  7. IO端口和IO内存的区别及分别使用的函数接口
  8. SaaS系列介绍之四:我国SaaS市场发展
  9. [支付]银联支付(对jdk有要求,最好直接使用jdk7)
  10. PureMVC(JS版)源码解析(五):SimpleCommand类
  11. jquery平滑滚动到锚点 一行代码
  12. 添加Fragment注意事项
  13. 如何阅读mysql源码
  14. OR1200数据Cache介绍
  15. MSSql Server 批量插入数据优化
  16. 南邮攻防训练平台逆向第四题WxyVM
  17. 前后端通过API交互
  18. JVM总结-虚拟机加载类
  19. open read split
  20. linux添加磁盘空间

热门文章

  1. linux系统软件启动sh脚本
  2. Disruptor 使用简介
  3. Java入门(4)
  4. 使用rabbitmq实现集群im聊天服务器消息的路由
  5. ajax传值出现乱码问题
  6. Group指定的方式如下: @Test(groups = {&quot;fast&quot;, &quot;unit&quot;, &quot;database&quot; })
  7. element UI table show-overflow-tooltip属性更改背景色和字体颜色
  8. 双重河内塔I
  9. Aps.Net Core3.1 WebApi发送阿里云短信验证码
  10. ansible快速部署cassandra3集群