位置: IT常识 - 正文

Java基础之运算符(java基础运算符有哪些)

编辑:rootadmin
Java基础之运算符 1.1 运算符介绍 1.1.1 运算符介绍 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等,运算符可分为: 1)算术运算符 2)赋值运算符 3)关系运算符 Java基础之运算符目录Java基础之运算符

1.1 运算符介绍

1.1.1 运算符介绍1.2 算术运算符

1.2.1 介绍1.2.2 算术运算符一览表1.2.3 代码演示1.2.4 细节说明1.2.5 面试题1.2.6 小练习1.3 关系运算符(比较运算符)

1.3.1 介绍1.3.2 关系运算符一览表1.3.3 案例演示1.3.4 细节说明1.4 逻辑运算符

1.4.1 介绍1.4.2 逻辑运算符一览表1.4.3 && 和 & 基本规则1.4.4 && 和 & 案例演示1.4.5 && 和 & 使用区别1.4.6 || 和 | 基本规则1.4.7 || 和 | 案例演示1.4.8 || 和 | 使用区别1.4.8 ! 取反基本规则1.4.9 ! 案例演示1.4.10 ^ 基本规则1.4.11 练习题 写出输出结果1.5 赋值运算符

1.5.1介绍1.5.2 赋值运算符的分类1.5.3 赋值运算符的特点1.6 三元运算符

1.6.1 基本语法1.6.2 使用细节1.7 运算符的优先级1.1 运算符介绍1.1.1 运算符介绍

推荐整理分享Java基础之运算符(java基础运算符有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java的算术运算,java运算符运算方法,java 运算,java基本运算是怎么执行的,java基本运算是怎么执行的,java 运算,java基础运算代码,java基础运算符有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等,运算符可分为:

1)算术运算符

2)赋值运算符

3)关系运算符 [比较运算符]

4)逻辑运算符

5)位运算符 [需要二进制]

6)三元运算符

1.2 算术运算符1.2.1 介绍

算术运算符是对数值类型的变量进行运算的,在Java程序中使用非常多

1.2.2 算术运算符一览表

1.2.3 代码演示public class ArithmeticOperator { /** * 演示算数运算符的使用 */ public static void main(String[] args) { System.out.println(10 / 4); //2 两个数都是int类型,结果为int类型 System.out.println(10.0 / 4); //2.5 有一个为double类型,结果为double类型 double d = 10 / 4; //10 / 4 为int类型,会自动转换为double类型 System.out.println(d); //2.0 // % 取余(取模) //在Java中 % 的本质是:a % b = a - a / b * b //-10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1 //10 % -3 => 10 - 10 / (-3) * (-3) = 10 - 9 = 1 //-10 % -3 => -10 - (-10) / (-3) * (-3) = -10 + 9 = -1 System.out.println(10 % 3); // 1 System.out.println(-10 % 3); // -1 System.out.println(10 % -3); // 1 System.out.println(-10 % -3); // -1 // ++的使用 /* 作为语句独立使用: 前++ 和 后++ 独立使用时都等价于 i = i + 1; */ int i = 10; i++; //自增 等价于 i = i + 1; => i = 11; ++i; //自增 等价于 i = i + 1; => i = 12; System.out.println("i=" + i); //12 /* 作为表达式使用: 前++: ++i 先自增后赋值 后++: i++ 先赋值后自增 */ int j = 8; int k = ++ j; //等价于 j = j + 1; k = j; int n = j ++; //等价于 n = j; j = j + 1; System.out.println("k=" + k + "n=" + n + "j=" + j); // k=9 n=9 j=10 }}1.2.4 细节说明对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如: int x = 10 / 3; 结果为3。当对一个数取余(取模),可以等价a % b = a - a / b * b ,根据这个公式,我们可以看到取余的一个本质运算。当自增当做一个独立语言使用时,不管是++i 还是 i++ 都是一样的,等价于 i = i + 1。当自增当做一个表达式使用时,前++: ++i 先自增后赋值;后++: i++ 先赋值后自增1.2.5 面试题

1)面试题一

int i = 1;

i = i++;

System.out.println(i);

结果为多少?为什么?

i = i++; 后++ 先赋值,后自增。这一过程中使用了临时变量来存放i的值

(1)int temp = i; // temp=1

(2)i = i + 1; // i=2

(3)i = temp; // i=1

所以最后结果为:i = 1

2)面试题二

int i = 1;

i = ++i;

System.out.println(i);

结果为多少?为什么?

i = ++i; 前++ 先自增,后赋值。这一过程中使用了临时变量来存放i的值

(1)i = i + 1; // i=2

