逻辑类型
boolean male = true, on = true ,off = false ,isTriangle;
整数类型
int 型变量 分配4个字节内存 变量取值范围-231~231-1
int x = 12 ,y = 998, z;
byte x = -12, tom = 29, 漂亮 = 98;分配一个字节内存,占8位取值范围-27~27-1
short x=12,y=1123; java中不存在short型变量的表示法,但可以把一定范围的int常量赋值给short型变量。分配2个字节,占16位取值范围-215-215-1,要强调一个整数是short型数据是,可以使用强制转换运算的结果来表示。short()-12,short(28)
long型常量用后缀L来表示,180L(十进制),078978L(八进制),0xABCL(十六进制),long with=12L,分配8个字节,占64位,取值范围-263~263-1
字符类型
char x = ‘A’ ,home = ‘家’;
\n(换行),\b(退格),\t(水平制表),’(单引号),"(双引号),\(反斜线)
浮点类型
float型 单精度 float 下- 22.433f;保留八位有效数字
如x=12345.123456789f ,对于x的存储实际值是 12345.123
对于float型的变量分配4个字节内存,占32位
double型 双精度,分配八个字节内存,占64位,保留16位有效数字。
数据类型的转换运算
将这些类型按精度从低到高排列
byte short char int long float double
当把级别低的变量的值赋值给高级别的变量时,系统会自动完成类型的转换。
当把级别高的变量的值赋值给低级别的变量时,必须使用类型转换当把级别低的变量的值赋值给高级别的变量时
如 int x = (int)34.232
long y = (long)3454.342F;
输入与输出数据
package stu;
import java.util.Scanner;
public class test {
public static void main(String args[]){
System.out.println("请输入数");
Scanner reader = new Scanner(System.in);
double x= reader.nextDouble();
System.out.print(x);
}
}
数组
声明数组
float boy[]; char cat[][];
int [] a,b; 等价于 int a[],b[];
为数组分配元素
boy = new float[4]; 四个元素
给数组赋值
boy[0] = 12;
boy[1]=23.33F;
boy[2]= 100;
boy[3]=12.323f;
数组初始化
float boy[] = {21.3f,12434.3f}
排序算法和判断数是否在数组中,
package stu;
import java.util.*;
public class test {
public static void main(String args[]){
int start = 0,end ,middle;
int a[] = {12,45,67,89,124,43,54};
int N = a.length;
for(int i=1;i<N;i++){
for(int j=i+1;j<N;j++){ //选择排序数组
if(a[j]< a[i]){
int t= a[j];
a[j]= a[i];
a[i]=t;
}
}
}
for(int x=0;x<N;x++){System.out.print(a[x]+",");}
Scanner scanner = new Scanner(System.in);
System.out.println("输入需要判断的数字:");
int number = scanner.nextInt();
int count = 0;
end =N;
middle = (start +end )/2;
while(number!=a[middle]){
if(number>a[middle])
start = middle;
else if(number<a[middle])
end = middle;
middle = (start+end)/2;
count++;
if(count>N/2)
break;
}
if(count>N/2)
System.out.printf("%d不在数组中。\n",number);
else
System.out.printf("%d在数组中。\n",number);
}
}