Java运算符、流程控制

2023-10-31

Java运算符、流程控制

运算符

  • 算术运算符
public class Demo1 {
	public static void main(String[] args) {
			//算术运算符 
			//+、-、*、/、%、++、--
			int x = 2046;
			x = x /100 * 100;
			System.out.println(x);//整数除法的结果只保留整数部分,舍弃小数部分
			System.out.println(6%5);//模运算	
			System.out.println(x++);//自增
			System.out.println(x--);//自减
	}
}
  • 赋值运算符
public class Demo2 {
	public static void main(String[] args) {
			//赋值运算符 
			//= , +=, -=, *=, /=, %=
			int a,b,c;
			a = b = c = 6;
			int x = 2046;
			x+=4;//等效于x = x + 4;
	}
}
  • 比较运算符和逻辑运算符
public class Demo3 {
	public static void main(String[] args) {
		//比较运算符的结果都是boolean型
		//==、!=、<、>、<=、>=
		int a,b,c=7;
		a = b = 6;
		System.out.println(a==b);//true
		System.out.println(a>=c);//false
		
		/*逻辑运算符用于连接boolean类型的表达式。	
		true & true = true;
		true & false = false;
		false & true = false;
		false & false = false;
		只要两边的boolean表达式结果,有一个为false。那么结果就是false。只有两边都为true,结果为true。
		*/
		int x = 8;
		System.out.println(x>3&x<6);//false
				/*
		true | true = true;
		true | false = true;
		false | true = true;
		false | false = false;
		两边只要有一个为true,结果为true。只有两边都有false,结果为false。
		*/
		System.out.println(x>3|x<6);

		/*
		true ^ true = false;
		true ^ false = true;
		false ^ true = true;
		false ^ false = false;
		两边相同结果是false。两边不同结果是true。
		*/
		System.out.println(x>3^x<6);
		/*“&”和“&&”的区别:	
		&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“|”和“||”的区别类似,左边为真,右边不参与运算。
        */
	}
}
位运算符
运算符 运算 例子 运算规则
<< 左移 4<<2=16 空位补0,被移除的高位丢弃
>> 右移 4>>2=1 被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1
>>> 无符号右移 4>>>2=1 被移位二进制最高位无论是0或者是1,空缺位都用0补
& 与运算 4&2=0 二进制位进行&运算,只有1&1时结果是1,否则是0
| 或运算 4|2=6 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1
^ 异或运算 4^2=6 任何相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 进行^ 运算结果是1。1^0=1 , 0^1=1
~ 反码 ~4=-5 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

程序流程控制

  • 判断结构
  1. if(条件表达式){
     执行语句;
    }
  2. if(条件表达式){
     执行语句;
    }
    else{
     执行语句;
    }
  3. if(条件表达式){
     执行语句;
    }
    else if (条件表达式){
     执行语句;
    }

    else{
     执行语句;
    }
  • 三元运算符
    (条件表达式)?表达式1:表达式2;
    如果条件为true,运算后的结果是表达式1;
    如果条件为false,运算后的结果是表达式2;
class IfDemo 
{
	public static void main(String[] args) 
	{
		int x = 10;

		if(x>10)
		{
			System.out.println("x>10");
		}
		else
		{
			System.out.println("x<=10");
		}
		
		/*
		if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
		
		*/
		int a = 9,b;
		b = (a>10)?100:200;

		if(a>10){
			b = 100;
		}
		else{
			b = 200;
		}


		int n = 4;

		if(n>1)
			System.out.println("a");
		else if(n>2)
			System.out.println("b");
		else if(n>3)
			System.out.println("c");
		else
			System.out.println("d");
	}
}

  • 选择结构
    switch(表达式){
     case 取值1:
      执行语句;
      break;
     case 取值2:
      执行语句;
      break;
     …
     default:
      执行语句;
      break;
    }
    (switch语句选择的类型只有四种:byte,short,int , char)
class SwitchDemo 
{
	public static void main(String[] args) 
	{
		int a=4,b =2;
		char ch = '-';

		switch(ch){
			case '-':
				System.out.println(a-b);
				break;
			case '+':
				System.out.println(a+b);
				break;
			case '*':
				System.out.println(a*b);
				break;
			case '/':
				System.out.println(a/b);
				break;
			default:
				System.out.println("error");
		}
	}
}

  • 循环结构
    while方式:
     while(条件表达式){
       执行语句;
     }

  do while方式:
   do{
    执行语句;
   }while(条件表达式)
(无论条件是否满足,循环体至少被执行一次)

  for方式:
   for(初始化表达式;循环条件表达式;循环后的操作表达式){
    执行语句;
   }
(最简单无限循环格式:while(true) , for( ; ; ),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环)

