一.运算符
1.算术运算符:+,-,*,/,%,++,–
/:两个数相除,取商
%:两个数相除,取余数
i++与++i,都是给i进行加1的运算,执行结束后,i的值都会加1.
区别:
i++的值 在运算前相当于i本身。执行后,i在给自己加了1。
先运算,在加1.
++i的值 相当于i+1.
先加1,在计算
i–与--i,都是给i进行减1的运算,执行结束后,i的值都会减1.
区别
i--,的值相当于i本身。最终执行后给i减1.
先计算,在减1
--i,的值相当于i-1了
先减1,在计算
2.赋值运算符=,+=,-=,*=,/=,%=
=:将=右侧的数值,赋值给=左侧的变量
+=:求和后再赋值:a += b;相当于a = a + b
3.关系运算符>,<,>=,<=,==,!=
也叫比较运算符,表示2个数的关系的,计算结果是boolean类型的。True,False
==:比较2个数值是否相等。如果相等,结果就是true,否则就是false
!=:比较2个数值是否不等。如果不等,结果就是true,否则就是false
4.逻辑运算符&& , || , !
注意点:
A:逻辑运算符的操作数要求是boolean类型:true,false
B:计算结果也是boolean类型:true,false
&&:与操作,表示并且的意思
运算规则:在整个计算过程中,有一个值为false,那么结果是falsa。
结论:一假则假,全真才真。
||:或操作,表示或者的意思
运算规则:在整个计算过程中,有一个值为ture,那么结果是ture。
结论:一真则真,全假才假
!:取非,也叫取反,一元运算符
运算规则:原来是true,取反后是false;如果原来是false,取反后是true。
!true-->false ; !false-->true
5.三元运算符? :
目的:根据条件,选一种结果。将判断后的结果赋值给变量
? :
语法 X ? Y : Z
X:布尔类型的表达式:true/false
Y:结果1
Z:结果2
X 的值为true,那么整个三元运算符的结果就是Y.
X 的值为false,那么整个三元运算符的结果就是Z
二.表达式
表达式:操作数和运算符组成一个式子。
表达式的值和类型:将表达式进行计算得到的结果就是表达式的值。
三.自动类型提升:取值范围从小到大
进行算术运算时
- 两个操作数有一个为double,计算结果提升为double
- 如果操作数中没有double,有一个为float,计算结果提升为float
- 如果操作数中没有float,有一个long,计算结果提升为long
- 如果操作数中没有long,有一个int,计算结果提升为int
- 如果操作数中没有int,均为short或byte,计算结果任旧提升为int
特殊点:byte,short,char在进行计算的时候,最终的结果都是int类型
当+遇到String类型,起字符串的拼接作用,最终结果是一个字符串String
对于一个源文件的结构
package test;
//第二步:导入该程序需要的包
import xxx.xxx.xxx;
//第三步:类的声明
public class 类名{
//第四步:main函数的定义:程序的入口
public static void main(String[] args){
//第五步:程序要执行的代码
//....
}
}