java--运算符和表达式
运算符:就是对常量或者遍历进行操作的符号;
表达式:用运算符把常量或者变量连接起来符合java语法的式子称为表达式,不同运算符连接的表达式体现的是不同类型的表达式。
一、算术运算符
1、使用%运算符:
- java中运算符除了加减乘除之外,还有取余(%)运算以及自增(++)自减(--)
- 取余(取模),意为取余数,可以用于整数、char和浮点数。
1 //1、取余
2 int n=255;
3 char n2='A';
4 double n3=16.8;
5 System.out.println(n3&8);//0.800000000000007
6 int a=6;
7 int b=4;
8 System.out.println(a+b);//10
9 System.out.println(a-b);//2
10 System.out.println(a*b);//24
11 System.out.println(a/b);//1
12 System.out.println(a%b);//2
13 //除法得到的是商,取余得到的是余数
14 //整数相除只能得到整数,要想得到小数,必须有浮点数的参与
15 System.out.println(6.0/4);//1.5
注意事项:
- /和%的区别:两个数据做除法,/取结果的商,%取结果的余数;
- 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
2、字符“+”操作:
拿字符在计算机底层对应的数值来进行计算的
‘A’----65;A-Z是连续的
'a'----97;a-z是连续的
‘0’----48;0-9是连续的
1 int i=10;
2 //char c='A';//75,"A"的值为65
3 //char c='a';//107 “a”的值为97
4 char c='0';//58 “0”的值为48
5 System.out.println(i + c);//58
6
7
8 //char ch=i+c;//类型错误,char类型会被自动提升为int类型
9 int j=i+c;
10 System.out.println(j);//58
11
12 double k=10+13.14;
13 System.out.println(k);
注意:算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升
提升规则:
byte类型,short类型和char类型将被提升到int类型;
整个表达式的类型自动提升到表达式中最高等级操作同样的类型
等级顺序:byte,short,char--->int----->long---->flooat---->double
3、字符串“+”操作:
当“+”操作中出现字符串时,这个“+”时字符串连接符,而不是算数运算;
在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算数运算,当连续进行“+”操作时,从左到右逐个执行
例如:1+99+“年级”=====100年级
二、自增自减运算
- 前置自增自减:先自增自减后运算
- 后置自增自减:先运算后自增自减(后边的居多)
1 int a=10,b=20;
2 int c1=a++;
3 int c2=++b;
4 System.out.println("a="+a+",b="+b+"c1="+c1+",c2"+c2);//11 21 10 21
结论:
- 单独使用的时候,变量无论是前置还是后置运算,其结果一定为+1;
- 只在使用它的时候考虑前置和后置规则;
- 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或--;
- 参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与运算。
三、关系运算符:
1 //不管成立不成立,结果为布尔值,true or false
2
3 int max=10;
4 int num=9;
5 boolean b1=max>15;//false
6 boolean b2=num%2==1;//true
7 System.out.println(num=max);//把max的值赋值给num
四、逻辑运算符:
1、逻辑运算&&逻辑与||逻辑或!逻辑非
结论:与运算:一假必假
或运算:一真必真
2、使用逻辑运算符
1 //4、逻辑运算符
2 //与
3 int score=80;
4 boolean res13=score>=60&&score<=90;//true
5 //或
6 boolean flag=true;
7 int i=200;
8 boolean res2=flag||(i>=0&&i<10);//true
9 //非
10 res2=!flag||(i>=0&&i<10);//flase
3、“短路逻辑”运算符
(&&)短路与运算:一假必假 指:当一个表达式为假时后面的表达式就不会再取运算了
(||)短路或运算:一真必真 指:当第一个表达式为真时后面的表达式不参与运算
1 int i=100,j=200;
2 boolean b1=(i>j)&&(i++>100);
3 System.out.println(b1);
4 System.out.println(i);
5 boolean b2=i>0||j++>200;
6 System.out.println(b2);
7 System.out.println(j);
五、赋值运算
1、使用“=”进行赋值运算
赋值运算符一定是从右边表达式看向左边
i=1;表达式将1赋值给i;
1 //赋值运算符
2 int x,y,c;
3 x=y=c=100;
4 //将100赋值给c----》b=(c=100)
2、使用扩展赋值表达式
1 i=10;
2 i += 20;//把左边和右边的数据做加法操作,结果赋值给左边,相当于 i=i+20;
3 //注意:扩展的赋值运算符底层隐含了强制类型转化;
4 short s=10;
5 s=(short)(s+20);
6 System.out.println(s);
六、三目运算符
1、使用三目运算符
三目运算符(条件运算符):
boolean表达式?表达式1:表达式2;
boolean表达式为true,则运算表达式1,否则运行表达式2.
自右向左结合 1 String s=65>60?"及格":"不及格";//不及格
2、三目的嵌套:
三目运算符可以嵌套使用,表达式1和表达式2的结果可以为嵌套三目的boolean表达式
1 int a=-1; 2 String r=a>0?"正数":(a==0?"0":"负数");
七、位运算符:
按照二进制数进行操作;
操作数:整型
& | ^:boolen
& | ^ ~ << >> >>>
&:(与运算:两个同时为1,结果为1,否则为0)
0&0 1&0 0&1 1&1
|:(或:参加运算的两个对象,一个为1,其值为1)
0|0 1|0 0|1 1|1
^:(异或:相同为0,不同为1,将某些位置取反)
0^0 1^0 0^1 1^1
java--运算符和表达式的更多相关文章
- java 运算符使表达式结果类型自动提升
1.表达式中的自动类型提升: 表达式求值时,Java自动的隐含的将每个byte.short或char操作数提升为int类型,这些类型的包装类型也是可以的. 例如:short s1 = 1; s1 = ...
- 初识java——运算符和表达式以及注释
java中有不同的运算符,并且在运算中有着优先级的排序计算,其中++和——的优先级最高,最先计算 运算符注意:1,增量和减量运算符++,——. int a=1++; int b=++1; 其中1++表 ...
- [零基础学JAVA]Java SE基础部分-03. 运算符和表达式
转自:http://redking.blog.51cto.com/27212/116751 1.课程名称:运算符.表达式 讲解了JAVA中各种运算符的使用,包括与.或.非.大于.小于等. 2.知识点 ...
- [Java 基础]运算符和表达式
Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量 ...
- java与.net比较学习系列(4) 运算符和表达式
上一篇总结了java的数据类型,得到了冰麟轻武等兄弟的支持,他们提出并补充了非常好的建议,在这里向他们表示感谢.在后面的文章中,我会尽力写得更准确和更完善的,加油! 另外,因为C#是在java之后,也 ...
- JAVA基础——运算符和表达式
JAVA语言常用的运算符和表达式详解 一.简述 运算符是一种"功能"符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个&q ...
- JAVA语言中的运算符和表达式
JAVA——运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的“+”.“—”,和自增“++”.自减“- -”. 二元运算符有两个操作数:如除法 ...
- java基础(4)--运算符及表达式
运算符及表达式 算数运算 加(+) 减(-) 乘(*) 除(/) 取余(%) 自增(++) 自减(- -) 注意点 1. 同种类型参与运算(可能需要自动类型转换),返回同种类型 2. 整数的除法是整 ...
- 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...
- Java(4)运算符及表达式
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201675.html 博客主页:https://www.cnblogs.com/testero ...
随机推荐
- 阿里云服务器的购买、基本配置、(xshell)远程连接、搭建环境
一.服务器的购买 1.购买时间点:搞活动的时候.利用学生身份购买 (1)活动:想白嫖一台服务器 双十一,可以在双十一左右,时间提前一点,百度或B站,搜阿里云服务器.腾讯服务器(618可能也有) 一般, ...
- Runable与Callable的区别
Runable与Callable的区别: public interface Callable<V> { V call() throws Exception;//V是Callable返回值的 ...
- 团队Arpha5
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络 ...
- 3.yum学习笔记
一.yum介绍 将所有的rpm软件包放到指定服务器上,当进行yum在线安装时,可以自动解决依赖性问题. yum配置文件常位于/etc/yum.repo.d 目录下 [root@aaa251 ~]# c ...
- Docker系列教程01-使用Docker镜像
docker系列导读 一文带你读懂什么是docker Docker安装部署 10张图带你深入理解Docker容器和镜像 前言 学习Docker,我们需要掌握它的三大核心概念:镜像.容器和仓库. 今天先 ...
- 百度SEO算法技术的局限性,怎么做才能有收益
不知道大家有没有发现,我们使用百度的频率在减少,就算有时遇到一些问题,需要用百度来寻找答案,也会经常遇到搜索不到答案的情况.到底是出了什么问题?难道网络上的资源不够丰富了?浩如烟海的互联网,居然搜索不 ...
- Git 日志提交规范
Commit messages的基本语法 当前业界应用的比较广泛的是 Angular Git Commit Guidelines 具体格式为: <type>: <subject> ...
- 设计模式---单例模式,pickle模块
设计模式---单例模式 简介 单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实 例存在.当你希望在整个系统中,某个类只能出现一个实例时 ...
- NLP教程(7) - 问答系统
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-det ...
- Cocos---监听、触摸事件、坐标系转换
监听.触摸事件.坐标系转换 Creator的系统事件 分为"节点系统事件"和"全局系统事件". 节点系统事件:触发在节点上,包括鼠标事件和触摸事件. 全局系统事 ...