Java基本语法--运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。本篇博客详细介绍Java基本语法中的运算符,主要包括算术运算符、赋值运算符、比较运算符(关系运算符)、逻辑运算符、位运算符、三元运算符。
Java基本语法--运算符
算术运算符
♫♬♭♩♪:
♫ 如果对负数取模,可以把模数负号忽略不记,如:5 % (-2) = 1。 但被模数是
负数则不可忽略。取余的结果符号与被模数的符号相同。此外,取模运算的结果不一定总是整数。
♪ 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,结果只
保留整数部分而舍弃小数部分。如:12 / 5 * 5 = 10;
♬ “+”字符串相加功能外时需格外注意顺序,字符串与非字符串相“+”时结果还是一个字符串。如:System.out.println(“10 + 1 = ” + 10 + 1);结果为:10 + 1 = 101。
练习:
随意给出一个三位整数,打印显示它的个位数,十位数,百位数的值。
例如:数字621输出结果为:
百位数:6
十位数:2
个位数 :1
public class getNumber {
public static void main(String[] args) {
int number = 621;
int hundred = number / 100;
int decade = number % 100 / 10;
int bits = number % 10;
System.out.println(number + "的百位是:" + hundred);
System.out.println(number + "的十位是:" + decade);
System.out.println(number + "的个位是:" + bits);
}
}
赋值运算符
* **符号:=**
➠ 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制
类型转换原则进行处理
➠ 支持连续赋值
扩展赋值运算符: +=, -=, *=, /=, %=
➠ num += a;相当于num = num + a;
➠ num -= a;相当于num = num - a;
➠ num *= a;相当于num = num * a;
➠ num /= a;相当于num = num / a;
➠ num %= a;相当于num = num % a;
➠ 使用扩展赋值运算不会改变数字的性质
//声明变量时赋值
int i1 = 10;
int j1 = 10;
int i2 = 20,j2 = 20;
//连续赋值
int i3,j3;
i3 = j3 = 30;
//扩展赋值运算符
short s1 = 1;
// System.out.println(s1 + 1);编译失败,s1 + 1为int型无法赋值给short型变量
s1++
System.out.println(s1); //输出结果为2
int a1 = 1,a2 = 1;
a1 *= 0.1;
System.out.println(a1); //结果为0,不改变变量i的性质
System.out.println(a2 * 0.1); //结果为0.1,自动转换为double型
比较运算符
➠ 比较运算符的结果都是boolean型,要么是true,要么是false
➠ 注意区分“==” 与“=”的区别,不要混淆使用
int i = 1;
int j = 2;
System.out.println(i == j); //输出false
System.out.println(i = j); //输出2
逻辑运算符
&--逻辑与 | |--逻辑或 | !--逻辑非 |
&&--短路与 | || —短路或 | ^ —逻辑异或 |
➻ 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写
成x>3 & x<6
➻ “&”和“&&”的区别:
&时,左边无论真假,右边都进行运算
&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
➻ “|”和“||”的区别:
|时,左边无论真假,右边都进行运算
||时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
➻ 异或( ^ )与或( | )的不同之处是:当左右相同时,结果为false
✒ 开发中推荐使用‘&&’和‘||’
/*&与&&的区别,|与||相同*/
class Demo {
public static void main (String [] args) {
boolean b1 = false,b2 = false;
int num1 = 1,num2 = 1;
if(b1 & (num1++) > 0){
System.out.println("Hello World!");
}else{
System.out.println("你好世界");
}
System.out.println(num1);
if(b2 && (num2++) > 0){
System.out.println("Hello World!");
}else{
System.out.println("你好世界");
}
System.out.println(num2);
}
}
/*输出结果:
你好世界
2
你好世界
1
*/
练习:
class Test {
public static void main (String [] args) {
boolean x = true;
boolean y = false;
short z = 42;
if((z++ == 42)&&(y = true))z++;
if((x = false) || (++z == 45)) z++;
System. out.println("z=" + z);
}
}
鼠标移动到✍上显示结果
位运算符
位运算是直接对整数的二进制进行的运算
二进制码说明
- 最高位为符号位0为正数,1为负数
- 计算机底层都是使用二进制表示的数值,都以补码的方式来存储数据
- 对于正数来说:原码、反码、补码是相同的,三码合一
左移右移原理示图:
详细说明:
三元运算符
格式:(表达式)?表达式1 : 表达式2;
表达示正确时,结果为表达式1;表达式错误时,结果为表达式2。
- 表达式1 和表达式2为同种类型
- 三与 元运算符与if-else
- 三元运算符可简化if-else语句,但是if-else不一定可以转换为三元运算符
- 三元运算符要求必须返回一个结果
- if后的代码块可有多个语句
- 如果可以使用三元运算符建议优先选择使用三元运算符(代码简单,效率高一些)
练习:
取两个数中的较大值
class MaxNumInTwoNumber {
public static void main(String args[]){
int m = 23;
int n = 12;
int max = (m > n) ? m : n;
System.out.println(max); //输出结果为23
n = 23;
String maxStr = (m > n)? "m大于n" : ((m == n)? "m等于n" : "n大于m")
System.out.println(maxStr); //输出结果为:m等于n
//三元运算符改为if-else语句
n = 12;
if(m > n){
System.out.println("两个数中的最大值是:"+m);
}else
System.out.println("两个数中的最大值是:"+n);
}
}
}
运算符的优先级
➠ 运算符有不同的优先级,所谓
优先级就是表达式运算中的运
算顺序。如右表,上一行运算
符总优先于下一行
➠ 只有单目运算符、三元运算符、
赋值运算符是从右向左运算的
✒ 开发中尽量使代码简洁效率,对于想优先运算的可以直接加(),一条运算不易过长,可分为多条进行运算
本博客与CSDN博客༺ཌ༈君☠纤༈ད༻同步发布
Java基本语法--运算符的更多相关文章
- Java基础语法-运算符
1算术运算符 1.1运算符和表达式 运算符:对常量和变量进行操作的符号. 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式. 不同运算符链接的表达式体现的是不同类型的表达式 ...
- java基础语法运算符
1.1 算数运算符++.--的使用 在一般情况下,算数运算符不会改变参与计算的变量值.而是在原有变量值不变的情况下,计算出新的值.但是有些操作符会改变参与计算的变量的值, ...
- Java 基本语法---Java运算符
Java 基本语法---Java运算符 0. 概述 Java中的运算符主要分为以下几种: 算术运算符 赋值运算符 关系运算符 逻辑运算符 条件运算符 位运算符 其他运算符 1. 算术运算符 操作符 描 ...
- JavaSE入门学习6:Java基础语法之运算符和语句(上)
继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- Java基础语法(3)-运算符
title: Java基础语法(3)-运算符 blog: CSDN data: Java学习路线及视频 1.算术运算符 算术运算符的注意问题 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1. ...
- 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...
- 032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例--闰年问题 本文知识点:运算符和if-else条件语句的综合案例 ...
- 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...
随机推荐
- Centos7没有IP地址,查看网络状态显示No suitable device found for this connection (devint match))
今天打开虚拟机,使用 ifconfig 命令时,没有显示出 IP 地址 (更好的阅读体验可访问 这里 ) 使用 systemctl status network 命令查看网络状态 显示没有合适的网络装 ...
- hadoop之HDFS核心类Filesystem的使用
1.导入jar包,要使用hadoop的HDFS就要导入hadoop-2.7.7\share\hadoop\common下的3个jar包和lib下的依赖包.hadoop-2.7.7\share\hado ...
- myeclipce 按 Alt + / 代码提示无法感应自己定义的类 解决方案
解决方案:如图把这些选项全部都勾选即可.(注意 :需先排除是不是快捷键冲突,我遇到的问题是Alt+/可以提示jdk内置的对象和方法,但是无法提示自定义的类和方法.如Alt+/无法提示任何信息 需重新设 ...
- MySQL Execute Plan--Index Merge特性
Index Merge特性 在MySQL 5.5之前版本中,查询或子查询被限制在一个表只能使用一个索引(回表查询除外). 假设表TB1001上C1和C2列分别有单列索引,如对下面查询: SELECT ...
- iMacros 入门教程-基础函数介绍(3)
imacros 的 PAUSE 函数用法 这个函数的作用是暂停程序的运行,也就是断点. 对于有时运行到某一步需要输入内容时,或者需要调试时非常有用 如果你混着 pause 和 wait 一起用,那么当 ...
- mac 15 IDA7.0 下载安装
吾爱破解上有相应的解决办法,在低版本mac上安装完成后,直接拖到15版本,再打上补丁,补丁可以自己去找,下面是转好了的,mac解压最好不要用自带的解压软件,用BetterZip试试,不行就多解压几次, ...
- 安装Nginx到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:nginx-1.12.2 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# r ...
- Excel_b_1
1.Excel简介 数据处理软件,lotus兼容(文件,选项,高级,拉到底,lotus,) 2.Excel功能 数据存储,数据处理,数据分析,数据呈现 3.具体功能 重新认识了Excel,选项,高级选 ...
- PostgreSQL内核学习笔记十一(索引)
Index Scan涉及到两部分的内容Heap Only Tuple和index-only-scan. 什么是Heap Only Tuple(HOT)? 例如:Update a Row Without ...
- Java模拟客户端向服务器上传文件
先来了解一下客户端与服务器Tcp通信的基本步骤: 服务器端先启动,然后启动客户端向服务器端发送数据. 服务器端收到客户端发送的数据,服务器端会响应应客户端,向客户端发送响应结果. 客户端读取服务器发送 ...