class CycleDemo 
{
	public static void main(String[] args) 
	{
		int i = 10;
        while(i > 0){            
    		if(i==8){
    			i--;
    			continue;//跳出本次循环
			}
	   		System.out.println(--i);
	    	if(i==5) break;//结束循环
		}
        System.out.println(i);
        
        do{
            System.out.println(i++);
        }while(i < 8 );
        
        
        for (;; --i){//也是无限循环
            if (i==5)continue;                    
            System.out.println("m = " + i);
        }		
}

  • break(跳出),continue(继续)
    break:跳出整个循环
    continue:结束本次循环继续下次循环
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java运算符、流程控制 的相关文章

  • 上传进度条 Java Servlet?

    我想使用 servlet 显示上传进度条 我尝试过Ajax iFrame 技术 页面没有重新加载 文件也被上传 但是 进度条没有出现 有没有可用于 javaservlts 的 jQuery 进度插件 Thanks 我强烈推荐jQuery 上
  • Java将字符串解析为double

    如何解析字符串中的这个 Double 00034800 变成 Double 值 最后两位数字实际上是小数点 所以我正在寻找的结果是348 00 是否有这样的格式可以与十进制格式一起使用 Well String s 00034800 doub
  • 在Windows Server 2003下如何在本地系统帐户下运行jvisualvm.exe?

    我在带有 Java 1 6 u 20 的 Windows Server 2003 下将 GlassFish 3 0 1 作为 Windows 服务运行 总体上我很满意 我希望能够在这个 JVM 上使用 VisualVM 并使用无法在 Tom
  • java程序有多少种结束方式?

    我知道使用 System exit 0 可以结束一个java程序 例如 如果我有一个JFrame窗口 它会关闭并结束程序 但我想知道还有多少其他方法 可以关闭它并结束程序 包括发生错误时 程序会被关闭 JFrame也会被关闭吗 添加到其他答
  • 非易失性领域的出版与阅读

    public class Factory private Singleton instance public Singleton getInstance Singleton res instance if res null synchron
  • 为什么在 10 个 Java 线程中递增一个数字不会得到 10 的值?

    我不明白 a 的值为0 为什么 a 不是10 那段代码的运行过程是怎样的 是否需要从Java内存模型来分析 这是我的测试代码 package com study concurrent demo import lombok extern sl
  • 使用 Exec Maven 插件分叉 Java,而不使用“exec”目标

    来自文档 https www mojohaus org exec maven plugin exec exec在单独的进程中执行程序和Java程序 exec java在同一虚拟机中执行 Java 程序 我想 fork 一个 java 程序
  • 通过Zuul上传大文件

    我在通过 zuul 上传大文件时遇到问题 我正在使用 apache commons 文件上传 https commons apache org proper commons fileupload https commons apache o
  • 我对线程失去了理智

    我想要这个类的对象 public class Chromosome implements Runnable Comparable
  • 如何使用 Java 引用释放 Java Unsafe 内存?

    Java Unsafe 类允许您按如下方式为对象分配内存 但是使用此方法在完成后如何释放分配的内存 因为它不提供内存地址 Field f Unsafe class getDeclaredField theUnsafe Internal re
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 2^31 次方的 Java 指数错误 [重复]

    这个问题在这里已经有答案了 我正在编写一个java程序来输出2的指数幂 顺便说一句 我不能使用Math pow 但是在 2 31 和 2 32 处我得到了其他东西 另外 我不打算接受负整数 My code class PrintPowers
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • java实现excel价格、收益率函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 即使禁用安全性,OAuth 令牌 API 也无法在 Elastic Search 中工作

    我是 Elastic search 新手 使用 Elastic search 版本 7 7 1 我想通过以下方式生成 OAuth 令牌弹性搜索文档 https www elastic co guide en elasticsearch re
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • Java 中清除嵌套 Map 的好方法

    public class MyCache AbstractMap
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve

随机推荐

  • SVN客户端安装及使用说明

    SVN客户端安装及使用说明 一 SVN客户端与语言包的安装 1 下载TortoiseSVN 2 安装TortoiseSVN 双击安装包 进入下一步 如图 3 点击Next 进入下一步 如图 4 选择接受 然后点击Next 进入下一步 如图
  • Python中逗号的三种作用

    最近研究python 遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1 逗号在参数传递中的使用 这种情况不多说 没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def abc a b 或者abc 1 2 2 逗号在类型
  • Python学习笔记(五)—LOOP 循环

    个人认为Python基础学习直到LOOP才算真正开始 循环有While do while 和for 比如while 我们要输出100条 you are my sunshine 可以表达如下 count 0 while count lt 10
  • opencv 打开1080P等高分辨率摄像头时卡顿问题的解决

