Java学习笔记(三)数据类型
2014-07-26 10:16
183 查看
1. Java中的数据类型:
(1)可分为基本数据类型和引用数据类型两大类。前者包含:byte,short,int,long,float,double,boolean,后者包含:类,数组和接口类型。可以形象地理解为引用类型相当于存折,得先去银行取现,而值类型(基本数据类型)相当于现金,直接使用。
其中对于值类型来讲,都存放在栈中,不需要程序员手工过问,由系统自动管理,而对于引用类型来讲,可以理解为需要分配两块内存,一部分是栈存放的是地址,另一部分是堆中存放的数据,两者的关系是栈存放的是地址指向堆中存放的数据。
(2)Java中以1-9开头的数为十进制,以0开头的数为八进制,以0x开头的数为十六进制。
(3)'\u????'表示一个具体的Unicode字符,????是4位十六进制数字,boolean只有两个小写的常量值:true和false。
(4)Java是一种严格的类型语言,不允许数值类型和逻辑类型之间进行转换。即字符类型(char)的数据可以自动转换为整型或浮点型,而逻辑(boolean)不可以。
(5)对象运算符“instanceof”判断某个具体对象是否是某个类的实例化对象,若是 返回true,否则返回false
2. 数据类型转换规则:
(1)自动类型转换:
①所有的整数转换为小数
②位数少的类型转换为位数多的类型
(2)强制类型转换:
①位数多的类型向位数少的类型进行转换
②所有的小数转换为整数
3. 数组:
(1)数组在定义时,需要直接初始化(或动态),初始化时不需要指定数组的大小。
(2)基本类型的数组初始化时其元素默认为0,而引用类型的数组初始化为其元素默认为null。
(3)二维数组的说明格式::数组元素类型[][] 数组名 = new 数组元素类型[行数][列数]。
(4)二维数组的第二维的长度可以不相等,如int b[][]={{11},{21,22},{31,32,33}};
(5)Java中不允许静态声明数组,如int errarr1[2][3]为错误。
关于二维数组的程序:
public class twoDArray {
public static void main(String[] args) {
//初始化二维数组,列数不确定
int[][] b = new int[3][];
System.out.println("二维数组b的长度为:"+b.length);
int a1[] = { 11 };
int a2[] = { 21, 22 };
int a3[] = { 31, 32, 33 };
b[0] = a1;
b[1] = a2;
b[2] = a3;
System.out.println("b[0]的长度:" + b[0].length + "\nb[1]的长度:"
+ b[1].length + "\nb[2]的长度:" + b[2].length);
//初始化另一二维数组
int k = 0;
int array2[][] = new int[3][];
for(int i=0;i<array2.length;i++){
array2[i] = new int[i+3]; //为array2的每列开辟空间
}
//array2赋值
for(int i=0;i<array2.length;i++){
for(int j=0;j<array2[i].length;j++){
array2[i][j] = k++;
System.out.print(array2[i][j]+"\t");
}
System.out.print("\n");
}
}
}
运行结果为:
3
b[0]的长度:1
b[1]的长度:2
b[2]的长度:3
0 1 2
3 4 5 6
7 8 9 10 11
注意:
(1)char的取值范围为0~65535。
(2)取余操作:20.0%6 = 2.0;
(1)可分为基本数据类型和引用数据类型两大类。前者包含:byte,short,int,long,float,double,boolean,后者包含:类,数组和接口类型。可以形象地理解为引用类型相当于存折,得先去银行取现,而值类型(基本数据类型)相当于现金,直接使用。
其中对于值类型来讲,都存放在栈中,不需要程序员手工过问,由系统自动管理,而对于引用类型来讲,可以理解为需要分配两块内存,一部分是栈存放的是地址,另一部分是堆中存放的数据,两者的关系是栈存放的是地址指向堆中存放的数据。
(2)Java中以1-9开头的数为十进制,以0开头的数为八进制,以0x开头的数为十六进制。
(3)'\u????'表示一个具体的Unicode字符,????是4位十六进制数字,boolean只有两个小写的常量值:true和false。
(4)Java是一种严格的类型语言,不允许数值类型和逻辑类型之间进行转换。即字符类型(char)的数据可以自动转换为整型或浮点型,而逻辑(boolean)不可以。
(5)对象运算符“instanceof”判断某个具体对象是否是某个类的实例化对象,若是 返回true,否则返回false
2. 数据类型转换规则:
(1)自动类型转换:
①所有的整数转换为小数
②位数少的类型转换为位数多的类型
(2)强制类型转换:
①位数多的类型向位数少的类型进行转换
②所有的小数转换为整数
3. 数组:
(1)数组在定义时,需要直接初始化(或动态),初始化时不需要指定数组的大小。
(2)基本类型的数组初始化时其元素默认为0,而引用类型的数组初始化为其元素默认为null。
(3)二维数组的说明格式::数组元素类型[][] 数组名 = new 数组元素类型[行数][列数]。
(4)二维数组的第二维的长度可以不相等,如int b[][]={{11},{21,22},{31,32,33}};
(5)Java中不允许静态声明数组,如int errarr1[2][3]为错误。
关于二维数组的程序:
public class twoDArray {
public static void main(String[] args) {
//初始化二维数组,列数不确定
int[][] b = new int[3][];
System.out.println("二维数组b的长度为:"+b.length);
int a1[] = { 11 };
int a2[] = { 21, 22 };
int a3[] = { 31, 32, 33 };
b[0] = a1;
b[1] = a2;
b[2] = a3;
System.out.println("b[0]的长度:" + b[0].length + "\nb[1]的长度:"
+ b[1].length + "\nb[2]的长度:" + b[2].length);
//初始化另一二维数组
int k = 0;
int array2[][] = new int[3][];
for(int i=0;i<array2.length;i++){
array2[i] = new int[i+3]; //为array2的每列开辟空间
}
//array2赋值
for(int i=0;i<array2.length;i++){
for(int j=0;j<array2[i].length;j++){
array2[i][j] = k++;
System.out.print(array2[i][j]+"\t");
}
System.out.print("\n");
}
}
}
运行结果为:
3
b[0]的长度:1
b[1]的长度:2
b[2]的长度:3
0 1 2
3 4 5 6
7 8 9 10 11
注意:
(1)char的取值范围为0~65535。
(2)取余操作:20.0%6 = 2.0;
相关文章推荐
- objective-c学习笔记第七章《objective-c 数据类型和变量与java中的区别》
- Java学习笔记---2.Java标识符和基本数据类型
- java学习笔记01--数据类型
- 黑马程序员J_ava学习笔记_Java中的基本数据类型转换详解
- java学习笔记(二) ----基本数据类型应用
- java学习笔记二——数据类型
- java学习笔记8_数据类型
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- Java学习笔记---关键字、变量与数据类型
- Java学习笔记四。设计模式、基本数据类型、包装类、异常、断言、包、访问权限、命名规范、jar
- java学习笔记三(Java数据类型)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- 【Java学习笔记】基础知识学习1【基本输出,数据类型,基础运算符号】
- java学习笔记(二) ----基本数据类型应用
- java学习笔记---数据类型、运算符和控制语句
- (JAVA SE 学习笔记)Java.SE.第002讲.原生数据类型 (Primitive Data Type)
- java学习笔记三——数据类型转换
- java学习笔记01--数据类型
- java学习笔记01--数据类型
- Java学习笔记001——学前准备、数据类型、运算符、流程控制语句