JAVA基础知识
- 数据类型和常量变量
- 类型转换
- 运算符
- 逻辑运算符
- 位运算符
数据类型和常量变量
常量即程序运行期间,固定不变的量称为常量。
常量的分类:
- 字符串常量:有""括起来的,比如“12345”、“hello”、“你好”。
- 整形常量:直接写上的数字(注意没有小数点),比如:100、1000
- 浮点数常量:直接写上的小数,比如:3.14、0.49
- 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’
- 布尔常量:只有两种true和false
注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。
JAVA中的数据类型为4类8种
1.整型:
byte类型 占1个字节 范围 -128 ~ 127
short类型 占2个字节 范围-32768 ~ 32767
int类型 占4个字节 范围-231 ~2 31-1
long类型 占8个字节 范围-263 ~ 263-1
2.浮点型
float型 占4个字节
double类型 占8个字节
3.字符型 范围0 ~ 65535
char类型 占2个字节
4.布尔类型
boolean 没有明确规定 true 和 false
注意:
不论是在16位系统还是32位系统,int都占用4个字节,不论是32位系统还是 64位系统long都占8个字节
整形和浮点型都是带有符号的
整型默认为int型,浮点型默认为double
变量赋值
int a=100;
float b= 3.14f;//对float类型进行赋值时要在值后面加上f
double c=2.0
char d='A'
类型转换
Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验
在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐
式) 和 强制类型转换(显式)。
1 自动类型转换(隐式):
自动类型转换即:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数据范围大的时会自动进行。
举例:
System.Out.println(1024); // 整型默认情况下是int
System.Out.println(3.14); // 浮点型默认情况下是double
int a = 10;
long b = 10L;
b = a; // a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后
赋值
a = b; // 编译报错,long的范围比int范围大,会有数据丢失,不安全
2 强制类型转换(显式)
强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小
int a = 10;
long b = 100L;
b = a; // int-->long,数据范围由小到大,隐式转换
a = (int)b; // long-->int, 数据范围由大到小,需要强转,否则编译失败
注意事项:
不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型
如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
强制类型转换不一定能成功,不相干的类型不能互相转换
运算符
算术运算符:+,-,*,/
还有’%'取余运算符
注意:
都是二元运算符,使用时必须要有左右两个操作数
int / int 结果还是int类型,而且会向下取整
增量运算符 += -= *= %=
该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。
自增/自减运算符 ++ –
++是给变量的值+1,–是给变量的值-1。
关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。
逻辑运算符
逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。
语法规则:
1.逻辑&& 表达式1 && 表达式2,左右表达式必须是boolean类型的结果。两个表达式都为真,结果才是真,只要有一个是假,结果就是假。
2. 逻辑 || 表达式1 || 表达式2,左右表达式必须是boolean类型的结果。左右表达式至少有一个位真,则结果为真。
3. 逻辑! ! 表达式 真变假,假变真。
注意:
对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式.
对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式.
位运算符
位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。
按位与 & :如果两个二进制位都是1,则结果为1,否则为0。
按位或 | :如果两个二进制位中有一个是1或者都是1,则结果为1,否则为0。
注意: 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.