春暖有日,花开有时,相信所有事情,一定都会好起来!
1、运算符
算术运算符:两个操作数进行计算
算数运算符:一元运算符(只有一个操作数)
i++和++i,都是给i进行加1运算
执行结束后,i的值都会加1
区别:过程不一样
i++的值相当于i本身。执行之后。i给自己加了1,先计算,再加1
++i的值相当于i+1
--:都是给变量自减1
都是给i进行减1
i--,相当于i本身。最终执行之后给i减1
先计算,再减1
--i:相当于i-1
先减1,在计算
赋值运算符:等号右边赋值给等号左边
=:将=右侧的数值,赋值给=左边的变量
+=:求和后在赋值: a+= 吧:相当于a = a+b
关系运算符:两个操作数进行比较
关系运算符:也叫比较运算符,比较两个数值的关系的,计算结果是Boolean类型
>,<,>=,<=,==,!=
==:比较两个数值是否相等,如果相等,就是true,否则就是false
!=:比较两个数值是否不等,如果不等,就是true,否则就是false
逻辑运算符:两个Boolean类型的操作数或表达式进行逻辑运算
逻辑运算符:操作数和计算结果都是Boolean类型的
&&:与操作;(并且)
运算规则,在整个计算过程中,如果有一个之为false。那么整个结果就是false,
除非所有的值都是true,那么结果才为true
结论:一假则假,全真才真。
||:或操作:
运算规则:在这个计算过程中,如果有一个值为true,那么整体结果就为true
除非所有的值都是false,那么结果才是false
结论:一真则真,全假才假
!:取非,也叫取反,一元运算符(操作数就一个)
运算规则:原来是true,取反后就是false,原来是false,取反后就是true
三元运算符:将判断后的结果赋值给变量
三元运算符:目的。根据条件,选择一种结果
x?y:z
x:布尔类型的表达式:true/false
y:结果1
z:结果2
x的值为true,那么整个三元运算符的结果就是y
x的值为false,那么整个三元运算符的结果就是z
2、表达式
表达式
使用运算连接符的变量或字面值,并可以得到一个最终结果
例如:
1+2
int a = 3; a-2(表达式)
自动类型提升
进行算数运算时:
两个操作数有一个为double,计算结果提升为double
如果操作数中没有double,有一个为float,计算结果提升为float
如果操作数中没有double,float,有一个为long,计算结果提升为long
如果操作数中没有double,float,long,有一个为int,计算结果提升为int
如果操作数中只有byte或者short,计算结果提升为int
特殊
当+遇到String类型,起字符串拼接作用,最终的结果就是一个字符串String类型
控制台输入
在程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行
导包语法:import 包名.类名://将外部class文件功能引入到自身文件中
使用顺序
导入Java.util.Scanner
声明 Scanner类型的变量
使用Scanner类中对应的函数(区分类型)
.nextInt() //读取整数
.nextDouble() //读取小数
.next() //获取字符串
.next().charAt(0); //获取单个字符
读取控制台上输入的数据
自我总结
今天学习的内容比较新颖,但是也存在比较坑的地方,就是a++和++a的时候,确实是有点坑的地方,就比如今天的作业第一题,int a = 5;
int b = (a++) + (--a) + (++a);问最后b输出的是什么.我看完第一反应就是14,因为一直就急着a++等于a,就一直算的是5+4+5,但是我把程序运行一下,出来的却是16,我就纳闷了,后来仔细想了想,确实是我错了,首先,a++等于a没问题.也就是5是对的,但是a++执行完了之后,a的值不是5了,而是6了,所以--a就变成了5,a的值也变成了5,最后的++a也就变成了6,最后就是5+5+6,所以大家以后这里也要多注意注意.