1.Java针对整数常量提供了4种表现形式
(1):二进制
(2):八进制
(3):十进制
(4):十六进制
2.其他进制到十进制的转换规则:权位展开法:任意进制第n位数字的表示值等与此数字乘以进制的n-1次方,再将所有数字的表示值相加就等于十进制的值;
3.十进制到其他进制的转换规则:除基取余,直到商为0,余数反转,十进制到X进制这个基就是X。
用单引号括起来的内容,单引号中只能是单个字母,单个数字,单个符号
只有true和false
null
使用变量的注意事项:
a:作用域问题
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
b:初始化值问题
没有初始化值不能直接使用
c:在一行上建议只定义一个变量
可以定义多个,但是不建议
在程序执行的过程中,在某个范围内其值可以发生改变的量,用来不断的存放同一类型的常量,并可以重复使用,变量的定义格式:数据类型 变量名 = 变量值 ;
类型 | 字节数 | 范围 |
---|---|---|
byte | 1(8bit) | -128 ~ 127 |
short | 2(16bit) | -2^15 ~ 2^15 - 1 |
int | 4(32bit) | -2^31 ~ 2^31 - 1 |
long | 8(64bit) | -2^63 ~ 2^63 - 1 |
float | 4(32bit) | -3.40310^38 ~ 3.40310^38 |
double | 8(64bit) | -1.79810^308 ~ 1.79810^308 |
char | 2(16bit) | 0 ~ 2^16 - 1 = 65535 |
boolean |
1.数据类型转换之隐式转换:
Java中的默认转换规则
(1): boolean类型不能转换为其他的数据类型
(2): byte,short,char,int,long,float,double
(3): byte,short,char之间不转换,他们参与运算首先转换为int类型
2.数据类型转换之强制转换:
强制转换的格式:
目标数据类型 变量名=(目标数据类型)(被转换的数据);
A:什么是运算符:
对常量和变量进行操作的符号称为运算符
B:运算符的分类:
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符
C:算数运算符有哪些:
+ , - , * , / , % , ++ , –
D:++,–运算符的作用
自加(++)自减(--)运算
++:自加。对原有的数据进行+1
--:自减。对原有的数据进行-1
a:单独使用:
放在操作数的前面和后面效果一样。
b:参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。
放在操作数的后面,先参与运算,再自增或者自减。
注意事项:
a:整数相除只能得到整数。如果想得到小数,请使用浮点数
b:/获取的是除法操作的商,%获取的是除法操作的余数
%运算结果的符号,取决于参与运算是左边的符号
1.赋值运算符有哪些
=, +=,-=,*=,/=,%=
2.注意事项:
a:基本的赋值运算符:=
把=右边的数据赋值给左边。
b:扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
c: 赋值运算符要求左边的数据必须是一个变量
关系运算符有哪些:
== ,!= , < , > , <= , >= , instanceof.
注意事项:
无论你的操作是简单还是复杂,结果是boolean类型。
"=="不能写成"="。
运算符 | 运算 | 规则 |
---|---|---|
& | 与 | 有false则为false |
| | 或 | 有true则为true |
^ | 异或 | 相同为false ,不同为 true |
! | 非 | false 变true,true变false |
&& | 短路与 | 有false则为false,若左端为false则右端不执行 |
|| | 短路或 | 有true则为true,若左端为true则右端不执行 |
运算符 | 运算 | 规则 |
---|---|---|
& | 按位与 | 有0则为0 |
| | 按位或 | 有1则为1 |
~ | 按位取反 | 0变1,1变0 |
^ | 按位异或 | 相同为0,不同为1 |
<< | 左移 | 将操作数 所有二进制位向左移动一位,右边空位补0 |
>> | 右移 | 将操作数 所有二进制位向右移动一位,左边空位正数补0,负数补1 |
>>> | 无符号右移 | 将操作数 所有二进制位向右移动一位左边空位补0(不考虑原数正负) |
格式 :(关系表达式)?表达式 1:表达式2;
执行流程:计算关系表达式的值,如果为true, 运算后的结果是表达式1;
如果为false,运算后的结果是表达式2;
public class SanYuan {
public static void main(String[] args) {
int a=10;
int b=20;
int max=a>b?a:b;
System.out.println("最大值为:"+max);
}
}
运行结果:
最大值为:20
Process finished with exit code 0