(2)int temp = i; // temp=2

(3)i = temp; // i=2

所以最后结果为:i = 2

1.2.6 小练习

1)看看输出是什么?

int i1 = 10; int i2 = 20; int i = i1++; System.out.print("i="+i); //10 System.out.println("i2="+i2); //20 i = --i2; System.out.print("i="+i); //19 System.out.println("i2="+i2); //19步骤如下:

​ i1 = 10;

​ i2 = 20;

​ i = i1++; // 先赋值,后自增 i=10,i1=11,i2=20

​ i = --i2; // 先自减,后赋值 i2=19,i=19

2)假如还有 59 天放假,问:合 xx 个星期零 xx 天

public class ArithmeticOperatorExercise { public static void main(String[] args) { //假如还有 59 天放假,问:合 xx 个星期零 xx 天 /* 1)需求: 假如还有 59 天放假,问:合 xx 个星期零 xx 天 2)思路分析: 使用int型变量来存放天数 一星期有7天 天数除以7 可得星期数 天数对7取余 可得零几天 3)走代码: */ int days = 59; int weeks = days / 7; int leftDays = days % 7; System.out.println(days + "天合" + weeks + "个星期零" + leftDays + "天"); }}

3)定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:

5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。 [234.5]

public class ArithmeticOperatorExercise { public static void main(String[] args) { /* 1)需求: 定义一个变量保存华氏温度,请求出华氏温度对应的摄氏温度。 2)思路分析: 定义一个double变量fahrenheit保存华氏温度 根据公式计算对应的摄氏温度 定义一个double变量Celsius保存摄氏温度 3)走代码: */ double fahrenheit = 1234.6; double Celsius = 5.0 / 9 * (fahrenheit - 100); System.out.println("华氏温度" + fahrenheit + " 对应的摄氏温度="+ Celsius); }}1.3 关系运算符(比较运算符)1.3.1 介绍

1)关系运算符的结果都是boolean类型,要么是true,要么是false。

2)关系表达式经常用在if结构的条件或循环结构的条件中。

1.3.2 关系运算符一览表

1.3.3 案例演示public class RelationalOperator { //编写一个 main 方法 public static void main(String[] args) { int a = 9; // 开发中,不可以使用 a, b nt b = 8; System.out.println(a > b); //T System.out.println(a >= b); //T System.out.println(a <= b); //F System.out.println(a < b);//F 第 63页 System.out.println(a == b); //F System.out.println(a != b); //T boolean flag = a > b; //T System.out.println("flag=" + flag); } }

在开发中不可以使用a、b这种简单的字符来命名变量

1.3.4 细节说明

1)关系运算符的结果都是boolean类型,要么是true,要么是false。

2)关系运算符组成的表达式,我们称为关系表达式。

3)比较运算符"= ="不能误写成"="。

1.4 逻辑运算符1.4.1 介绍

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。。

1.4.2 逻辑运算符一览表

1)短路与 &&,短路或 ||,取反 !

2)逻辑与 &,逻辑或 |,逻辑异或 ^

3)运算规则说明:

a & b:& 叫逻辑与。当a和b同时为true,则结果为true,否则为false

a && b:&& 叫短路与。当a和b同时为true,则结果为true,否则为false

a | b:| 叫逻辑或。当a和b有一个为true,则结果为true,否则为false

a || b:|| 叫短路或。当a和b有一个为true,则结果为true,否则为false

!a:叫取反。当a为true,则结果为false;当a为false,则结果为true

a ^ b:叫逻辑异或。当a和b不同时,则结果为true,否则为false

1.4.3 && 和 & 基本规则Java基础之运算符(java基础运算符有哪些)

名称 语法 特点

短路与&& 条件1 && 条件2 当两个同时为true,则结果为true,否则为false。如果条件1为false,则不判断条件2,结果为false

逻辑与& 条件1 & 条件2 当两个同时为true,则结果为true,否则为false.如果条件1为false,继续判断条件2,结果为false

