立刻有
全部
技术
PHP
MySQL
前端
Linux
JAVA
退出
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
封面图上传 :
+
点击上传图片
### java数据类型 #### 基本数据类型 (8种) 基本数据类型,不牵扯到内存分配问题 > ##### 数值型 > > - 整形: byte short int long 默认值 0 > - 浮点型 float,double 默认值 0.0 > > ##### 字符型 > > - char ,默认值 '\u0000' > > ##### 布尔型 > > - boolean 默认值 false #### 引用数据类型 (3种) 引用数据类型需要由开发者为其分配空间 - 数组,类,接口 默认值 null #### byte的特殊性 当直接为byte赋值时,虽然任何整数都属于int类型,java编译的时候发现是为byte赋值会判断赋值的整数在byte的范围里面时,会自动转化,但是如果不在这个范围,会提示用户 #### 浮点数 - 浮点数就是小数,Java中只要是小数,那么对应的数据类型就是double,默认的小数类型就是double ```java public static void main (String[] args){ float a = 10.2f; float b= 10.2f; System.out.println(a*a); } //结果是 104.03999 ``` 这个bug在jdk1.0就存在,解决不了,之能通过后期处理 最早开发的时候考虑到内存的问题都使用float,往往能使用float就不使用double,以前内存苛刻,所有往往压缩数据范围,节省空间 - 在开发过程中要考虑整型做除法时,是会舍去小数的,一点记得要做数据类型转换。 #### 字符型 char byte属于字节,一个字符=2个字节,字符除了与字节存在关系外,最主要的是可以和int进行转换 - 字符型用单引号“’” 表示 ```java public static void main (String[] args){ char a = 'A'; int b = a; System.out.println(b); } ``` 字符 'A'~'Z' 对应数字 65~90 字符'a'~'z' 对应数字97-122 #### 布尔型 只有两种取值,true或者false #### 数据类型选取原则(99%适用) - 表示整数用int,表示小数用double; - 描述日期时间或者表示文件(内存)大小用long; - 如果实现内容传递或者时编码转换用byte; - 如果实现逻辑控制用boolean - 如果使用中文,可以使用char 避免乱码问题 ### 运算符 - 四则运算 - 取模 % - ++、--操作,++在前,表示先把该变量做加1操作,再去运算,++在后,表示先拿该变量进行计算,然后=1 - 逻辑运算,短路&& (与)、短路||(或),!(非) &(与)、|(或),短路与和短路或只要前面的条记不满足后面就不执行了,单个与单个或,全部都会执行 - 10进制转2进制采用的方式就是 **除二取余,倒序** ``` 例如:25的2进制计算过程 11001 25 2 余1 ---- 12 2 余0 --- 6 2 余0 ---- 3 2 余1 --- 1 2 余1 ---- 0 ``` #### swith - swith支持int和char类型 - swith不支持布尔表达式 - 从jdk1.5开始支持enum类型 - 从jdk1.7后支持字符串 - 字符串区分大小写 #### 数组 数组初始化时。会在堆内存空间中初始化对应的数据类型的默认值, ```java int[] array = new int[3]; System.out.println(array[0]);//结果0 没有赋值之前,默认值时对应类型的默认值,int的默认值时0 System.out.println(array[1]);//结果0 System.out.println(array[2]);//结果0 ``` - 静态初始化两种形式 - int[] array = {1,2,3,4,5}; - int[] array = new int[] {1,2,3,4,5}; - 动态初始化 int[] array = new int[3];
保存文章