Java基础
Posted 东风快递员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础相关的知识,希望对你有一定的参考价值。
Java数据类型
- 基本数据类型(8种)
- 数字类型
- 整数型:byte,short,int,long
- 浮点型:float,double
- 字符类型:char
- 布尔类型:boolean
- 数字类型
- 对象类型(引用类型)
数据类型名称 | 二进制位数(字节数) | 缺省值 | 封装容器 |
---|---|---|---|
byte | 8(1byte) | 0 | Byte |
short | 16(2bytes) | 0 | Short |
int | 32(4bytes) | 0 | Int |
long | 64(8bytes) | 0L | Long |
float | 32(4bytes) | 0.0f | Float |
double | 64(8bytes) | 0.0 | Double |
char | 8(1byte) | u0000(空格) | Character |
boolean | 1 | false | Boolean |
- byte数据类型是有符号的,以二进制补码表示的整数,最小值是-128(-27),最大值是127(27-1)
- short数据类型是有符号的,以二进制补码表示的整数,最小值是-32728(-215),最大值是32767(215-1)
- int数据类型是有符号的,以二进制补码表示的整数,最小值是2,147,483,648(-231),最大值是2,147,483,647(231 - 1),一般地整型变量默认为int类型
- long数据类型是有符号的,以二进制补码表示的整数,最小值是-9,223,372,036,854,775,808(-263),最大值是9,223,372,036,854,775,807(263 -1)
- float数据类型是单精度、32位、符合IEEE 754标准的浮点数,float在储存大型浮点数组的时候可节省内存空间,最小值是1.4E-45,最大值是3.4028235E38
- double数据类型是双精度、64位、符合IEEE 754标准的浮点数,浮点数的默认类型为double类型,最小值是4.9E-324,最大值是1.7976931348623157E308
- char数据类型最小值是‘u0000‘(即为0),最大值是‘uffff‘(即为65,535),char数据类型可以储存任何字符
实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。
public class Demo {
public static void main(String[] args) {
// byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE);
}
}
基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308
基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535
Java缺省值
- 对象数据类型缺省值为null
- 但是如果在main方法中只声明变量但未初始化会提示错误未初始化变量
public class Demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a;
double b;
System.out.println(a);
System.out.println(b);
}
}
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The local variable a may not have been initialized
The local variable b may not have been initialized
at Demo.main(Demo.java:8)
- 如果变量是类成员则不会报错
public class Demo {
private byte a;
private short b;
private int c;
private float d;
private double e;
private boolean f;
private char g;
private Demo2 demo2;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo demo = new Demo();
System.out.println(demo.a);
System.out.println(demo.b);
System.out.println(demo.c);
System.out.println(demo.d);
System.out.println(demo.e);
System.out.println(demo.f);
System.out.println(demo.g);
System.out.println(demo.demo2);
}
}
0
0
0
0.0
0.0
false
null
- 特别的,如果是static类型的变量,也可以不创建对象直接使用
public class Demo {
private static int a;
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(a);
}
}
0
以上是关于Java基础的主要内容,如果未能解决你的问题,请参考以下文章