Java三(运算符 )
前言
本章是学习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三(运算符 )相关推荐
- Java移位运算符不外乎就这三种
Java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移) 1. 左移运算符 左移运算符<<使指定值的所有位都左移规 ...
- java三目运算符判断boonlean,java三元运算符
首先看一下三元运算符的格式 [条件语句] ? [表达式1] : [表达式2] 其中如条件语句为真执行表达式1,否则执行表达式2.简单的例子就不举了,来点其它的.在JDK1.5以前的版本中,表达式1和表 ...
- java 自定义运算符_Java中集合的自定义运算符
java 自定义运算符 总览 操作员重载有多种语言可用. Java对String类型的+运算符的支持对运算符的重载非常有限. 我们可以利用其他语言支持运算符的不同方式,但是我们可以在Java中实现一个 ...
- java移位运算符详解
java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移 ...
- Java小试牛刀—运算符
目录 1.前言 2.什么是运算符 3.算术运算符 3.1 基本四则运算符:加减乘除模(+ - * / %). 3.2 增量运算符 (+= -= *= %=) 3.3 自增/自减运算符++ -- 4.关 ...
- JAVA移位运算符-左移、右移、无符号右移 (简解)
java移位运算符:<<(左移).>>(带符号右移)和>>>(无符号右移). 一.左移运算符<< m<<n 代表把数字m在无溢出的前提 ...
- Java SE 运算符
Java SE 运算符 目录 Java SE 运算符 1.运算符 1.1.主要有6种: 1.2.可分为3类: 2.算术运算符 3.赋值运算符 4.位运算符 5.比较运算符|关系运算符 6.逻辑运算符 ...
- Java 位运算符详解
文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...
- java位运算符详解
java位运算符详讲 一.位运算符分类 java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^. 在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示. ...
- java int 运算符_Java 位运算符和 int 类型的实现
Java 位运算符和 int 类型的实现 其他运算符 # 算术运算符 +.-.*./.++i.i++.--i.i-- # 关系运算符 ==.!=.>.=.<= # 逻辑运算符 && ...
最新文章
- 对话微软黄学东:语音语言技术是镶在 AI 皇冠上的明珠
- postgresql根据字符分割数据为多列
- python访问服务器注册表,如何在Python中使用写入权限打开Windows注册表
- SQL:pgsql插入数据
- 14届数独-真题标准数独-Day 2-20220117
- 计算机函数两个表格找相同,wps筛选出两个表格中的重复项(countif 函数简单使用)【已解决】...
- c51单片机外部中断汇编语言,51单片机汇编语言外部中断笔记
- 4010. Problem E:11的倍数
- 留一份名单,以供研究:2009中国企业500强全名单
- 打造私人搜书系统之系统设计
- Spring07 Java配置
- 手机怎么压缩图片?分享一下压缩的好方法
- 理解什么叫“自然拼读”
- Adobe官方旗舰店,现已上线“Adobe国际认证”专家证书
- vs2019生成dll文件及(C#)使用
- 鸿蒙系统比安卓快,华为自研的鸿蒙系统比安卓快60%
- Java猜数字大小游戏
- Laravel开发的小程序后台管理系统
- 我的 C 语言学习生涯记——纪念 Dennis M. Ritchie
- 2013年华北五省计算机应用大赛,我校学生在华北五省计算机应用大赛获得佳绩...
热门文章
- mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...
- Java基础学习经验分享
- 免费获取全球夜间NPP VIIRS灯光数据!内附下载链接!
- jackson学习之五:JsonInclude注解
- 免费的聚合数据新闻头条API接口调用
- 浅谈信息无障碍人才的培养
- Windows Server 2008使用无线网卡上网
- C++软件开发经典面试题目
- matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
- mysql sphinx windows_sphinx安装 Windows端