3.java运算符

发布时间:2026/10/18 15:11:37
3.java运算符 算术运算符算术运算符是对数值型的变量进行运算的。常用算术运算符所以运算符在java中表示三中含义正号、加、字符串连接。 / % 运算符publicclassSuanshuYsf{publicstaticvoidmain(String[]args){//除法System.out.println(10/4);//从数学来看是2.5实际是2doubled110/4;// 10 / 4 2; d1 2.0;System.out.println(d1);//2.0System.out.println(10.0/4);//取模(取余数) java中取模的本质是一个公式//如果被除数除数取余就仍然是被除数。 1%31 2%52 -2%5-2//如果被除数除数结果为0//如果被除数除数//a % b a - a / b x b//如果 a 为小数时a % b a - (int)a / b x b//如果 a b 为小数时a % b a - (int)(a / b) x bSystem.out.println(10%3);// 1System.out.println(-10%3);// -1System.out.println(10%-3);// 1System.out.println(-10%-3);// -1System.out.println(-10.5%3);// -1.5System.out.println(-10.5%-3);// -1.5////前 后//作为独立运算时使用 i 和 i 没有任何区别inti1;i;//i i 1;System.out.println(i);// 2i;//i i 1;System.out.println(i);// 3//如果作为混合运算时//前: j i; 先自增后执行动作//后: k i; 先执行动作(这里的赋值是先给临时变量然后由临时变量付给变量)后自增。java的编译器在遇到i和i--的时候会重新为变量运算分配一块内存空间以存放原始的值而在完成了赋值运算之后将这块内存释放掉。//intji;System.out.println(j j i i);//j 4; i 4;intki;//int tmp i; i i 1; k tmp;System.out.println(k j i i);//k 4; i 5;}}关系运算符(比较运算符)用于表示一个表达式结果的运算。关系运算符的结果是一个boolean值。true或false常用关系运算符inta6;intb7;booleanflagab;逻辑运算符用于表示多个表达式结果的运算符结果为一个boolean值。逻辑运算符要求均为布尔类型。常用逻辑运算符分为两组短路与, 短路或||, 取反!逻辑与逻辑或|, 逻辑异或^运算规则:逻辑异或当a和b不同是则结果为true,否则为false;短路与和逻辑与的区别短路与: 如果第一个条件为false, 后边的条件不在去判断结果为flase。效率高逻辑与: 不管第一个条件是否为false, 都会去判断后边的条件结果为flase。效率低inta5;intb8;if(a2b6){System.out.println(ok);}System.out.println(a a bb);// b 8;if(a2b6){System.out.println(ok);}System.out.println(a a bb);//b 9;短路或和逻辑或||短路或: 如果第一个条件为true, 后边的条件不在去判断结果为true。效率高|逻辑或: 不管第一个条件是否为true, 都会去判断后边的条件结果为true。效率低inta5;intb8;if(a2||b6){System.out.println(ok);}System.out.println(a a bb);// b 8;if(a2|b6){System.out.println(ok);}System.out.println(a a bb);//b 9;取反操作(略)逻辑异或(略)赋值运算符基本赋值运算符int a 15;复合赋值运算符a ba - ba * ba / ba % b复合复制运算符会进行类型转换byteb2;b3;//这里有个细节 b (byte)(b 3)b;//b (byte)(b 1)三元运算符结果 布尔表达式?表达式1(true):表达式2(false)inta10;intb99;intresultab?a:b;//这里执行 b时候是先执行result b; b b 1; 这里的b并不是独立运算是赋值运算。**使用细节:**表达式1 和 表达式2 的类型要和赋值的变量类型一致或可以自动转换三元运算符本质intresultab?a:b;//本质是一个if else 语句if(ab){resulta;}else{resultb;}三元运算符可以嵌套使用intresult(sd?c:e)b?a:b;运算符优先级上表特点:上边优先级大于下边只有单目运算、赋值运算从右向左。位运算(一般密码学经常使用)java 中有7个位运算分为两组、|、^、~、、 和 ,位运算是对二进制的操作。位运算符仅支持整数类型int、long、char、byte、short、|、^、~按位与:n 0 0; // 0 n 0 1; // 0 n 1 0; // 0 n 1 1; // 1按位或|n 0 | 0; // 0 n 0 | 1; // 1 n 1 | 0; // 1 n 1 | 1; // 1按位异或^:n0^0;// 0n0^1;// 1n1^0;// 1n1^1;// 0按位取反~: 0-1, 1-0。作用对象是一个二进制。2 3 示例~-2示例:~2 示例:、 和 算术右移: 低位溢出符号位不变并用符号位补溢出的高位。算术左移: 符号位不变低位补0。逻辑右移也叫无符号右移 规则是低位溢出高位补0。它的特点是不管符号位右移后高位总是补0特别说明没有符号inta12;// ... 0000 0001 ... 0000 0000 本质: 1 / 2 / 2 相当于向右边移动一位1就除以2intb12;// ... 0000 0001 ... 0000 0100 本质: 1 * 2 * 2 相当于向左边移动一位1就乘以2

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询