java运算符与程序逻辑控制
一、运算符
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运算符与程序逻辑控制的更多相关文章
- Java程序逻辑控制
程序逻辑控制 1.Java程序结构与逻辑控制 在Java中程序有三种结构:顺序结构.分支结构.循环结构 1.1 Java分支结构 分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句. 1.if语 ...
- Java笔记2-数据类型,变量,Java运算符
我们编写软件,目的是为了高效的操作(增,删,改,查)数据. 数据类型 1.基本类型(8种)byte 字节型 -128~127short 短整型 -32768~32767int 整型 -21474836 ...
- [转]Java 运算符的优先级
Java 运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 &l ...
- Java运算符使用总结(重点:自增自减、位运算和逻辑运算)
Java运算符共包括这几种:算术运算符.比较运算符.位运算符.逻辑运算符.赋值运算符和其他运算符.(该图来自网络) 简单的运算符,就不过多介绍使用了,可自行测试.关于赋值运算,可以结合算术运算和位运算 ...
- 20155301第十一周java课栈程序
20155301第十一周java课栈程序 内容一:后序表达式: abcde/-f+ 内容二:根据填充以下代码: import java.util.Scanner; public class MyDCT ...
- Java-Runoob:Java 运算符
ylbtech-Java-Runoob:Java 运算符 1.返回顶部 1. Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量. ...
- Java运算符及优先级(全)
运算符是一种特殊的符号,用以表示数据的运算.赋值和比较等. Java运算符分为以下几种: • 算术运算符:+,-,*,/,%,++,-- • 赋值运算符:= • 扩展后的赋值运算符:+=,-=,*=, ...
- 《Java基础知识》Java 运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运 ...
- JavaSE基础(五)--Java运算符
Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 ...
随机推荐
- 显示器类型对美乐威NDI IP转换器延时影响测试
背景 用户在选择用网络传输视频时,传输延迟通常是他们非常关心的数据.集成商在探究如何降低视频传输延时,往往专注于网络本身和视频编码的优化,容易忽略视频解码和播出也是整个视频传输过程中非常重要的环节.本 ...
- LoadRunner接口脚本web_submit_data编写过程中遇到的问题及分享
工作中需要接口测试,报文编辑器一条条手工发费时费力,因此考虑利用web_submit_data函数POST方法进行报文编辑.在报文编辑中主要遇到了三个问题,其中一个问题耗时两天查到问题所在,在这里与大 ...
- 排名靠前的几个JS框架发展趋势和前景
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://blog.bitsrc.io/top-5-javascript-frameworks ...
- Luogu P4957 [COCI2017-2018#6] Alkemija
题意 有 \(n\) 种已知物质,现在手上有 \(m\) 种,每种无限多个.已知 \(k\) 种反应,每种可以将一些反应物变成一些生成物.求经过这些反应过后最多可以有多少种不同的物质. \(\text ...
- 编排yml文件剖析
# yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选, ...
- [LuoguP2147] [SDOI2008]洞穴勘测 (LCT维护连通性)
题面 传送门:https://www.luogu.org/problemnew/show/P2147 Solution 这题...... 我们可以发现题目要求我们维护一个动态森林,而且只查询连通性.. ...
- day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏
目录 1.购物车有效期切换 2.根据有效期不同切换价格 3.购物车删除操作 4.价格结算 5.订单页面-初始化 1.购物车有效期切换 1.关于有效期表结构的设计 1.course/models.py ...
- 微信小程序获取普通二维码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 3、编程语言与Python介绍
一 引子 基于上一章所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序. 本章的主题是先了解一下编程语言,然 ...
- leetcode111:combination-sum
题目描述 给出一组候选数C和一个目标数T,找出候选数中加起来和等于T的所有组合. C中的数字在组合中可以被无限次使用 注意: 题目中所有的数字(包括目标数T)都是正整数 你给出的组合中的数字 (a 1 ...