一、运算符

  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");
}
}

  输出结果:

  

java运算符与程序逻辑控制的更多相关文章

  1. Java程序逻辑控制

    程序逻辑控制 1.Java程序结构与逻辑控制 在Java中程序有三种结构:顺序结构.分支结构.循环结构 1.1 Java分支结构 分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句. 1.if语 ...

  2. Java笔记2-数据类型,变量,Java运算符

    我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...

  3. [转]Java 运算符的优先级

    Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...

  4. Java运算符使用总结(重点:自增自减、位运算和逻辑运算)

    Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...

  5. 20155301第十一周java课栈程序

    20155301第十一周java课栈程序 内容一:后序表达式: abcde/-f+ 内容二:根据填充以下代码: import java.util.Scanner; public class MyDCT ...

  6. Java-Runoob:Java 运算符

    ylbtech-Java-Runoob:Java 运算符 1.返回顶部 1. Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量. ...

  7. Java运算符及优先级(全)

    运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等. Java运算符分为以下几种: • 算术运算符:+,-,*,/,%,++,-- • 赋值运算符:= • 扩展后的赋值运算符:+=,-=,*=, ...

  8. 《Java基础知识》Java 运算符

    计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运 ...

  9. JavaSE基础(五)--Java运算符

    Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 ...

随机推荐

  1. paraview将csv格式显示为云图

    paraview可以直接读入csv数据,并且显示为vtk的云图效果,和矢量图效果. 二维矢量图 导入csv数据(数据在文章最后有提供): 成功导入: 关闭右侧数据,并选择Filters->Alp ...

  2. 如何实现一个FormData

    一.前言 最近项目中遇到一个问题,我们需要在cocos项目里去上传音频文件,而cocos原生环境和平时我们开发所在的浏览器环境和Node环境有很多差异,而cocos环境只提供了基础类,没有提供Form ...

  3. 给大家分享一下java数据库操作步骤

    获取驱动程序Jar文件,并放置到项目的类路径中: 注册驱动器类: 获取数据库连接: 获取Statement对象来执行相关SQL操作: 关闭各种资源;

  4. C# stopwatch的简单使用(计算程序执行时间)

    首先添加引用 using System.Diagnostics;//stopwatch的引用 //声明变量 Stopwatch a=new Stopwatch();//PS:这里一定要new(实例化) ...

  5. 4G DTU的数据透传功能如何实现

    准备将众山科技4G DTU进行数据透传之前,先将电脑串口连接到4G DTU串口上.如果是没有硬件串口的电脑,可以通过USB转RS232串口转换线进行连接. 连接成功后,按照说明书中提供的初始参数进行设 ...

  6. FastCGI协议分析

    不知道什么时候,就开始有了让HomeServer支持PHP的念头.于是分析起了FastCGI协议.FastCGI用于WebServer与WebApplication之间的通讯,例如Apache与PHP ...

  7. 《Clojure编程》笔记 第5章 宏

    目录 背景简述 第5章 宏 5.0 术语 5.1 宏到底是什么 5.1.1 宏不是什么 5.1.2 有什么是宏能做而函数不能做的 5.1.3 宏vsRuby的eval 5.2 编写你的第一个宏 5.3 ...

  8. Azure DevOps 扩展之 Hub 插件的菜单权限控制配置

    这是 Hub 插件的描述配置代码片段: { "contributions": [ { "id": "feature-hidden-fields-man ...

  9. 13、form组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  10. WSL-Ubuntu18.04 磁盘迁移 与 ns3-gym 安装

    WSL 安装 win10 版本应大于或等于 1903 win10 设置页面 输入 控制面板 并点击进入 找到 程序和功能 并打开 找到 启动或关闭 Windows 功能 并打开 向下拉 勾选 适用于L ...