目录

Java基本语法

1.运算符(一句话)

算术运算符

赋值运算符

关系运算符

逻辑运算符

三元运算符

其他运算符

下节预告:Java基础-学会流程控制(一段话)


上一章,我们一起了解了Java内容的基本语法,看下图:

看到这些内容,大家首先问自己几个问题:

  • 它是什么?
  • 它怎样用?
  • 为什么要用它?

如果你发现不能完整回答出来,请花一点时间将前面的知识复习一下,对抗遗忘

根据艾宾浩斯的遗忘曲线分析,看下图:

由上图可知,我们的记忆数量往往是当天学习后是遗忘最快的。这就是你学习后,会发现第二天突然发现昨天明明学了那么多,结果发现今天感觉自己什么都忘了一样。

所以,在学习过程中,我们需要去花一点时间复习

那么,复习的好处是什么呢?,请看下图:

不难发现,如果你花时间去复习,你的记忆维持率肯定是比你不去复习高太多了,至少60%以上。

当然复习时间也是有规律的,大家可以参考:

复习点的确定(根据艾宾浩斯记忆曲线制定):

1. 第一个记忆周期:5分钟

2. 第二个记忆周期:30分钟

3. 第三个记忆周期:12小时

4. 第四个记忆周期:1天

5. 第五个记忆周期:2天

6. 第六个记忆周期:4天

7. 第七个记忆周期:7天

8. 第八个记忆周期:15天

