一 常量
常量是在程序运行中固定不变的值。常量可以直接被输出。
常量的分类:字面值常量,自定义常量
字面值常量:整型常量,实数常量,字符常量,字符串常量,布尔型常量,空常量
整型常量:12;1,34;
实数常量:12.22;234.0;
字符常量:'a';‘A’;
字符串常量:"asdfd";“hello”;
布尔型常量:true和false
空常量:null
二 进制
对于整数,有四种表现形式:二进制,八进制,十进制,十六进制。
二进制:由0和1组成,在JDK7.0以后,用0b开头
八进制:有数字0~7组成,用0开头
十进制:有数字0~9组成
十六进制:由数字0~9和字符A~F组成,用0x开头
进制转换:
(1) 其他进制转换到十进制
系数:就是每一位上的数据
基数:X进制,基数就是X
权:从右边开始数起,从0开始,对应的编号就是位上的权
结果:系数*基数的权次幂的和
比如说二进制 1 0 0 1 1
1*2^4 + 1*2^1 + 1*2^0 =19 (十进制)
(2) 十进制转换到其他进制
除基取余,直到商为0,余数反转
三 变量
变量就是程序在运行过程中,不断变化的值。内存中的一个存储空间,该区域有自己的名称和类型
为什么要定义变量?
用来不断的存放同一个类型的常量并可以重复使用
使用变量注意:
(1)变量作用范围(一对{}之间有效)这个叫作用域
(2)初始化值
定义变量的格式:
数据类型 变量名=初始化值
变量的数据类型分为2种:基本数据类型和引用数据类型
基本数据类型:4类8种
引用类型:类,接口,数组
基本类型:
整型:
byte 1
short 2
int 4
long 8
浮点型:
float 4
double 8
字符型:
char 2
布尔型:
boolean 不明确。可以认为是1个字节。
注意:
整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
类型转换:
1:boolean类型不参与转换。
2:隐式转换(从小到大)
byte,short,char -- int -- long -- float -- double
3:强制转换(从大到小)
格式:
(数据类型)数据;
四 运算符
运算符就是把常量和变量连接的符号,一般参与运算使用。
(1)分类:
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
三元运算符
(2)算术运算符
+,-,*,/,%,++,--
+:正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%:取得余数
左边如果大于右边,结果是余数。
左边如果小于右边,结果是左边。
左边如果等于右边,结果是0。
正负号跟左边一致。
++/--:
++ 其实相当于把数据+1
单独使用:
在数据的前后,结果一致。
参与操作使用:
如果在数据的后边,数据先操作,在++/--
如果在数据的前边,数据先++/--,在操作。
(3)赋值运算符
=,+=,-=,*=,/=,%=
int a = 10;
把10赋值给int类型的变量a。
a += 20;
把左边和右边的和赋值给左边。
注意事项:
a = a + 20;
a += 20;
结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:
short s = 2;
(4)逻辑运算符:
用于连接结果是布尔型表达式的运算。
& 逻辑与,并且。有假则假。
| 逻辑或,或者。有真则真。
! 逻辑非,不是,针对一个表达式的操作。
以前真,现在假;以前假,现在真。
^ 逻辑异或。相同为假,不同为真。
如果从结果看,单&和双&以及单|和双|的效果一样。
那么,他们的区别在哪里呢?
&& 如果前面出现了false,后面将不再执行。
|| 如果前面出现了true,后面将不再执行。
&& 短路与
|| 短路或
开发常用:
&&,||,!