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