java运算符 —(5)

1.算术运算符: + - + - * / % (前)++ (后)++ (前)-- (后)-- +

【典型代码】
//除号:/
int num1 = 12;
int num2 = 5;
int result1 = num1 / num2;
System.out.println(result1);//2
// %:取余运算
//结果的符号与被模数的符号相同
//开发中,经常使用%来判断能否被除尽的情况。
int m1 = 12;
int n1 = 5;
System.out.println("m1 % n1 = " + m1 % n1);

	int m2 = -12;int n2 = 5;System.out.println("m2 % n2 = " + m2 % n2);int m3 = 12;int n3 = -5;System.out.println("m3 % n3 = " + m3 % n3);int m4 = -12;int n4 = -5;System.out.println("m4 % n4 = " + m4 % n4);//(前)++ :先自增1,后运算//(后)++ :先运算,后自增1int a1 = 10;int b1 = ++a1;System.out.println("a1 = " + a1 + ",b1 = " + b1);int a2 = 10;int b2 = a2++;System.out.println("a2 = " + a2 + ",b2 = " + b2);int a3 = 10;++a3;//a3++;int b3 = a3;//(前)-- :先自减1,后运算//(后)-- :先运算,后自减1int a4 = 10;int b4 = a4--;//int b4 = --a4;System.out.println("a4 = " + a4 + ",b4 = " + b4);

【特别说明的】
1.//(前)++ :先自增1,后运算
//(后)++ :先运算,后自增1
2.//(前)-- :先自减1,后运算
//(后)-- :先运算,后自减1
3.连接符:+:只能使用在String与其他数据类型变量之间使用。

2.赋值运算符:= += -= *= /= %

【典型代码】
int i2,j2;
//连续赋值
i2 = j2 = 10;
//***************
int i3 = 10,j3 = 20;
int num1 = 10;
num1 += 2;//num1 = num1 + 2;
System.out.println(num1);//12

	int num2 = 12;num2 %= 5;//num2 = num2 % 5;System.out.println(num2);short s1 = 10;//s1 = s1 + 2;//编译失败s1 += 2;//结论:不会改变变量本身的数据类型System.out.println(s1);

【特别说明的】
1.运算的结果不会改变变量本身的数据类型
2.
//开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
//方式一:num = num + 2;
//方式二:num += 2; (推荐)

	//开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)//方式一:num = num + 1;//方式二:num += 1; //方式三:num++; (推荐)

3.比较运算符(关系运算符): == != > < >= <= instanceof

【典型代码】
int i = 10;
int j = 20;

	System.out.println(i == j);//falseSystem.out.println(i = j);//20boolean b1 = true;boolean b2 = false;System.out.println(b2 == b1);//falseSystem.out.println(b2 = b1);//true

【特别说明的】
1.比较运算符的结果是boolean类型
2.> < >= <= :只能使用在数值类型的数据之间。
3. == 和 !=: 不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。
Account acct1 = new Account(1000);
Account acct2 = new Account(1000);
boolean b1 = (acct1 == acct2);//比较两个Account是否是同一个账户。
boolean b2 = (acct1 != acct2);//

4.逻辑运算符:& && | || ! ^

【典型代码】
//区分& 与 &&
//相同点1:& 与 && 的运算结果相同
//相同点2:当符号左边是true时,二者都会执行符号右边的运算
//不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
//开发中,推荐使用&&
boolean b1 = true;
b1 = false;
int num1 = 10;
if(b1 & (num1++ > 0)){
System.out.println(“我现在在北京”);
}else{
System.out.println(“我现在在南京”);
}

	System.out.println("num1 = " + num1);boolean b2 = true;b2 = false;int num2 = 10;if(b2 && (num2++ > 0)){System.out.println("我现在在北京");}else{System.out.println("我现在在南京");}System.out.println("num2 = " + num2);// 区分:| 与 || //相同点1:| 与  || 的运算结果相同//相同点2:当符号左边是false时,二者都会执行符号右边的运算//不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算//开发中,推荐使用||boolean b3 = false;b3 = true;int num3 = 10;if(b3 | (num3++ > 0)){System.out.println("我现在在北京");}else{System.out.println("我现在在南京");}System.out.println("num3 = " + num3);boolean b4 = false;b4 = true;int num4 = 10;if(b4 || (num4++ > 0)){System.out.println("我现在在北京");}else{System.out.println("我现在在南京");}System.out.println("num4 = " + num4);

