基本数据类型与数组网课## 标题笔记
整数类型
- 当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算
例子:
byte a = (byte)128;
byte b = (byte)(-129);
字符类型
- java的字符类型是采用的Unicode编码,C采用的是ASCLL编码
- 对于char型变量,内存分配给2个字节,占16位,最高位不是符号位,没有负数的char。char型变量的取值范围是0~65535。
float和double类型
-
float四个字节 double八个字节
-
级别低的变量赋值给级别高的变量会自动转换
-
级别高的变量赋值给级别低的变量,必须要显示类型转换
int x = 1;
byte y ;
y = (byte)x;
正确
y=x
错误
编译器不检查变量x的值是多少,只检查x的类型
从命令行输入,输出数据
System.out.println()和System.out.print()
-
二者的区别是前者输出数据后换行,后者不换行
-
允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出
-
JDK5 新增了和C语言中printf函数类似的数据输出方法
%d:输出int类型数据值。
%c:输出char型数据。
%f:输出浮点型数据,小数部分最多保留6位。
%s:输出字符串数据。
输出数据时也可以控制数据在命令行的位置,例如:
%md:输出的int型数据占m列。
%m.nf:输出的浮点型数据占m列,小数点保留n位。
int a=1;
System.out.printf("我的整数%d",a);
数组
- 数组的声明
数组的元素类型 数组名字[] [];
数组的元素类型 [] [] 数组名字;
- 与C/C++不同,Java不允许在声明数组中的方括号内指定数组元素的个数
float boy[]
float [][]boy
int a[12]//错误
int [12]a//错误
- 数组名字.length是数组的个数
- 声明时候赋给初值
float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f};
int a[][ ]= { {1},
{1,1},
{1,2,1},
{1,3,3,1},
{1,4,6,4,1}
};
- 两个相同类型的数组如果有相同引用,那么他们就具有完全相同的元素.
int a[] = {1,2,3},b[ ] = {4,5};
a = b
a中存放的引用和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元素相同
String b=Arrays. toString(a)//转化为字符串 a的值并没有改变
arraycopy
int []a={1,2,3,4,5,6};
int []b=new int[5];
System.arraycopy(a,0,b,0,3);//深拷贝
copyOf
int[] a= {3,456,4,3,2,45,5,65,35,6,5,5,43};
int[] b=new int[8];
b=Arrays.copyOf(a, 8);//如果位数大于数组长度,则后面补零填满
copyOfRange
copyOfRange(oringinal,int from, int to)
int binarySearch(double[] a, double number)//没找到返回负数
static void sort(double a[])
枚举类型
enum Season
{ spring("红色",1);
private String color;
private int index;
private Season(String color,int index){
this.color=color;
this.index=index;
}
}
public static void main(String []args) {
Season x;
x = Season.spring;
}