Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】

  • java零基础入门到精通(2019版)【黑马程序员】
  • 视频+资料:【链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs】
  • “Java基础”专栏
  • Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表

目   录

018_算术运算符

1.1、运算符和表达式

1.2、算术运算符

019_字符的+操作

1.3、字符的“+”操作

020_字符串的+操作

1.4、字符串的“+”操作

021_赋值运算符

2.1、赋值运算符

022_自增自减运算符

3.1、自增自减运算符

023_关系运算符

4.1、关系运算符

024_逻辑运算符

5.1、逻辑运算符概述

5.2、逻辑运算符

025_短路逻辑运算符

5.3、短路逻辑运算符

026_三元运算符

6.1、三元运算符

027_两只老虎

1、案例:两只老虎

2、代码and运行截图

028_三个和尚

1、案例:三个和尚

2、代码and运行截图

029_数据输入

1.1、数据输入概述

1.2、Scanner使用的基本步骤

030_三个和尚升级版

1、案例:三个和尚升级版

2、代码and运行截图

031_顺序结构

1.1、流程控制语句概述

1.2、流程控制语句分类

1.3、顺序结构

032_if结构

2.1、if语句格式1

033_if...else结构

2.2、if语句格式2

034_奇偶数

035_if...else...if结构

2.3、if语句格式3

036_考试奖励


018_算术运算符

1.1、运算符和表达式

运算符:对常量或者变量进行操作的符号

表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。

              不同运算符连接的表达式体现的是不同类型的表达式。

举例说明:

              int a = 10;

              int b = 20;

              int c = a + b;

              +:是运算符,并且是算术运算符。

              a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。

1.2、算术运算符

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第1张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第2张图片

注意事项:

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

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

019_字符的+操作

1.3、字符的“+”操作

字符 char   可以与int型数据 做运算。【拿字符在计算机底层对应的数值来进行计算。】

char类型参与算术运算,使用的是计算机底层对应的十进制数值。需要我们记住三个字符对应的数值:

  • 'a' -- 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加
  • 'A' -- 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加
  • '0' -- 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第3张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第4张图片

算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型自动进行提升

提升规则:

  • byte类型,short类型和char类型将被提升到int类型,不管是否有其他类型参与运算。
  • 整个表达式的类型自动提升到与表达式中最高等级的操作数相同的类型

       等级顺序:byte, short, char --> int --> long --> float --> double

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第5张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第6张图片

byte b1 = 10;
byte b2 = 20;
// byte b3 = b1 + b2; // 该行报错,因为byte类型参与算术运算会自动提示为int,int赋值给byte可能损失
精度
int i3 = b1 + b2; // 应该使用int接收
byte b3 = (byte) (b1 + b2); // 或者将结果强制转换为byte类型
-------------------------------
int num1 = 10;
double num2 = 20.0;
double num3 = num1 + num2; // 使用double接收,因为num1会自动提升为double类型

tips:正是由于上述原因,所以在程序开发中我们很少使用byte或者short类型定义整数。也很少会使用char类型定义字符,而使用字符串类型,更不会使用char类型做算术运算。

020_字符串的+操作

1.4、字符串的“+”操作

当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。

  • System.out.println("itheima"+ 666); // 输出:itheima666

在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。

System.out.println(1 + 99 + "年黑马"); // 输出:199年黑马

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第7张图片

021_赋值运算符

2.1、赋值运算符

赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第8张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第9张图片

s += 20; // +=操作:隐含了 强制类型转换

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第10张图片

注意事项:扩展的赋值运算符隐含了强制类型转换。

short s = 10;

s = s + 20; // 此行代码报错!!!因为运算中 s提升为int类型,运算结果int赋值给short可能损失精度

s += 20; // 此行代码没有问题,隐含了强制类型转换,相当于 s = (short) (s + 10);

022_自增自减运算符

3.1、自增自减运算符

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第11张图片

注意事项:

  • ++和-- 既可以放在变量的后边,也可以放在变量的前边。
  • 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。
  • 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。

       参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。

最常见的用法:单独使用

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第12张图片

023_关系运算符

4.1、关系运算符

关系运算符有6种关系,分别为 小于、小于等于、大于、等于、大于等于、不等于。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第13张图片

注意事项:

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

千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第14张图片

024_逻辑运算符

5.1、逻辑运算符概述

逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,

以判断程序中的表达式是否成立,判断的结果是 true 或 false。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第15张图片

5.2、逻辑运算符

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第16张图片

 Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第17张图片

025_短路逻辑运算符

5.3、短路逻辑运算符

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第18张图片

在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表达式将不再参与运算。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第19张图片

026_三元运算符

6.1、三元运算符

三元运算符语法格式: 关系表达式 ? 表达式1 : 表达式2;【 范例:a > b ? a : b; 】

解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第20张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第21张图片

027_两只老虎

1、案例:两只老虎

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第22张图片

2、代码and运行截图

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第23张图片

028_三个和尚

1、案例:三个和尚

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第24张图片

2、代码and运行截图

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第25张图片

029_数据输入

1.1、数据输入概述

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第26张图片

1.2、Scanner使用的基本步骤

我们可以通过 Scanner 类来获取用户的输入。使用步骤如下:

1、导包。Scanner类 在java.util包下,所以需要将该类导入。导包的语句必须定义在类定义的上面。

import java.util.Scanner;

2、创建Scanner对象。

Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变。

3、接收数据。

int i = sc.nextInt(); // 表示将键盘录入的值作为int数返回。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第27张图片

030_三个和尚升级版

1、案例:三个和尚升级版

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第28张图片

2、代码and运行截图

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第29张图片

031_顺序结构

1.1、流程控制语句概述

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第30张图片

1.2、流程控制语句分类

  • 顺序结构
  • 分支结构(if, switch)
  • 循环结构(for, while, do…while)

1.3、顺序结构

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多 数的代码都是这样执行的。

顺序结构执行流程图:

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第31张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第32张图片

032_if结构

2.1、if语句格式1

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第33张图片Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第34张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第35张图片

033_if...else结构

2.2、if语句格式2

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第36张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第37张图片

034_奇偶数

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第38张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第39张图片

035_if...else...if结构

2.3、if语句格式3

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第40张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第41张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第42张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第43张图片

036_考试奖励

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第44张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第45张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第46张图片

Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】_第47张图片

你可能感兴趣的:(Java基础(超级详细),java,运算符,逻辑运算)