【特别说明的】
1.逻辑运算符操作的都是boolean类型的变量。而且结果也是boolean类型

5.位运算符:<< >> >>> & | ^ ~

【典型代码】
int i = 21;
i = -21;
System.out.println(“i << 2 :” + (i << 2));
System.out.println(“i << 3 :” + (i << 3));
System.out.println(“i << 27 :” + (i << 27));

	int m = 12;int n = 5;System.out.println("m & n :" + (m & n));System.out.println("m | n :" + (m | n));System.out.println("m ^ n :" + (m ^ n));

【面试题】 你能否写出最高效的2 * 8的实现方式?
答案:2 << 3 或 8 << 1
【特别说明的】

  1. 位运算符操作的都是整型的数据
  2. << :在一定范围内,每向左移1位,相当于 * 2

    :在一定范围内,每向右移1位,相当于 / 2

典型题目:
1.交换两个变量的值。
2.实现60的二进制到十六进制的转换

6.三元运算符:(条件表达式)? 表达式1 : 表达式2

【典型代码】
1.获取两个整数的较大值
2.获取三个数的最大值
【特别说明的】

  1. 说明
    ① 条件表达式的结果为boolean类型
    ② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
    如果表达式为true,则执行表达式1。
    如果表达式为false,则执行表达式2。
    ③ 表达式1 和表达式2要求是一致的。
    ④ 三元运算符可以嵌套使用

凡是可以使用三元运算符的地方,都可以改写为if-else
反之,不成立。
3. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用SQL计算两个地理坐标(经纬度)之间的地表距离

两个地理坐标(经纬度)地表距离计算公式&#xff1a; 公式解释如下&#xff1a; Long1,Lat1表示A点经纬度&#xff0c;Long2,Lat2表示B点经纬度&#xff1b;aLat1–Lat2 为两点纬度之差&#xff0c;bLong1-Long2为两点经度之差&#xff1b;6378.137为地球半径&#xff0c;单位为…

HTTP 错误 404 - 文件或目录未找到 - 最终解决方法

问题描述&#xff1a;http错误404&#xff0d;文件或目录未找到问题原因&#xff1a;我遇到的情况是&#xff0c;先按装了.NET&#xff0c;后装的IIS&#xff1b;不确定其他原因也会不会产生类似错误。&#xff08;如果有&#xff0c;希望大家能贴出更多的原因&#xff0c;方便…

java流程控制及控制键盘输出文字 —(6)

1.if-else条件判断结构 1.1. 结构一&#xff1a; if(条件表达式){ 执行表达式 } 结构二&#xff1a;二选一 if(条件表达式){ 执行表达式1 }else{ 执行表达式2 } 结构三&#xff1a;n选一 if(条件表达式){ 执行表达式1 }else if(条件表达式){ 执行表达式2 }else if(条件表达式…

自执行匿名函数剖析整理

格式&#xff1a;&#xff08;function(){//代码})();解释&#xff1a;这是相当优雅的代码&#xff08;如果你首次看见可能会一头雾水&#xff1a;&#xff09;&#xff09;&#xff0c;包围函数&#xff08;function(){})的第一对括号向脚本返回未命名的函数&#xff0c;随后一…

爬虫界又出神器|一款比selenium更高效的利器

提起selenium想必大家都不陌生&#xff0c;作为一款知名的Web自动化测试框架&#xff0c;selenium支持多款主流浏览器&#xff0c;提供了功能丰富的API接口&#xff0c;经常被我们用作爬虫工具来使用。但是selenium的缺点也很明显&#xff0c;比如速度太慢、对版本配置要求严苛…

java数组 —(7)

* 1.数组的理解&#xff1a;数组(Array)&#xff0c;是多个相同类型数据一定顺序排列的集合&#xff0c;并使用一个名字命名&#xff0c; 并通过编号的方式对这些数据进行统一管理。 * 2.数组相关的概念&#xff1a; 数组名 元素 角标、下标、索引 数组的长度&#xff1a;元素…

bootstrap按钮的边框问题 去除

问题&#xff1a; 用bootstrap做的按钮&#xff0c;点击后&#xff0c;都会出现边框&#xff0c;请问如何去除&#xff1f; .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {outline: none; }还要去除阴影添…

C#一些面试知识题

1.简述 private、 protected、 public、internal 修饰符的访问权限答&#xff1a;private&#xff1a;私有成员, 在类的内部才可以访问(只能从其声明上下文中进行访问)。 protected&#xff1a;保护成员&#xff0c;该类内部和从该类派生的类中可以访问。 Friend&#xff1a;友…

