java中有八大基本数据类型,按照类型来分可以分成4类8种。
类别 | 数据类型 | 名称 | 位长 | 缺省值 | 取值范围 |
布尔型 | 布尔型 | boolean | 1 | false | true,false |
整型 | 字节型 | byte | 8 | 0 | -128~127 |
整型 | 短整型 | short | 16 | 0 | -32768~32767 |
整型 | 整型 | int | 32 | 0 | |
整型 | 长整型 | long | 64 | 0 | |
字符型 | 字符型 | char | 16 | ‘\u0000’ | '\u0000'~'\uffff' |
浮点型 | 单精度型 | float | 32 | 0.0 | |
双精度型 | double | 64 | 0.0 |
数据类型转换
·转换规则
·自动转换(隐式转换):从低位类型转换为高位类型
·char-》int:转换成ascii码
·byte-〉short-》int-〉long
·基本数据类型-》字符串(特殊)
·强制类型转换:从高位类型到低位类型转换
float a =(float)10.5;//因为浮点型默认为double
常用的运算符及分类
·算术运算符
算术运算符 | 名称 | 说明 |
+ | 加法 | 加法运算符,可完成字符串的相加 |
- | 减法 | 减法运算符,也可作为求负运算,比如-7 |
* | 乘 | 乘法 |
/ | 除 | 除法,int类型的除法,会得到int类型的值,如果有小数,小数会被舍弃 |
% | 取余 | 取余数,左边操作数除右边操作数的余数 |
++ | 自加 | 单目运算符,变量的值加1 |
-- | 自减 | 单目运算符,变量的值减1 |
·赋值运算符
逻辑运算符 | 名称 | 说明 |
= | 简单的赋值运算符 | 将运算符右边的值赋给左侧变量,int C=1+2将把3赋给C |
+= | 加和赋值运算符 | 把左侧运算符和右侧运算符相加后赋值给左侧 |
-= | 减和赋值运算符 | 把左侧运算符和右侧运算符相减后赋值给左侧 |
*= | 乘和赋值运算符 | 把左侧运算符和右侧运算符相乘后赋值给左侧 |
/= | 除和赋值运算符 | 把左侧运算符和右侧运算符相除后赋值给左侧 |
%= | 取模赋值运算符 | 把左侧运算符和右侧运算符取模后赋值给左侧 |
比较运算符
比较运算符 | 名称 | 说明 |
> | 大与 | 左边大于右边:true,否则:false |
>= | 大于等于 | 左边大于等于右边:true,否则:false |
< | 小于 | 左边小于右边:true,否则:false |
<= | 小于等于 | 左边小于等于右边:true,否则:false |
== | 等于 | 左边恒等于右边:true,否则:false |
!= | 不等于 | 左边不等于右边:true,否则:false |
逻辑运算符
逻辑运算符 | 名称 | 说明 |
& | 逻辑与 | 当且仅当两边的表达式都为true时,才真 |
&& | 短路与 | 当且仅当两边的表达式都为true时,才真。但是,当前面为假时,后面的表达式不会进行计算。 |
| | 逻辑非 | 一真则真 |
|| | 短路非 | 一真则真,但是,当前面为真时,后面则不会再计算 |
! | 逻辑非 | 取反。如果为true,取反后为false |
引用类型
对于引用类型,实际上它指向的是内存中的地址,它保存的饼不是对象本身的值,而是对象在内存中的地址,实际的值,保存在它指向的内存地址中
1.字符串
对于字符串的拼接:+
注意:
如果我们想把一个基本数据类型变为引用类型,可以把这个基本数据类型的变量+" "
字符串可以和基本数据类型拼接,最后得到字符串
2.数组
是一种数据结构,是一种容器,用来盛放数据
特点:
· 数组属于引用类型,所以在使用的时候需要开辟内存空间
·数组的容量是确定的,也就是说在定义的时候必须确定数组的大小
·数组的类型是确定的,所以在定义数组的时候必须声明数组的数据类型,不同类型的数组可以存放不同的数据类型,一个数组只能存放该类型的数据
分类:
·一维数组
int [] a ={1,2,3,4};
·二维数组
其实就是数组的数组
int [][] b ={{1,2},{3,4}};
·多维数组
int []...[]b;
数组--赋值
·通过下标(索引)方式进行访问数组,可以对数组元素进行取值和赋值。
·对数组赋值的方式
·在数组声明的时候进行赋值
·int [] a = {1,2,3,4,5,6};
·String [][] b = {{"111","222"},{"333","444"},{"555","666"} };
·通过索引进行赋值,索引从0开始
·int [] a = new int [n];
·a[0] = 1;
·a[1] = 2;
...
·a[n-1] = 100;
String [][] b = new String[2][2];
b[0][0] = "111";
...
b[1][1] = "444";