(具体详情,可参考 百度百科:https://baike.baidu.com/item/%E8%89%BE%E5%AE%BE%E6%B5%A9%E6%96%AF%E8%AE%B0%E5%BF%86%E6%B3%95 )

Java基本语法

1.运算符(一句话)

回归正题,继续开始我们Java学习之路。客官,您里边请!

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。

通过前面我们学习的基本概念(单词)加上运算符,我们就可以理解我们能写出一句英语的句子来了

我们可以把常用的运算符分成以下几组:

算术运算符

  • 概念

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。如下:

#表格中的实例假设整数变量A的值为10,变量B的值为20:操作符   描述                          例子
+      加法 - 相加运算符两侧的值      A + B 等于 30
-       减法 - 左操作数减去右操作数     A – B 等于 -10
*       乘法 - 相乘操作符两侧的值      A * B等于200
/       除法 - 左操作数除以右操作数     B / A等于2
%        取余 - 左操作数除以右操作数的余数  B%A等于0
++        自增: 操作数的值增加1            B++ 或 ++B 等于 21
--      自减: 操作数的值减少1            B-- 或 --B 等于 19
下面我们来看代码操作:1.实例
下面的简单示例程序演示了算术运算符。复制并粘贴下面的 Java 程序并保存为 Test.java 文件,
然后编译并运行这个程序:实例
public class Test {public static void main(String[] args) {int a = 10;int b = 20;int c = 25;int d = 25;System.out.println("a + b = " + (a + b) );System.out.println("a - b = " + (a - b) );System.out.println("a * b = " + (a * b) );System.out.println("b / a = " + (b / a) );System.out.println("b % a = " + (b % a) );System.out.println("c % a = " + (c % a) );System.out.println("a++   = " +  (a++) );System.out.println("a--   = " +  (a--) );// 查看  d++ 与 ++d 的不同System.out.println("d++   = " +  (d++) );System.out.println("++d   = " +  (++d) );}
}运行实例 »
以上实例编译运行结果如下:a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++   = 10
a--   = 11
d++   = 25
++d   = 27
  •  算术运算符的注意问题

    • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是 负数则不可忽略。此外,取模运算的结果不一定总是整数。
  (记住这个规律即可)Java取余运算规则如下:a%b = a - (a/b)*b5%2=5-(5/2)*2=5-4=1;5%-2=5-(5/-2)*(-2)=5-(4)=1;//当被除数为正,除数为正,负的情况,发现结果都为正-5%2=-5-(-5/2)*2=-5+4=-1;-5&-2=-5-(-5/-2)*(-2)=-5+4=-1    //当被除数为负,除数为正,负的情况,发现结果都为负//所以:判断取余为正负的情况优先看【被除数】
  • 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

例如:int x=3510;x=x/1000*1000; x的 结果是3000 而不是3510.

  • “+”除字符串相加功能外,还能把非字符串转换成字符串,不会去计算

例如: System.out.println(“5+5=”+5+5);

//打印结果是:5+5=55 而不是5+5=10;

赋值运算符

  • 赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。
  • 下面是Java语言支持的赋值运算符:
操作符 描述 例子
= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
%= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
  • 实例

下面的简单示例程序演示了赋值运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:


public class Test {public static void main(String[] args) {int a = 10;int b = 20;int c = 0;c = a + b;System.out.println("c = a + b = " + c );c += a ;System.out.println("c += a  = " + c );c -= a ;System.out.println("c -= a = " + c );c *= a ;System.out.println("c *= a = " + c );a = 10;c = 15;c /= a ;System.out.println("c /= a = " + c );a = 10;c = 15;c %= a ;System.out.println("c %= a  = " + c );}
}
以上实例编译运行结果如下:c = a + b = 30
c += a  = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a  = 5
  • 注意

当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

支持连续赋值

关系运算符

  • 也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。
  • 下表为Java支持的关系运算符

表格中的实例整数变量A的值为10,变量B的值为20:

运算符 描述 例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。
检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。
  • 实列
public class Test {public static void main(String[] args) {int a = 10;int b = 20;System.out.println("a == b = " + (a == b) );System.out.println("a != b = " + (a != b) );System.out.println("a > b = " + (a > b) );System.out.println("a < b = " + (a < b) );System.out.println("b >= a = " + (b >= a) );System.out.println("b <= a = " + (b <= a) );}
}
以上实例编译运行结果如下:a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false
  • 注意

比较运算符的结果都是boolean型,也就是要么是true,要么是false。

比较运算符“==”不能误写成“=” 。

逻辑运算符

  • 逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。
  • 下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假
操作符 描述 例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

  • 实列
public class Test {public static void main(String[] args) {boolean a = true;boolean b = false;System.out.println("a && b = " + (a&&b));System.out.println("a || b = " + (a||b) );System.out.println("!(a && b) = " + !(a && b));}
}以上实例编译运行结果如下:a && b = false
a || b = true
!(a && b) = true
  • 注意

需要明白:&和&&  |和||的区别?

public class Test{public static void main(String[] args){int a = 5;//定义一个变量;boolean b = (a<4)&&(a++<10);System.out.println("使用短路逻辑运算符的结果为"+b);System.out.println("a的结果为"+a);}
}
运行结果为:使用短路逻辑运算符的结果为false
a的结果为5解析: 该程序使用到了短路逻辑运算符(&&),
首先判断 a<4 的结果为 false,则 b 的结果必定是 false,
所以不再执行第二个操作 a++<10 的判断,
所以 a 的值为 5。public class Test{public static void main(String[] args){int a = 5;//定义一个变量;boolean b = (a<4)&(a++<10);System.out.println("a的结果为"+a);}
}a的结果为6解析: 该程序使用到了普通逻辑运算符(&),
首先判断 a<4 的结果为 false,则 b 的结果必定是 false,
但是它是&,它依然执行第二个操作 a++<10 的判断,导致a又进行加一
所以 a 的值为 6。

可参考:https://blog.csdn.net/qq_35038153/article/details/79657846

三元运算符

  • java 提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-else 语句。条件运算符的符号表示为“?:”使用条件运算符的一般语法结构为:
  • 该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

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

1.为true,运算后的结果是表达式1;

2.为false,运算后的结果是表达式2;

3.表达式1和表达式2为同种类型

  • 实列
public class Test {public static void main(String[] args){int a , b;a = 10;// 如果 a 等于 1 成立,则设置 b 为 20,否则为 30b = (a > 1) ? 20 : 30;System.out.println( "Value of b is : " +  b );// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30b = (a >= 10) ? 20 : 30;System.out.println( "Value of b is : " + b );}
}以上实例编译运行结果如下:Value of b is : 30
Value of b is : 20
  • 注意

格式和判断的流程不要搞错了哟!

其他运算符

(还有一些其他的运算符,咱们以后讲,大家请先搞清楚以上的运算符,建议找一些经典案列,亲手操作一下,你会更有体验感)

本节完,未完待续

下节预告:Java基础-学会流程控制(一段话)

教你如何将上面的句子通过不同的逻辑流程组成一段话,表现出更多的意思,敬请期待。

[起源篇]---Java基础(了解运算符)相关推荐

  1. Java从小白到大牛第1篇 Java基础-关东升-专题视频课程

    Java从小白到大牛第1篇 Java基础-3042人已学习 课程介绍         本视频是智捷课堂推出的一套"Java语言学习立体教程"的视频第一部分,读者以及观看群是初级小白 ...

  2. Java新手小白入门篇 Java基础(一)

    Java新手小白入门篇 Java基础 Java新手小白入门篇 Java基础(知识点体系汇总) Java新手小白入门篇 Java基础(一) Java新手小白入门篇 Java基础(二) Java新手小白入 ...

  3. Java基础算术运算符

    Java基础算术运算符 一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升. 没有必要去专门记忆运算符的优先级. public class OperatorTest01{pu ...

  4. 这篇 Java 基础,我吹不动了

    Hey guys,这里是程序员cxuan,欢迎你收看我最新一期的文章,这篇文章我补充了一些关于<Java基础核心总结>的内容,修改了部分错别字和语句不通顺的地方,并且对内部类.泛型等内容进 ...

  5. java第二篇Java基础

    Java分为三个版本:Java SE(标准版).Java EE(企业版).Java ME(微型版).其中JavaSE就是大家学JavaEE和JavaME的基础,换而言之学Java先从JavaSE开始, ...

  6. 转一篇Java基础的文章,比较有深度的,就转来收藏了

    Java基础知识[上] 收藏 此文于2009-09-29被推荐到CSDN首页 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没有考虑到会坚持往后边写,这次应该是更新该内容 ...

  7. Java基础(运算符)

    Java中的运算符: 算术运算符:+  -  *  /   %    ++     -- %运算符叫取模:它就是取余的例如:43%7=1 其他的都是和数学里的运算符一样(不过在字符串中如果是两个字符串 ...

  8. 34篇Java基础总结博客陪博主入门Java

    博客内容: 1.JDK,JRE和JVM三者的关系以及java的运行机制,环境变量,三大版本,特点 2.Java原码.反码.补码 3.Java位运算实例详解--(&).(|).(~).(^).( ...

  9. java基础day02运算符

    JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=  & ...

最新文章

  1. STM32 定时器 定时时间的计算
  2. 一份技术简历是如何搞定BAT的面试官?
  3. 用21张图,把Git 工作原理彻底说清楚
  4. QML使用数据来模拟天气预报
  5. 什么牌子的平板电脑好_平板电脑什么牌子好?带你一探年度最佳平板的奥秘
  6. 从QQ空间热度分析看社区营销
  7. C++ 内嵌汇编 实现 加法操作
  8. 浅谈 OpenResty
  9. 伟大的程序员是怎样炼成的?
  10. STM32全球唯一ID读取方法
  11. cpri带宽不足的解决方法_CPRI基带数据的低损耗压缩
  12. 游戏计算机中有缓冲内存吗,内存再大都不行!CPU缓存竟这么重要
  13. python加粗线宽代码_python-在matplotlib中同时更改线宽和颜色
  14. win10连上wifi却上不了网
  15. xxl子任务_分布式任务调度平台XXL-JOB
  16. Lua实现简易飞机大战
  17. MySQL专题二——SELECT语法
  18. 九连环解法和小程序。
  19. 【Android】自定义View和控件时出现Binary XML file line #报错行数: Binary XML file line #9: Error inflating class 类路径
  20. 你真的了解宏吗:浅谈宏定义(#define语句)

热门文章

  1. WIN10下配置swoolephp7.4的docker镜像流程及资料聚合
  2. 在线书架html代码复制,在线书架--竖黄代码
  3. std::find和std::string::find
  4. VB Link 操作(DDE 会话)
  5. 微软将自研芯片,英特尔一夜蒸发850亿,芯片巨头走下神坛?
  6. 机床计算机数控技术论文,数控技术机床机械加工论文
  7. HDU - 2547 无剑无我
  8. RBAC(Role-Based Access control)权限模型--基于角色的权限分配解决方案
  9. 用tf.one_hot函数写任一坐标为1的二维张量
  10. 燃料电池Nature Energy