数据类型
1.基本类型和引用类型
1.1基本类型(8种)
类型 | 数据 | 具体类型 | 字节大小 | 备注 |
---|---|---|---|---|
数值型 | byte | 字节型 | 1 | -128~127 |
数值型 | short | 短整型 | 2 | -32768~32767 |
数值型 | int | 整型 | 4 | 在java整数默认为int类 |
数值型 | long | 长整型 | 8 | 需在结尾添加 l/L 作为标识 |
浮点型 | float | 单精度 | 4 | 需在结尾添加 f/F 作为标识 |
浮点型 | double | 双精度 | 16 | 在java整数默认为double类 |
字符型 | char | 字符型 | 1 | 0~65535 |
布尔型 | boolean | 布尔类型 | 1 | true/false |
1.2引用类型
定义:除了基本类型之外都是引用类型,如class、接口、数组等;
1.3数据类型的转换格式
- 自动转换:低类型数据遇到高类型数据会自动转换为高类型数据,如char、short、byte会自动转为int类型的数据进行运算;
- 强制转换:高类型数据转换为低类型数据;格式如下:
目标类型 变量名 = (目标类型)数据
char ch = (char) 65;
数组
1.定义格式
1)数据类型[] 数组名 = new 数据类型[长度]
//动态初始化
int[] arr = new int[5];
2)数据类型[] 数组名 = new 数据类型[ ]{元素1,元素2,元素3…}
//静态初始化
int[] arr = new int[5]{1,2,3,4,5};
3)数据类型[] 数组名 = {元素1,元素2,元素3…}
//
int[] arr = {1,2,3,4,5};
2.数组的初始化及属性
1). 获取数组中的元素--------数组名[下标]
int[] arr = new int[5];//未定义数组,默认值为0,相当于数组的初始化
System.out.println(arr[4]);//数组下标默认从0开始
//for循环输出数组中每个元素
for(i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
2). 获取数组的长度-------数组名.length
int[] arr = new int[]{1,2,3,4,5};//数组的初始化
System.out.println(arr.length);//输出数组arr的长度
3.数组的分类
3.1 一维数组
定义:线性结构,只有一个中括号;
3.2 二维数组
- 齐整数组:每一行的列数相等
int[][] arr = new int[6][6];//定义了一个6行6列
//赋值
for (int i = 0;i < arr.length; i++){
for (int j = 0 ; j < 6 ; j++) {
arr[i][j]= i + j ;
//arr[i][j]=i*j;
}
}
//打印
for (int i = 0; i <arr.length ; i++) {
for (int j = 0 ; j < 6 ; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
- 非齐整数组:每一行的列数不等
int[][] arr = new int[5][];
for (int i = 0; i <arr.length ; i++) {
b[i] = new int[i+2];
for (int j = 0; j < arr[i].length ; j++) {
arr[i][j] = i * j;
}
}
//打印
for (int i = 0; i < arr.length ; i++) {
for (int j = 0;j < arr[i].length ; j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
4.数组的应用
摘苹果
//键盘录入
Scanner scan = new Scanner(System.in);
System.out.println("请输入身高:");
int height = scan.nextInt();
System.out.println("请输入苹果个数:");
int n = scan.nextInt();
int[] appleheight = new int[n];//将苹果的数据放入数组
int b= 0;//记录能摘到苹果的个数
for (int i = 0; i <n ; i++) {
appleheight[i] = scan.nextInt();//录入每个苹果离地面的数据将其放入数组
int a = appleheight[i];
//判断小明的身高与苹果离地面的高度的大小关系;若小明的身高大于苹果离地面的高度,则可以摘到;否则相反。
if (height>=a){
b++;
//System.out.println(a+" ");
}
}
System.out.println(b);