1. java 语言是一种强类型的语言, 对各种数据类型都有明确的区分, 而计算机使用内存来记忆大量运算时需要使用的数据, 而当声明一个变量时, 即在内存中划分一块空间存储数据, 而变量类型决定划分内存空间的大小.
2. 基本数据类型:
byte: 最小的数据类型, 在内存中占 8 位 (bit), 即 1 个字节, 取值范围 - 128~127
short: 短整型, 在内存中占 2 个字节, 取值范围 - 32768~32717
int: 整型, 用于存储整数, 在内在中占 4 个字节, 取值范围 - 2147483648~2147483647
long: 长整型, 在内存中占 8 个字节
float: 浮点型, 在内存中占 4 个字节, 用于存储带小数点的数字 (与 double 的区别在于 float 类型有效小数点只有 6~7 位)
double: 双精度浮点型, 用于存储带有小数点的数字, 在内存中占 8 个字节
char: 字符型, 用于存储单个字符, 占 2 个字节
boolean: 布尔类型, 占 8 个字节, 用于判断真或假 (仅有两个值, 即 true,false)
3. 引用数据类型:
数组
String: 字符串型, 用于存储一串字符
4. 变量声明及使用:
(1) 声明变量
语法: 数据类型 变量名;
(2) 给变量赋值
语法: 变量名 = 值;
eg:
数据类型 变量名 = 值;
(3) 变量名命名规则
1) 变量必须以字母, 下划线 "_" 或美元 "$" 符号开头
2) 变量可以包括数字, 但不能以数字开头
3) 除了 "_" 或 "$" 符号以外, 变量名不能包含任何特殊字符
4) 不能使用 Java 语言的关键字
常量: 常量代表程序运行过程中不能改变的值, 定义常量时, 需要用 final 关键字, 常量名要大写, 多个单词之间用 "_" 分隔.
语法: final 数据类型 常量名 = 值;
5. 运算符
1) 赋值运算符
=: 将右边的值赋给左边, 例: int a = 1;
+=: 左右两边的和相加赋给左边, 例: int a = 1; a+=2; 结果 a 的值为 3
-=: 左边减去右边的差赋给左边, 例: int a =5;a-=2; 结果 a 的值为 3
*=: 两边数值相乘的值赋给左边, 例: int a = 2;a*=2; 结果 a 的值为 4
/=: 左边除以右边的值赋给左边, 例: int a = 6;a/=2; 结果 a 的值为 3
%=: 左边除以右边的余数赋给左边, 例: int a =7;a%=2; 结果 a 的值为 1
2) 算数运算符
"+" 两个数相加
"-" 两个数相减
"*" 两个数相乘
"/" 两个数相除
"++" 自增 1
"--" 自减 1
(i++ 与 ++i 的区别)
1)++i 的用法 (以 a=++i ,i=2 为例)
先将 i 值加 1 (也就是 i=i+1 ), 然后赋给变量 a (也就是 a=i ),
则最终 a 值等于 3 , i 值等于 3 .
所以 a=++i 相当于 i=i+1 ,a=i
2)i++ 的用法 (以 a=i++ ,i=2 为例)
先将 i 值赋给变量 a (也就是 a=i ), 然后 i 值加 1 (也就是 i=i+1 ),
则最终 a 值等于 2 ,i 值等于 3 .
所以 a=i++ 相当于 a=i , i=i+1
3)++i 与 i++
a=++i 相当于 i++ , a=i
a=i++ 相当于 a=i , i++
4)++i 与 i++ 单独使用时, 相当于 i=i+1
如果赋给一个新变量, 则 ++i 先将 i 值加 1 , 而 i++ 先将 i 赋给新变量.
注意一: 关系运算符
>: 大于, 例: int a = 1;int b = 2;System.out.print(a> b); 其结果为 false
<: 小于, 例: int a = 1;int b = 2;System.out.print(a <b); 其结果为 true
>=: 大于等于, 例: int a = 1;int b = 2;System.out.print(a>= b); 其结果为 false
<=: 小于等于, 例: int a = 1;int b = 2;System.out.print(a <= b); 其结果为 true
==: 等于, 例: int a = 1;int b = 2;System.out.print(a == b); 其结果为 false
!=: 不等于, 例: int a = 1;int b = 2;System.out.print(a != b); 其结果为 true
其结果都是 boolean 类型, 即要么是 true 要么是 false
注意二: 逻辑运算符
&&: 与, 并且 (短路), 两个条件同时为真时, 结果为真
||: 或, 或者 (短路), 两个条件有一个为真时, 结果即为真
!: 非,(!+ 条件) 条件为真时, 结果为假
6.Java 中的数据类型转换
(1) 自动数据类型转换 (放大转换)
满足自动数据类型转换条件:
1) 两种类型要兼容: 如数值类型 (整型和浮点型)
2) 目标类型大于源类型: 例如 int 型数据可以自动转换为 double 类型
(2) 强制数据类型转换 (缩小转换)
在变量前加上括号, 在括号中指定要强制转换的类型
例: double a = 40.9;
int b = (int)a;
注: 强制转换会损失数值精度, 例如 double 类型变量 a, 经强制转换为 int 类型后值变为 40
来源: http://www.jianshu.com/p/e2746ec2c97e