学习150天的第二天
程序 = 数据 + 逻辑(算法)
基本数据类型示例
- 整数类型
- 十进制表示方式:正常数字 如 13、25等
- 二进制表示方式:以0b(0B)开头 如0b1011 、0B1001
- 八进制表示方式:以0开头 如01、07、0721
- 十六进制表示方式:以0x(0X)开头 数字以0-9及A-F组成 如0x23A2、0xa、0x10
- 小数类型
- 如1.0、-3.15、3.168等
- 布尔类型
- true、false
- 字符类型
- 如'a','A', '0', '家'
- 字符必须使用’’ 包裹,并且其中只能且仅能包含一个字符。
- 字符串类型
- 字符串String类型是一种引用类型,我们先了解作为常量类型的使用方式
- 如“我爱Java”,“0123”,“”,“null”
- 字符串必须使用“”包裹,其中可以包含0~N个字符。
基本数据类型(4类8种)
四类 |
八种 |
字节数 |
数据表示范围 |
|
整型 (精确)
|
byte |
1 |
-128~127 |
|
short |
2 |
-32768~32767 |
||
int(默认) |
4 |
-2147483648~2147483647 |
||
long |
8 |
-263~263-1 |
||
浮点型 (不精确) |
float |
4 |
-3.403E38~3.403E38 |
|
double(默认) |
8 |
-1.798E308~1.798E308 |
||
字符型 |
char |
2 |
表示一个字符,如('a','A','0','家') |
|
布尔型 |
boolean |
1 |
只有两个值true与false |
- System.out.println()输出的整数默认为int类型十进制
- System.out.println()输出的小数类型默认为double
关于数据类型转换有两种方式:
自动类型转换
表示范围小的数据类型(如byte)可以直接转换成范围大的数据类型(如int),这种方式称为自动类型转换
格式:范围大的数据类型 变量 = 范围小的数据类型值;
强制类型转换
表示范围大的数据类型(如int)不可以转换成范围小的数据类型(如byte),但可以强制转,这种方式称为强制类型转换
格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
转换规律
各种数据类型按照数据范围从小到大依次列出:范围小的类型向范围大的类型提升:
byte < short = char‐‐>int‐‐>long‐‐>float‐‐>double
byte、short、char 运算时直接提升为int,同样的道理,当一个int 类型变量和一个double 变量运算时, int 类型将会自动提升为double 类型进行运算
ASCII表
算术运算符
运算符 |
运算规则 |
范例 |
结果 |
+ |
正号 |
+3 |
3 |
+ |
加 |
2+3 |
5 |
+ |
连接字符串 |
“中”+“国” |
“中国” |
- |
负号 |
int a=3; -a |
-3 |
- |
减 |
3-1 |
2 |
* |
乘 |
2*3 |
6 |
/ |
除 |
5/2 |
2 |
% |
取模(取余) |
5%2 |
1 |
++ |
自增 |
int a=1; a++ / ++a |
2 |
-- |
自减 |
int b=3; b-- / --b |
2 |
赋值运算符
运算符 |
运算规则 |
范例 |
结果 |
= |
赋值 |
int a=2 |
2 |
+= |
加后赋值 |
int a=2,a+=2 |
4 |
-= |
减后赋值 |
int a=2,a-=2 |
0 |
*= |
乘后赋值 |
int a=2,a*=2 |
4 |
/= |
整除后赋值 |
int a=2,a/=2 |
1 |
%= |
取模后赋值 |
int a=2,a%=2 |
0 |
注意事项
关系运算符
运算符 |
运算规则 |
范例 |
结果 |
== |
相等于 |
4==3 |
false |
!= |
不等于 |
4!=3 |
true |
< |
小于 |
4<3 |
false |
> |
大于 |
4>3 |
true |
<= |
小于等于 |
4<=3 |
false |
>= |
大于等于 |
4>=3 |
true |
逻辑运算符
运算符 |
运算规则 |
范例 |
结果 |
& |
与 |
false&true |
False |
| |
或 |
false|true |
True |
^(了解) |
异或 (相同:false,不同:true) |
true^flase |
True |
! |
非 |
!true |
Flase |
&& |
短路与 |
false&&true |
False |
|| |
短路或 |
false||true |
True |
注意: