基础数据类型
不同于python,Java作为一门面向对象的编程语言,并非所有数据类型都是对象,为了兼容cpp,java也依旧提供基本数据类型,存储在栈中.
int ,基础整形float ,单精度浮点型double ,双精度浮点型char ,字符型boolean ,布尔型long ,长整型short ,短整型
int a = 1;
short b = 2;
long c = 3;
float d = 4;
double e = 5.88;
char f = 'c';
boolean g = true;
引用数据类型(对象)
Java中没有指针的概念,引用数据类型可以理解cpp中指针类型的封装和限制,存储在堆中,同时,Java虚拟机还提供了垃圾回收机制,即所有声明的对象无需手动释放,虚拟机会在适当的时候自动回收.
String
字符串,用于存放常规的字符文字信息
String str1 = "this is a piece of sentence.";
String str2 = new String("this is a piece of string.");
String str3 = null;
str1.length();
System.out.println(str1);
int[], double[]…
各种类型的静态数组,长度固定,.length可获取其长度
int[] arr1 = {1,2,3,4,5};
int[] arr2 = new int[5];
int[] arr3 = null;
int size = arr1.length;
arr1[0] = 100;
ArrayList<TYPE>
工具库中提供的可变数组,长度可变,同时相较于基本数组提供了各种可供调用的方法,需要引入java.util.ArrayList
import java.util.ArrayList;
ArrayList\<String> al1 = new ArrayList\<String>();
ArrayList\<String> al3 = null;
al1.add("first");
al1.add("second");
al1.add("third");
al1.remove("first");
System.out.println(al1);
al1.contains("second");
al2 = al1;
al3 = new ArrayList<>(al1);
System.out.println(al3.get(0));
HashMap<TYPE,TYPE>
映射类型,也即是键值对的集合,一个键对应唯一的一个值,需要引入java.util.HashMap
import java.util.HashMap;
HashMap\<String,String> hm1 = new HashMap\<String,String>();
HashMap\<String,String> hm3 = null;
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("first", "this");
hm.put("second", "that");
hm.put("third", "void");
System.out.println(hm);
String info = hm.get("first");
System.out.println(info);
hm.remove("first");
System.out.println(hm.size());
hm.clear();
System.out.println(hm.isEmpty());
System.out.println(hm.keySet());
System.out.println(hm.values());
for(String eachKey : hm.keySet()){
System.out.println(eachKey + "," + hm.get(eachKey));
}
HashSet<TYPE>
可变集合,重复元素将被忽略,需要引入java.util.HashSet
import java.util.HashSet;
HashSet\<Integer> hs1 = new HashSet\<Integer>();
HashSet\<Integer> hs2 = new HashSet<>();
HashSet\<Integer> hs3 = null;
HashSet<Integer> hs = new HashSet<Integer>();
hs.add(3);
hs.add(3);
hs.add(2);
hs.add(4);
System.out.println(hs);
hs.remove(3);
System.out.println(hs.size());
hs.clear();
System.out.println(hs.isEmpty());
System.out.println(hs.contains(3));
null
如果将引用类型类比cpp中的指针,那么java中的null即为cpp中的nullptr,当任何引用类型赋值为null,则表示该对象指向为空,并不管理任何实际数据空间。
String s = null;
Integer i = null;
Double d = null;
包裹类
包裹类也是引用类型的一种,是java中对于基础数据类型的封装,包裹类一般不直接使用,而是用于类中。包裹类型将一个基本数据类型的数据转换成对象的形式,从而使得它们可以像对象一样参与运算和传递。
Integer Float Double Character Boolean Long Short Float
|