java表达式7|3,7.Java基础知识-运算符

7.1 运算符的概念

运算符

对常量和变量进行操作的符号称为运算符

表达式

用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。

定义两个int类型的变量a,b,做加法(a + b)

常用运算符

算术运算符

赋值运算符

关系运算符

逻辑运算符

三元运算符

7.2 算术运算符

7.2.1 算术运算符概述

算术运算符有哪些* +,-,*,/,%,++,--代码

/*

* 运算符:对常量和变量进行操作的符号

* 表达式:用运算符连接起来的符合java语法的式子。不同类型的运算符连接起来的式子是不同的表达式。

* 举例:定义两个int类型的变量a,b,

* a + b

*

* 运算符分类:

* 算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符。

*

* 算术运算符:

* +,-,*,/的基本使用

*/

publicclassOperatorDemo {

publicstaticvoidmain(String[] args) {

// 定义两个变量

inta = 3;

intb = 4;

System.out.println(a + b);

System.out.println(a - b);

System.out.println(a * b);

System.out.println(a / b);

// 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算

System.out.println(3 / 4.0);

System.out.println(3.0 / 4);

}

}

7.2.2 算数运算符取余和除法的区别

%:取余运算符。得到的是两个相除数据的余数。

/:除法运算符。得到是两个相除数据的商。

使用场景: %:判断两个数据是否整除。

代码publicclass OperatorDemo2 {

publicstaticvoidmain(String[] args) {

inta = 5;

intb = 3;

System.out.println(a / b); //结果: 1

System.out.println(a % b); //结果: 2

}

}

7.2.3 字符和字符串参与加法操作

字符参与运算

其实是拿该字符对应的数值来操作

‘a’ 97

‘A’ 65

‘0’ 48

字符串参与运算

这里其实做的不是加法运算,而是字符串拼接。

字符串和其他类型的数据做拼接,结果是字符串类型的。

代码/*

* 整数的加法。

* 字符参与加法操作。拿字符在计算机中底层存储对应的数据值来参与运算的。

* '0' 48

* 'a' 97

* 'A' 65

* 字符串参与加法操作。

* 这里的+其实不是加法,而是字符串连接符。

*/

publicclassOperatorDemo3 {

publicstaticvoidmain(String[] args) {

// 整数加法

inta = 10;

intb = 20;

System.out.println(a + b); //30

System.out.println("------------------");

// 字符参与加法操作

charc = '0';

charc2 = 'a';

System.out.println(a + c); //58(ASCII码值相加)

System.out.println(a + c2); //107

System.out.println("------------------");

// 字符串参与加法操作

System.out.println("hello" + a); //hello10

System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接(结果: hello1020)

System.out.println(a + b + "hello"); //30hello

}

}

7.2.4 ASCI码值

4612b4725a2071516a0854b76f645cdb.png

7.2.5 算数运算符++和- - 的用法

++,--运算符:对变量做加1或者减1的操作。

++或者--既可以放在变量的后面,也可以放在变量的前面。

单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的。

参与操作的时候:

如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--

如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作

代码publicclass OperatorDemo4 {

publicstaticvoidmain(String[] args) {

int a = 10;

System.out.println("a:" + a); //a:10

// 单独使用

a++;

++a;

System.out.println("a:" + a); //a:12

// 参与操作使用

int b = a++; //int b = ++a;

System.out.println("a:" + a); //a:13

System.out.println("b:" + b); //b=12

}

}

7.3 赋值运算符

7.3.1 赋值运算符分类

基本的赋值运算符:=

扩展的赋值运算符:+=,-=,*=,/=,%=

+=: a+=20;相当于a = (a的数据类型)(a + 20);

代码/*

* 赋值运算符:

* A:基本 =

* B:扩展 +=,-=,*=,...

*

* +=:

* a+=20;

* 相当于

* a = (a的数据类型)(a + 20);

*/

publicclassOperatorDemo {

publicstaticvoidmain(String[] args) {

// 把10赋值给int类型的变量a

inta = 10;

// += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量

a += 10;// 相当于a = a + 10

System.out.println("a:" + a); //a:20

System.out.println("----------------------");

shorts = 10;

// s += 20; // 相当于 s = s + 20;

s = (short) (s + 20);

System.out.println("s:" + s); //s:30

}

}

7.4 关系运算符

基本使用及注意事项关系运算符包含以下内容:

==,!=,>,>=,

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

注意事项:

关系运算符“==”不能误写成“=”。

代码/*

* 关系运算符:

* ==,!=,>,>=,

* 关系运算符的结果是boolean类型。

*

* 注意:

* 千万不要把==写成=

*/

