数据类型
Java 的两大数据类型:内置数据类型、引用数据类型
内置数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
byte、short、int、long、float、double、char、boolean
基本类型 | 范围 |
---|---|
byte: | (8位)-128~127 |
short: | (26位)一个short变量是int型变量所占空间的二分之一 |
int: | (32位)-2^31 ~ 2^31 - 1 |
long: | (64位)、默认值是 0L |
float: | (32位)、默认值是 0.0f |
double: | (64 位)、默认值是 0.0d |
boolean: | 默认值是 false |
char: | (16 位)、【\u0000(十进制等效值为 0)~\uffff(即为 65535)】 |
Java Number类
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类
包装类 | 基本数据类型 |
---|---|
Byte | byte |
Short | short |
Integer | int |
Long | long |
Float | float |
Double | double |
Character | char |
Boolean | boolean |
会自动装箱和拆箱:
Character ch = new Character('a');
//可以不用创建对象;会自动装箱
Character ch = 'a';// 原始字符 'a' 装箱到 Character 对象 ch 中
// 原始字符 'x' 用 test 方法装箱
char c = test('x');// 返回拆箱的值到 'c'
Java Character 类
常用方法:
方法 | 描述 |
---|---|
isLetter() | 是否是一个字母 |
isDigit() | 是否是一个数字字符 |
isUpperCase() | 是否是大写字母 |
isLowerCase() | 是否是小写字母 |
Java String 类
创建:
String str = "Runoob";// String 直接创建
String str2=new String("Runoob");// String 对象创建
String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:
常用方法
方法 | 描述 |
---|---|
int length() | 返回字符串对象包含的字符数 |
String concat(String str) | 连接字符串【更常用的是使用'+'操作符】 |
char charAt(int index) | 返回指定索引处的 char 值 |
boolean endsWith(String suffix) | 测试此字符串是否以指定的后缀结束 |
boolean startsWith(String prefix) | 测试此字符串是否以指定的前缀开始 |
boolean equalsIgnoreCase(String anotherString) | 将此 String 与另一个 String 比较,不考虑大小写。 |
byte[] getBytes() | 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中 |
char[] toCharArray() | 将此字符串转换为一个新的字符数组 |
int indexOf(String str/int ch) | 返回指定子字符串在此字符串中第一次出现处的索引 |
int lastIndexOf(String str/int ch) | 返回指定字符在此字符串中最后一次出现处的索引 |
String replace(char oldChar, char newChar) | 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的 |
String substring(int beginIndex, int endIndex) | 返回一个新字符串,它是此字符串的一个子字符串 |
String toLowerCase()/toUpperCase() | 使用默认语言环境的规则将此 String 中的所有字符都转换为小/大写 |
String trim() | 返回字符串的副本,忽略前导空白和尾部空白 |
static String valueOf(primitive data type x) | 返回给定data type类型x参数的字符串表示形式 |
valueOf(boolean b) | 返回 boolean 参数的字符串表示形式 |
contains(CharSequence chars) | 判断是否包含指定的字符系列 |
isEmpty() | 判断字符串是否为空 |
Java 数组
声明数组变量和创建
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = {value0, value1, ..., valuek};
dataType[] arrayRefVar = new dataType{value0, value1, ..., valuek};//完整格式
dataType arrayRefVar[] = {value0, value1, ..., valuek};
//eg:
int[] myList = new int[8];
int[] myList = new int[]{3, 1, 2, 6, 4, 2}
int myList[] = {3,4,5,6,7,8,9,10};
Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
说明 | 方法 | 函数 |
---|---|---|
给数组赋值 | fill() | void fill(int[] a, int val) |
对数组排序 | sort(),按升序 | void sort(Object[] a) |
比较数组 | equals()比较数组中元素值是否相等 | boolean equals(long[] a, long[] a2) |
查找数组元素 | binarySearch()能对排序好的数组进行二分查找法操作 | int binarySearch(Object[] a, Object key) |