vue加载时闪现模板语法-处理方法

问题&#xff1a;使用VUE时&#xff0c;页面加载瞬间&#xff0c;会闪现模板语法&#xff0c;例如{{ item.name }}等 解决办法&#xff1a; 1、可以通过VUE内置的指令v-cloak解决这个问题&#xff08;推荐&#xff09; 具体实现&#xff1a; <ul v-cloak v-for"ite…

java数组 —(8)

1.数组的创建与元素赋值&#xff1a; 杨辉三角&#xff08;二维数组&#xff09;、回形数&#xff08;二维数组&#xff09;、6个数&#xff0c;1-30之间随机生成且不重复。 2.针对于数值型的数组&#xff1a; 最大值、最小值、总和、平均数等 3.数组的赋值与复制 int[] a…

idea启动tomcat时报错:Error during artifact deployment. See server log for details.

Error during artifact deployment. See server log for details. 这个很多人都找不出来&#xff0c;原因无非2个&#xff1a; 一、jar 包有有些没能识别&#xff0c;tomcat没有配置好&#xff01; 二、这个一般代码错了&#xff1a; 除了看 server 的报错&#xff0c;别忘了看…

java运算符 —(9)

1.理解&#xff1a; ① 定义在java.util包下。 ② Arrays:提供了很多操作数组的方法。 2.使用&#xff1a; //1.boolean equals(int[] a,int[] b):判断两个数组是否相等。int[] arr1 new int[]{1,2,3,4};int[] arr2 new int[]{1,3,2,4};boolean isEquals Arrays.equals(a…

css 三角角标样式

.sanjiao {width: 0px;height: 0px;overflow: hidden;border-width: 100px;border-color: red transparent transparent transparent; border-style: solid dashed dashed dashed; }

leetcode 279 四平方定理

可以用四平方和定理&#xff1a;任意一个正整数都可以表示为4个以内整数的平方和。 如果一个数含有因子4&#xff0c;那么我们可以把4都去掉&#xff0c;并不影响结果。比如&#xff1a;8去掉4&#xff0c;12去掉3&#xff0c;返回的结果都相同。 如果一个数除以8余7&#xff0…

java类与对象 —(10)

1.面向对象学习的三条主线&#xff1a; 1.Java类及类的成员&#xff1a;属性、方法、构造器&#xff1b;代码块、内部类2.面向对象的大特征&#xff1a;封装性、继承性、多态性、(抽象性)3.其它关键字&#xff1a;this、super、static、final、abstract、interface、package、…

RESTful API 编写规范

基于一些不错的RESTful开发组件&#xff0c;可以快速的开发出不错的RESTful API&#xff0c;但如果不了解开发规范的、健壮的RESTful API的基本面&#xff0c;即便优秀的RESTful开发组件摆在面前&#xff0c;也无法很好的理解和使用。下文Gevin结合自己的实践经验&#xff0c;整…

Python2与Python3的区别

Python2与Python3的区别 1) 核心类差异 Python3 对 Unicode 字符的原生支持。 Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode&#xff0c;Python3 只 支持 unicode 的 string。Python2 和 Python3 字节和字符对应关系为&#xff1a; python2p…

JavaScript-内存空间

深入了解js这门语言后&#xff0c;才发现它有着诸多众所周知的难点&#xff08;例如&#xff1a;闭包、原型链、内存空间等&#xff09;。有的是因为js的设计缺陷导致的&#xff0c;而有的则是js的优点。不管如何&#xff0c;总需要去学会它们&#xff0c;在学习过程中我觉得只…

java类的结构1: 属性 —(11)

类的设计中&#xff0c;两个重要结构之一&#xff1a;属性 对比&#xff1a;属性 vs 局部变量 1.相同点&#xff1a; 1.1 定义变量的格式&#xff1a;数据类型 变量名 变量值1.2 先声明&#xff0c;后使用1.3 变量都其对应的作用域 2.不同点&#xff1a; 2.1 在类中声明的…

GXU - 7D - 区间求和 - 前缀和

https://oj.gxu.edu.cn/contest/7/problem/D 描述 有一个所有元素皆为0的数组A&#xff0c;有两种操作&#xff1a; 1 l r x表示将A区间[l,r]内所有数加上x&#xff1b; 2 l r表示将A区间[l,r]内从左往右数第i个数加上i&#xff1b; 给出m个操作&#xff0c;请输出操作结束后A中…