    参考 blog csdn net lunweiwangxi3 article details 88556911 http blog sina com cn s blog 9b493e7b0102xvn6 html 总结http stacko
  • SRCNN以DIV2K数据集进行训练时,.h5文件、PSNR评价指标、运行结果

    由于是从Word文档直接复制过来 其中格式如果乱码或者不通顺 请评论区告知我 1 对于 h5文件的大小计算 输入图片后 由于大小不同 无法从图片直接计算 但整合后数组有两个 一个arrlabel 一个arrdata 1 其中 arrlabe
  • java 对象属性复制,将一个对象的属性值赋值给另一个对象, 属性名需要相同

    java 对象属性复制 将一个对象的属性值赋值给另一个对象 属性名需要相同 关键代码 import org springframework beans BeanUtils BeanUtils copyProperties a b demo
  • 微信小程序--实现分享功能

    本篇文章的目标是实现分享小程序中的单张页面给其他用户 并且打开分享后的页面拥有返回按钮 最终的效果 1 封装一个分享的组件
  • 文件的名字带有特殊符号下载报错问题

    在这里插入图片描述 其中encodeURI 主要用于整个URI 例如 http www jxbh cn illegal value htm 而encodeURIComponent 主要用于对URI中的某一段 例如前面URI中的illegal
  • 六级(2020/12-2) Text1

    Vegetarians would prefer not to be compelled to eat meat Yet the reverse compulsion 强迫 is hidden in the proposals for a
  • char与wchar_t(TCHAR)之间的相互转换

    char与wchar t TCHAR 之间的相互转换 vc 2005以后 Visual studio 编译器默认的字符集为Unicode VC中很多字符处理默认为宽字符wchar t L Holle 如CString的getBuffer 而
  • 玩转Openwrt(二) — 配合Android手机打造无线音乐播放器

    前一篇文章大概介绍了刷入带ADSL驱动的openwrt以及简单的配置 这次就总结下一个好玩的应用 使用android手机 mpd打造一台无线音乐播放器 所需装备 DB120或者RG100A或者其它BCM6358芯片的路由一台 USB声卡一件
  • 09.语义分割和数据集

    语义分割 PDF part 2 13 pdf d2l ai 视频 46 语义分割和数据集 动手学深度学习v2 哔哩哔哩 bilibili 语义分割 semantic segmentation 问题重点关注于如何将图像分割成属于不同语义类别的
  • 第13章Stata Logistic回归分析

    目录 13 1二元Logistic回归分析 案例延伸 延伸1 设定模型预测概率得具体值 延伸2 使用Probit模型对二分类因变量进行拟合 13 2多元Logistic回归分析 案例延伸 延伸 根据模型预测每个样本视力低下程度的可能性 13
  • Java输入流之BufferReader和Scanner的用法!

    在Java中 我们都知道Java的标准输入串是System in 但是我们却很少在Java中看到谁使用它 这是因为我们平时输入的都是一个字符串或者是一个数字等等 而System in提供的read方法是通过字节来读取数据的 所以对我们来说太
  • react hooks的用法

    一 页面初始化的结构 export const SearchPanel gt 二 声明字段的类型 请求字段类型 const param setParam useState name personId 四 写请求接口的代码 useEffect
  • java随机选人,实现对文本文件操作

    理解 全程无报错 IDEA全绿通过 每步都有注解 因为防止 main主代码 太长 将很多方法都封装了 编程小白 有不足的地方希望能指正出来吧 好的处理点 我觉得自己比较好的地方是 将页面方法返回值 设置为集合 这样打印页面的时候 能返回路径
  • CTF-Crypto题目分析__1

    CTF Crypto题目分析 1 以下所有题目提交flag的格式为SeBaFi 第一题 考察base36编码 下载附件后可得 597142166468670232704404065453992639482284357949191392729
  • Java 敏感词过滤工具类及文本

    最主要最主要的文本在此 链接 https pan baidu com s 163mWeLecBdV1tA1WstXnuw pwd yyds 提取码 yyds 复制这段内容后打开百度网盘手机App 操作更方便哦 工具类代码 就是解析文本进行过
  • 基于PyQT5的学生成绩管理系统(运行简单,简单有文档,带注释,含源码)

    自己做的项目 全CSDN唯一 禁止转载 基于pyqt5的学生成绩管理 带登录注册 基本的学生信息的增加 修改 删除 查询和选课 课程信息的增加 修改 删除 查询 成绩的添加 修改 查询等功能 用pycharm导入 安装依赖包 配置好数据库就
  • Java运算符、流程控制

    Java运算符 流程控制 运算符 算术运算符 public class Demo1 public static void main String args 算术运算符 int x 2046 x x 100 100 System out pr