1.4.4 && 和 & 案例演示public class LogicOperator01 { public static void main(String[] args) { // &&短路与 和 &逻辑与 演示 /* && 规则: 两个条件都为true,结果为 true,否则为 false & 规则: 两个条件都为true,结果为 true,否则为 false */ // &&短路与 int age =50; if(age > 20 && age < 90){ System.out.println("0k100"); } // &逻辑与 if(age > 20 & age < 90) { System.out.println("ok200"); } //区别 int a = 4; int b = 9; //对于&&短路与而言,如果第一个条件为 false ,后面的条件不再判断 //对于&逻辑与而言,如果第一个条件为 false ,后面的条件仍然会判断 if(a < 1 & ++b < 50) { System.out.println("ok300"); } System.out.println("a=" + a + " b=" + b);// a=4 b=10 }}1.4.5 && 和 & 使用区别

&&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高

& 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低

开发中, 我们使用的基本是使用短路与&&, 效率高

1.4.6 || 和 | 基本规则

名称 语法 特点

短路或|| 条件1 && 条件2 当两个中有一个为true,则结果为true,否则为false。如果条件1为true,则不判断条件2,结果为true

逻辑或| 条件1 & 条件2 当两个中有一个为true,则结果为true,否则为false.如果条件1为true,继续判断条件2,结果为true

1.4.7 || 和 | 案例演示public class LogicOperator02 { public static void main(String[] args) { // ||短路或 和 |逻辑或 演示 /* ||短路或: 两个条件中只要有一个成立,结果为 true,否则为 false |逻辑或: 两个条件中只要有一个成立,结果为 true,否则为 false */ int age = 50; if(age > 20 || age < 30) { System.out.println("ok100"); } //&逻辑与使用 if(age > 20 | age < 30) { System.out.println("ok200"); } //区别 int a = 4; int b = 9; //对于||短路或而言,如果第一个条件为 true ,后面的条件不再判断 //对于|逻辑或而言,如果第一个条件为 true ,后面的条件仍然会判断 if( a > 1 || ++b > 4) { // 可以换成 | 测试 System.out.println("ok300"); } System.out.println("a=" + a + " b=" + b); //4 9 }}1.4.8 || 和 | 使用区别

||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

开发中,我们基本使用 ||

1.4.8 ! 取反基本规则

名称 语法 特点

! 非(取反) ! 条件 如果条件本身成立,结果为 false,否则为 true

1.4.9 ! 案例演示public class InverseOperator { public static void main(String[] args) { // ! 操作是取反 T->F F->T System.out.println(60 > 20); //T System.out.println(!(60 > 20)); //F // a^b:逻辑异或,当a和b不同时,则结果为true,否则为false boolean b = (10 > 1) ^ ( 3 > 5); System.out.println("b=" + b); //T }}1.4.10 ^ 基本规则

a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

^逻辑异或,System.out.println( (4 < 1) ^ (6 > 3) );

1.4.11 练习题 写出输出结果 int x = 5; int y = 5; if(x++ == 6 & ++y == 6){ //① x = 11; //② } System.out.println("x=" + x + "y=" + y);// x=6,y=6

讲解:

​ 在程序执行到①的时候,x++是后++,x先与6进行比较,结果为false,x加1之后x=6。

​ 逻辑与第一个为false还要继续判断第二个条件。++y是先++,y先加1之后y=6,y与6进行判断,结果为true。

​ false & true 结果为false,不执行if语句里面的内容。

int x = 5; int y = 5; if(x++ == 6 && ++y == 6){ //① x = 11; //② } System.out.println("x=" + x + "y=" + y);// x=6,y=5

讲解:

​ 在程序执行到①的时候,x++是后++,x先与6进行比较,结果为false,x加1之后x=6。

​ 短路与第一个条件为false,不用判断第二个条件,y没有进行自加操作y=5。

int x = 5; int y = 5; if(x++ == 5 | ++y == 5){ //① x = 11; //② } System.out.println("x=" + x + "y=" + y);// x=11,y=6

讲解:

​ 在程序执行到①的时候,x++是后++,x先与5进行比较,结果为true,x加1之后x=6。

​ 逻辑或第一个为true还要继续判断第二个条件。++y是先++,y先加1之后y=6,y与5进行判断,结果为false。

​ true | false 结果为true,执行if语句里面的内容②,x=11。

int x = 5; int y = 5; if(x++ == 5 || ++y == 5){ //① x = 11; //② } System.out.println("x=" + x + "y=" + y);// x=11,y=5

讲解:

​ 在程序执行到①的时候,x++是后++,x先与5进行比较,结果为true,x加1之后x=6。

​ 短路或第一个为true不需要继续判断第二个条件。

​ 执行if语句里面的内容②,x=11。y没有进行自加操作y=5。

boolean x = true; boolean y = false; short z = 46; if((z++ == 46) && (y = true)) z++; //① if((x = false) || (++z == 49)) z++; //② System.out.println("z=" + z); //z=50

讲解:

​ 在程序执行到①的时候,z++是后++,z先与46进行比较,结果为true,z加1之后z=47,判断条件二,y被赋值为true。执行z++操作,z=48.

​ 在程序执行到②的时候,x=false为false,继续判断第二个条件,++z是先++,z加1之后z=49。然后再执行z++操作,z=50.

1.5 赋值运算符1.5.1介绍

赋值运算符就是将某个运算后的值,赋给指定的变量

1.5.2 赋值运算符的分类

基本赋值运算符 =:int a = 10;

复合赋值运算符

+=,-=,*=,/=,%= 等

举例说明:

a += b; <==> a = a + b;

a -= b; <==> a = a - b;

1.5.3 赋值运算符的特点

1)运算顺序从右往左 int num = a + b + c;

2)赋值运算符的左边 只能是变量,右边可以是变量、表达式、常量

3)复合赋值运算符等价于下面的效果

a += 3 等价于 a = a + 3;

4)复合赋值运算符会进行类型转换

byte b = 3; b += 2; // 等价于 b = (byte)(b + 2); 如果直接写成b=b+1,编译会报错 b++; // b = (byte)(b + 1);1.6 三元运算符1.6.1 基本语法

条件表达式 ? 表达式1 : 表达式2;

运算规则:

1)如果条件表达式为true,运算后的结果是表达式1;

2)如果条件表达式为false,运算后的结果是表达式2;

1.6.2 使用细节

表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换)

三元运算符可以转成 if--else 语句

​ int res = a > b ? a++ : --b;

​ 可以转换成:

​ if(a > b) res = a++;

​ else res = --b;

public class TernaryOperator { public static void main(String[] args) { //表达式 1 和表达式 2 要为可以赋给接收变量的类型 //(或可以自动转换/或者强制转换) int a = 3; int b = 8; int c = a > b ? (int)1.1 : (int)3.4;//可以 double d = a > b ? a : b + 3;//可以,满足 int -> double } }1.7 运算符的优先级

可以记住口诀:后单四移关,等位逻三赋

单目运算符,四则运算符,移位运算符,关系运算符,等值运算符,位运算符,逻辑运算符,三目运算符,赋值运算符

本文链接地址:https://www.jiuchutong.com/zhishi/310415.html 转载请保留说明!

上一篇:python如何在word中读取表格内容(python如何在一个文件中运行另一个文件)

下一篇:phpcms判断是否有下级栏目(php判断是否存在某字符串)

  • 网站外链推广的7个错误方法!(网站外链有什么好处)

    网站外链推广的7个错误方法!(网站外链有什么好处)

  • 小红书如何建群(小红书如何建群2022)

    小红书如何建群(小红书如何建群2022)

  • 华为畅享10s是什么处理器(华为畅享10s是什么时候出的)

    华为畅享10s是什么处理器(华为畅享10s是什么时候出的)

  • qq字符sco是什么意思(qq字符ciao是什么意思)

    qq字符sco是什么意思(qq字符ciao是什么意思)

  • 照片弄成漫画图怎么弄(照片弄成漫画图的软件)

    照片弄成漫画图怎么弄(照片弄成漫画图的软件)

  • airpods pro支持快充吗(airpodspro能用快充充电吗?)

    airpods pro支持快充吗(airpodspro能用快充充电吗?)

  • 小米mi3w是全网通吗(小米3g网)

    小米mi3w是全网通吗(小米3g网)

  • 2020淘宝清空购物车活动什么时候开始(2022淘宝清空购物车攻略)

    2020淘宝清空购物车活动什么时候开始(2022淘宝清空购物车攻略)

  • 华为手机流量显示在哪里设置(华为手机流量显示怎么关闭)

    华为手机流量显示在哪里设置(华为手机流量显示怎么关闭)

  • 抖音号永久封禁还能解封吗(怎么让抖音号永久封禁)

    抖音号永久封禁还能解封吗(怎么让抖音号永久封禁)

  • 中评对店铺有影响吗(一个中评对网店的影响)

    中评对店铺有影响吗(一个中评对网店的影响)

  • 苹果xsmax关机键不能关机(苹果xsmax关机键怎么设置)

    苹果xsmax关机键不能关机(苹果xsmax关机键怎么设置)

  • 苹果7p电池健康多少需要换电池(苹果7p电池健康79%要换吗)

    苹果7p电池健康多少需要换电池(苹果7p电池健康79%要换吗)

  • qq怎么才算访问了空间(qq怎么才算访问别人空间)

    qq怎么才算访问了空间(qq怎么才算访问别人空间)

  • 抖音一天可以发几条(抖音一天可以发多少条评论)

    抖音一天可以发几条(抖音一天可以发多少条评论)

  • 淘宝买家5个心是什么等级(淘宝买家5心级别算高吗)

    淘宝买家5个心是什么等级(淘宝买家5心级别算高吗)

  • 苹果出厂顺序(苹果手机的出厂顺序)

    苹果出厂顺序(苹果手机的出厂顺序)

  • 表格怎么让字竖着(表格中如何让字竖着)

    表格怎么让字竖着(表格中如何让字竖着)

  • 手机怎么保存qq聊天记录(手机怎么保存qq群头像)

    手机怎么保存qq聊天记录(手机怎么保存qq群头像)

  • realmex2pro怎么截屏(realmex怎么截屏)

    realmex2pro怎么截屏(realmex怎么截屏)

  • 笔记本和平板的区别(笔记本和平板的区别在哪里)

    笔记本和平板的区别(笔记本和平板的区别在哪里)

  • 如何关闭淘宝人生(如何关闭淘宝人脸验证)

    如何关闭淘宝人生(如何关闭淘宝人脸验证)

  • 知乎怎么找人(知乎怎么找人发文章)

    知乎怎么找人(知乎怎么找人发文章)

  • 设置备注和标签怎么弄(设置备注和标签电话号码怎么取消)

    设置备注和标签怎么弄(设置备注和标签电话号码怎么取消)

  • 〖2023·新星计划·第四季〗开启,计算机视觉方向火爆预热中~(新星计划2021)

    〖2023·新星计划·第四季〗开启,计算机视觉方向火爆预热中~(新星计划2021)

  • 工会筹备金的计税依据是应发工资还是实发工资
  • 筹资现金流量净额为负说明了什么问题
  • 货物退回是什么意思
  • 买烟草可以开发票吗
  • 电子发票可以更改备注吗
  • 其他应收款重分类
  • 行政单位的财务报告包括财务报表和财务情况说明书
  • 一般纳税人增值税申报操作流程
  • 公司代扣社保为什么是400多余的钱
  • 车间领用周转材料会计分录怎么写
  • 申请国家知识产权的条件
  • 自营方式建造固定资产增值税
  • 提前还款罚息是多少
  • 开票方与受票方的区别
  • 汽车销售行业的现状及发展趋势
  • 事业单位取得的财政拨款免税吗
  • 工会经费什么时候返还给企业
  • 企业开办费摊销期限的税法规定
  • 印花税申报数据来源
  • 销售使用过的板房如何缴税?
  • 股权激励取消怎么处理?
  • 办理税务迁移
  • 收到代收款怎么做分录
  • 物业预收的物业费怎么做会计分录?
  • 企业废业实收资产怎么算
  • php开源软件
  • php调用sql
  • Win10 Build 19044.1288累积更新补丁KB5006670(附更新修复内容汇总)
  • php gethostname
  • 代开票作废税未退该如何分录?
  • vue登录页面点击登录进入首页
  • 罚款在企业所得税前可以扣除吗
  • 外企采购回扣普遍吗
  • 购进的货物
  • uniapp引入全局scss
  • 衍生工具主要用途
  • 合伙企业利润分配原则
  • 错误解决方法
  • sessionn
  • nvme安装win10教程
  • pytorch 例子
  • ChatGPT火爆来袭,携手参与为开源助力
  • php封装数据库操作
  • 如何更改telnet端口
  • wordpress图片模板
  • 小规模纳税人一年不超过多少万
  • 预提的管理费用,汇算清缴怎么做
  • 小规模纳税人免增值税的账务处理
  • 发票商品分类
  • 摘要概括增值税专用发票的基本联次
  • 企业代扣代缴个人所得税申报流程图
  • 异地如何申报纳税
  • mysql命令行工具是什么
  • 建筑行业旧项目怎么处理
  • 长期待摊费用进项税分录
  • 计提附加税金额
  • 医院收费票据可以入账吗
  • 把办公场所转租合法吗
  • 企业垃圾桶
  • 水电费没有发票可以入账吗
  • 日记账对方科目代表什么意思
  • 开具其他发票收入填报异常
  • 应收票据和应付票据可以对冲吗
  • 会计刚开始学什么
  • 建筑施工企业会计分录大全
  • mysql查询倒数第二个字母为a
  • 电脑进程里的system
  • ubuntu configure
  • kali渗透工具安装
  • win8删文件需要权限怎么弄
  • perl hex
  • unity怎么做触屏按键
  • linux开机启动进程
  • 备份多个数据库
  • js跳出if语句
  • jquery的实现原理
  • UNITY gameobject代码中setacvtive(false)与面板中直接去掉勾 效果不一样
  • jquery 弹出页面
  • 税务登记证书怎么办
  • 如何理性看待出轨
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设