前言

本章是学习Java语言的第三天内容运算符

有需要补充或需要注意的地方希望大佬指点。

文章目录

前言

运算符

一、算数运算符

应用场景

练习

二、类型转换的分类

隐式转换

两种规则:

强制转换

三、字符串相加

四、字符相加

注意事项

五、自增自减运算符

六、赋值运算符

七、关系运算符

注意事项

八、逻辑运算符

九、短路逻辑运算符

注意事项:

练习

十、三元运算符

练习

十一、运算符优先级

总结



运算符

一、算数运算符

+
-
*
/
% 取余/取模

如果在计算的时候有小数参与,结果有可能不精确的。

//除法//整数参与计算,结果只能得到整数//小数参与计算,结果可能不精确System.out.println(10/2);//5System.out.println(10/3);//3System.out.println(10.0/3);//3.3333333333333335
//取余System.out.println(10%2);//0System.out.println(10%3);//1

应用场景

1.可以用取余来判断,a是否可以被b整除

2.可以判断 a是否为偶数

练习

键盘录入一个三位数,将其拆分为个位,十位,百位后,打印出来

公式总结

个位:数值%10

十位:数值/10%10

百位:数值/100%10

public class Test {public static void main(String[] args) {//键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一个三位数");int number= sc.nextInt();System.out.println("个位是"+number%10);System.out.println("十位是"+number/10%10);System.out.println("百位是"+number/100%10);}
}

二、类型转换的分类

隐式转换

取值范围小的转换为取直范围大的

隐式转换(自动类型提升)

byte<short<int<long<float<double(最大 )

两种规则:

1.取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

2.byte short char 三种类型的数据在运算时,都会直接先提升为 int,再进行运算。

强制转换

取值范围大的转换为取值范围小的

格式:目标数据类型 变量名 = (目标变量类型)被强制转的数据;

三、字符串相加

当"+"操作中出现 字符串时,这个"+"是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。

"123"+123 //"123123"

连续进行"+"操作时,从左到右逐个执行。

1+99+"哈哈" //"100哈哈"

1+2+"abc"+2+1 //"3abc21"

四、字符相加

byte short char 三种类型的数据在运算 的时候,都会直接先 提升为int再进行运算

当字符+字符 与字符+数字的时候,会按照ascii表来计算

a对应97 A对应的是65

1+'a' //98

'a'+"abc" //"aabc"

注意事项

/和%区别:两个 数据做除法,/取结果的商,%取结果的余数。

整数操作只能得到整数,要想得到 小数,必须有浮点数参与运算。

五、自增自减运算符

注意:++和--可以放在变量前面,也可以放在 变量后边。

单独使用:++与--无论放到前面还是变量后边,单独写一行 结果是一样的。

参与计算:

int a = 10;

int b= a++; 先用后加 //b=10

int a = 10;

int b= ++a;先加后用 //b=11

六、赋值运算符

细节:short s = 1;

s += 1;//等同于s = (short)(s+1)

System.out.println(s);//2

七、关系运算符

注意事项

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

千万别把"=="写成"="。

八、逻辑运算符

九、短路逻辑运算符

注意事项:

&|,无论左边真 还是假,右边都要执行。

&& ||,如果左边能确定 整个表达式的结果,右边 不执行。

&&,左边为false,右边不管是真是假,但整个表达式的结果一定是false。

||:左边true,右边不管是真是假,整个表达式的结果一定是ture。

这两种情况下,右边不执行,提高了效率。

练习

数字6是一个真正伟大的数字,键盘录入两个整数。如果其中一个为6,最终结果输出true。

如果它们的和为6的倍数。最终结果输出true。其他情况都是false。

public class Shuziliu {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int i = sc.nextInt();System.out.println("请在输入一个整数:");int i1 = sc.nextInt();System.out.println((i==6||i1==6)||((i+i1)%6==0));}
}

十、三元运算符

格式:关系表达式 ?表达式 1:表达式2;

计算规则:

1.首先计算计算 关系表达式的值。

2.如果值为true,表达式1的值就是运算结果。

3.如果值为false,表达式2的值就是运算结果。

