一、Java 的两大数据类型:
内置数据类型 引用数据类型
1.1、内置数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
数据类型 | 占位 | 最小值 | 最大值 | 默认值 | 例子 |
---|
byte | 8位 | -128(-2^7) | 127(2^7-1) | 0 | byte a = 100 | short | 16位 | -32768(-2^15) | 32767(2^15 - 1) | 0 | short = 100 | int | 32位 | -2,147,483,648(-2^31) | 2,147,483,647(2^31 - 1) | 0 | int b = 100 | long | 64位 | -9,223,372,036,854,775,808(-2^63) | 9,223,372,036,854,775,807(2^63 -1) | 0L | long a = 100L | float | 32位 | | | 0.0f | float f1 = 234.5f | double | 64 位 | | | 0.0d | double d5 = 12.9867; double d1 = 7D ;double d4 = 8.D; | boolean | 1位 | | | false | boolean one = true | char | 16 位 | \u0000(十进制等效值为 0) | \uffff(即为 65535) | char 数据类型可以储存任何字符 | char letter = ‘A’ | String (or any object) | | | | null | | | | | | | |
1.2、引用类型
在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型, 对象、数组都是引用数据类型。 所有引用类型的默认值都是null。
1.3、Java 常量
在 Java 中使用 final 关键字来修饰常量 例子:final double PI = 3.1415927;
二、类型转换
2.1、自动类型转换
低 -----------------------------------------------------> 高 byte,short,char—> int —> long—> float —> double
char c1='a';
int i1 = c1;
数据类型转换必须满足如下规则:
-
不能对boolean类型进行类型转换。 -
不能把对象类型转换成不相关类的对象。 -
在把容量大的类型转换为容量小的类型时必须使用强制类型转换。 -
转换过程中可能导致溢出或损失精度,例如:
int i =128;
byte b = (byte)i;
2.2、强制类型转换
int i1 = 123;
byte b = (byte)i1;
2.3、隐含强制类型转换
1、 整数的默认类型是 int。 2、小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。
三、符号 字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x0)
\s 空格 (0x20)
\t 制表符
\" 双引号
\' 单引号
\\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16进制Unicode字符 (xxxx)
四、变量类型
java语言支持的变量类型有: 类变量:独立于方法之外的变量,用 static 修饰。 实例变量:独立于方法之外的变量,不过没有 static 修饰。 局部变量:类的方法中的变量。
public class Variable{
static int allClicks=0;
String str="hello world";
public void method(){
int i =0;
}
}
一下主要记录实例变量和类变量;对于局部变量不做介绍。因为局部变量就是平常经常定义使用的变量。
4.1、实例变量
1、实例变量声明在一个类中,但在方法、构造方法和语句块之外; 2、当一个对象被实例化之后,每个实例变量的值就跟着确定; 3、实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 4、实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息; 5、实例变量可以声明在使用前或者使用后; 6、访问修饰符可以修饰实例变量; 7、实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见; 8、实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定; 9、实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名ObejectReference.VariableName。
import java.io.*;
public class Employee{
public String name;
private double salary;
public Employee (String empName){
name = empName;
}
public void setSalary(double empSal){
salary = empSal;
}
public void printEmp(){
System.out.println("名字 : " + name );
System.out.println("薪水 : " + salary);
}
public static void main(String[] args){
Employee empOne = new Employee("RUNOOB");
empOne.setSalary(1000.0);
empOne.printEmp();
}
}
4.2、类变量
1、类变量也称为静态变量 ,在类中以 static 关键字声明 ,但必须在方法之外。 2、无论一个类创建了多少个对象,类只拥有类变量的一份拷贝 。 3、静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。 4、静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。 5、静态变量在第一次被访问时创建,在程序结束时销毁。 6、与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。 7、默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。 8、静态变量可以通过:ClassName.VariableName的方式访问。 9、类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。
import java.io.*;
public class Employee{
private static double salary;
public static final String DEPARTMENT = "开发人员";
public static void main(String[] args){
salary = 10000;
System.out.println(DEPARTMENT+"平均工资:"+salary);
}
}
|