Java-3.运算符
常量
Java中值不能被修改的变量叫做常量
final float PI = 3.14f;
常量的名称全部大写(非必须的)
运算符:
1.赋值运算符 = :将=右边的值赋给左边
2.算术运算符
1)基本算术运算符:+,-,*,/,%,++,–
+,-,*,/,%:都是需要两个操作数来参与运算
++,--:只需要一个操作数参与运算
++放在操作数左边,表示先执行+1运算,再使用操作数
++放在操作数右边,表示先使用操作数,再执行+1运算。
--同理。
2)复合算术运算符:需要两个操作数来参与运算
+=,-=,*=,/=,%=,==,!=
数据类型转换:只适用于数值类型的变量
1.自动类型转换
等号右边的数据可以自动转为等号左边的数据,完成赋值:
如果等号右边的数据范围小于等号左边,则可以完成自动类型转换。
例如,short赋值给int。
2.强制类型转换
如果等号右边的数据范围大于等号左边,则需要使用强制类型转换。
语法:(要转换的类型)目标值
会造成精度损失,例如int赋值给short。
1 | public class Test { |
Demo:
让用户通过键盘输入4位数字的卡号,
求出4位卡号的每一个位数上的数字,打印输出,
并且求这4个数字的总和。
包:package
为了区分同名的Java类而存在的
使用工具类Scanner 类,让用户可以通过键盘输入数字,并且让Java程序接收到这个数字。
1 | import java.util.Scanner; |
运算符:
1.算术运算符
2.赋值运算符 =
3.关系运算符
4.逻辑运算符
5.条件运算符
6.位运算符
关系运算符:
判断一个表达式是否成立,结果只有两种:成立/不成立,boolean:true/false
==:判断==两边的操作数是否相等。
!=:判断不相等
只有== !=可以作用于任意的数据类型,其他的关系运算符只能作用于数值类型(整型,浮点型 byte,short,int,long,float,double)
<
=
<=
逻辑运算符:
多个表达式之间的逻辑判断
&:与,&左右两边的表达式必须同时成立,结果为true,否则为false
|:或,|左右两边的表达式只要有一个成立,结果为true,|左右两边的表达式都不成立,结果为false
!:非,!右边的表达式成立,结果为false,!右边的表达式不成立,结果为true
&&:短路与
同&
&&左边的结果为false,则不会执行&&右边的表达式
||:短路或
同|
||左边的结果为true,则不会执行||右边的表达式
条件运算符:三元表达式,三目表达式,是用来给变量赋值的
语法:
数据类型 变量名 = 条件?数据1:数据2;
规则:条件成立,表达式1的结果赋给变量,
条件不成立,表达式2的结果赋给变量。
位运算符:对表达式以二进制为单位进行运算
任何进制的数通过除以K反向取余将其转化为k进制数。
十进制转为二进制:
用数字除以2,求出余数,记做第一位,对商继续除以2,求出余数,记做第二位...
直到商为零。
10:1010
9:1001
17:10001
二进制转为十进制:
从右边起,该位的数值乘以该位的权重(2的该位顺序-1次方),依次累加。
1010:10
1001:9
10001:17
位运算
&按位与:将两个操作数转为二进制,每一位进行运算,两个数都为1,则该位记为1。
|按位或:将两个操作数转为二进制,每一位进行运算,两个数中有一个为1,则该位记为1。
^按位异或:将两个操作数转为二进制,每一位进行运算,两个数不一样,则该位记为1。
<<左移
a<<b 即a*(2^b)
右移
a>>b 即a/(2^b)
如果参与运算的操作数是表达式,则&,|是与和或
如果参与运算的操作数是数值,则&,|是按位与或按位或