练习

求两个数的较大值

public class Sanyuan {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个数字:");int a = sc.nextInt();System.out.println("请再次输入一个数字:");int b = sc.nextInt();int num =  a>b?a:b;System.out.println("较大数是:"+num);}

十一、运算符优先级


总结

本章简单介绍了Java运算符,明天学习循环判断。

有不足的地方望大佬指点一二。

听君一席话,胜读十年书。

Java三(运算符 )相关推荐

  1. Java移位运算符不外乎就这三种

    Java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移) 1. 左移运算符 左移运算符<<使指定值的所有位都左移规 ...

  2. java三目运算符判断boonlean,java三元运算符

    首先看一下三元运算符的格式 [条件语句] ? [表达式1] : [表达式2] 其中如条件语句为真执行表达式1,否则执行表达式2.简单的例子就不举了,来点其它的.在JDK1.5以前的版本中,表达式1和表 ...

  3. java 自定义运算符_Java中集合的自定义运算符

    java 自定义运算符 总览 操作员重载有多种语言可用. Java对String类型的+运算符的支持对运算符的重载非常有限. 我们可以利用其他语言支持运算符的不同方式,但是我们可以在Java中实现一个 ...

  4. java移位运算符详解

    java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移 ...

  5. Java小试牛刀—运算符

    目录 1.前言 2.什么是运算符 3.算术运算符 3.1 基本四则运算符:加减乘除模(+ - * / %). 3.2 增量运算符 (+= -= *= %=) 3.3 自增/自减运算符++ -- 4.关 ...

  6. JAVA移位运算符-左移、右移、无符号右移 (简解)

    java移位运算符:<<(左移).>>(带符号右移)和>>>(无符号右移). 一.左移运算符<< m<<n 代表把数字m在无溢出的前提 ...

  7. Java SE 运算符

    Java SE 运算符 目录 Java SE 运算符 1.运算符 1.1.主要有6种: 1.2.可分为3类: 2.算术运算符 3.赋值运算符 4.位运算符 5.比较运算符|关系运算符 6.逻辑运算符 ...

  8. Java 位运算符详解

    文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...

  9. java位运算符详解

    java位运算符详讲 一.位运算符分类     java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^.  在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示. ...

  10. java int 运算符_Java 位运算符和 int 类型的实现

    Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...

最新文章

  1. 对话微软黄学东:语音语言技术是镶在 AI 皇冠上的明珠
  2. postgresql根据字符分割数据为多列
  3. python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表
  4. SQL:pgsql插入数据
  5. 14届数独-真题标准数独-Day 2-20220117
  6. 计算机函数两个表格找相同,wps筛选出两个表格中的重复项(countif 函数简单使用)【已解决】...
  7. c51单片机外部中断汇编语言,51单片机汇编语言外部中断笔记
  8. 4010. Problem E:11的倍数
  9. 留一份名单,以供研究:2009中国企业500强全名单
  10. 打造私人搜书系统之系统设计
  11. Spring07 Java配置
  12. 手机怎么压缩图片?分享一下压缩的好方法
  13. 理解什么叫“自然拼读”
  14. Adobe官方旗舰店,现已上线“Adobe国际认证”专家证书
  15. vs2019生成dll文件及(C#)使用
  16. 鸿蒙系统比安卓快,华为自研的鸿蒙系统比安卓快60%
  17. Java猜数字大小游戏
  18. Laravel开发的小程序后台管理系统
  19. 我的 C 语言学习生涯记——纪念 Dennis M. Ritchie
  20. 2013年华北五省计算机应用大赛,我校学生在华北五省计算机应用大赛获得佳绩...

热门文章

  1. mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...
  2. Java基础学习经验分享
  3. 免费获取全球夜间NPP VIIRS灯光数据!内附下载链接!
  4. jackson学习之五:JsonInclude注解
  5. 免费的聚合数据新闻头条API接口调用
  6. 浅谈信息无障碍人才的培养
  7. Windows Server 2008使用无线网卡上网
  8. C++软件开发经典面试题目
  9. matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
  10. mysql sphinx windows_sphinx安装 Windows端