publicclassOperatorDemo {

publicstaticvoidmain(String[] args) {

inta = 10;

intb = 20;

intc = 10;

System.out.println(a == b);

System.out.println(a == c);

System.out.println("-----------------");

System.out.println(a != b);

System.out.println(a != c);

System.out.println("-----------------");

System.out.println(a > b);

System.out.println(a > c);

System.out.println("-----------------");

System.out.println(a >= b);

System.out.println(a >= c);

System.out.println("-----------------");

intx = 3;

inty = 4;

// System.out.println(x == y);

// System.out.println(x = y);// 把y赋值给x,把x的值输出

booleanbb = (x == y);

// 报错

// boolean cc = (x = y);

intcc = (x = y);

}

}

7.5 逻辑运算符

7.5.1 逻辑运算符概述

A:逻辑运算符有哪些

&,|,^,!

&&,||

B:案例演示

逻辑运算符的基本用法

C:注意事项:

a:逻辑运算符一般用于连接boolean类型的表达式或者值。

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

算术表达式:a + b

比较表达式:a == b(条件表达式)

D:结论:

&逻辑与:有false则false。

|逻辑或:有true则true。

^逻辑异或:相同为false,不同为true。

!逻辑非:非false则true,非true则false。

特点:偶数个不改变本身。

代码/*

* 逻辑运算符:用于连接关系表达式。

* &,|,^,!

* &&,||

*

* 与:& 有false则false

* 或:| 有true则true

* 异或:^ 相同则false,不同则true。(男女朋友)

* 非:! true则false,false则true

*/

publicclassOperatorDemo {

publicstaticvoidmain(String[] args) {

inta = 10;

intb = 20;

intc = 30;

System.out.println((a > b) & (a > c));// false & false

System.out.println((a < b) & (a > c)); // true & false

System.out.println((a > b) & (a < c)); // false & true

System.out.println((a < b) & (a < c)); // true & true

System.out.println("---------------");

System.out.println((a > b) | (a > c));// false | false

System.out.println((a < b) | (a > c)); // true | false

System.out.println((a > b) | (a < c)); // false | true

System.out.println((a < b) | (a < c)); // true | true

System.out.println("---------------");

System.out.println((a > b) ^ (a > c));// false ^ false

System.out.println((a < b) ^ (a > c)); // true ^ false

System.out.println((a > b) ^ (a < c)); // false ^ true

System.out.println((a < b) ^ (a < c)); // true ^ true

System.out.println("---------------");

System.out.println((a > b)); // false

System.out.println(!(a > b)); // !false

System.out.println(!!(a > b)); // !!false

}

}

7.5.2 逻辑运算符&&与&的区别

A:&&和&的区别?

a:最终结果一样。

b:&&具有短路效果。左边是false,右边不执行。

&是无论左边是false还是true,右边都会执行

B:||和|的区别?

a:最终结果一样

b:||具有短路效果.左边是true,右边不执行

|是无论左边是false还是true,右边都会执行

代码/*

* &&和&的结果一样

* ||和|的结果一样

*

* &&和&的区别:

* &&如果左边是false,右边不执行。

* &无论左边是true还是false,右边都会执行。

*/

publicclassOperatorDemo2 {

publicstaticvoidmain(String[] args) {

inta = 10;

intb = 20;

intc = 30;

System.out.println((a > b) && (a > c));// false && false

System.out.println((a < b) && (a > c)); // true && false

System.out.println((a > b) && (a < c)); // false && true

System.out.println((a < b) && (a < c)); // true && true

System.out.println("---------------");

System.out.println((a > b) || (a > c));// false || false

System.out.println((a < b) || (a > c)); // true || false

System.out.println((a > b) || (a < c)); // false || true

System.out.println((a < b) || (a < c)); // true || true

System.out.println("---------------");

intx = 3;

inty = 4;

// System.out.println((x++ > 4) & (y++ > 5)); // false & false

System.out.println((x++ > 4) && (y++ > 5)); // false && false

System.out.println("x:" + x);

System.out.println("y:" + y);

}

}

7.6 三元运算符

7.6.1 三元运算符概述

A:格式

(关系表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

B:示例:

获取两个数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//z变量存储的就是两个数的大数

代码/*

* 三元运算符:

*

* 格式:

* (关系表达式)?表达式1:表达式2;

* 执行流程:

* A:计算关系表达式的值,看是true还是false

* B:如果是true,表达式1就是运算结果

* 如果是false,表达式2就是运算结果

*/

publicclassOperatorDemo {

publicstaticvoidmain(String[] args) {

inta = 10;

intb = 20;

intc = (a > b) ? a : b;

System.out.println("c:" + c); //c:20

}

}

代码(获取三个数中的最大值)/*

* 获取三个整数中的最大值

*/

publicclassOperatorTest2 {

publicstaticvoidmain(String[] args) {

// 定义三个int类型的变量

inta = 10;

intb = 30;

intc = 20;

// 先比较两个整数的大值

inttemp = ((a > b) ? a : b);

intmax = ((temp > c) ? temp : c);

System.out.println("max:" + max);

}

}

创作不易,点赞或关注我

后面持续更新从java基础到java项目实践

有相关问题可以在评论区提出

你们知道相关如何从键盘上录入数据信息吗??下一篇介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值