鏈表
基本形式(依賴于引用傳遞和this調用當前對象)
class Node{
private String data; //要保存的數據
private Node next; //要保存的下一節點
public Node(String data){ //保存相對應的數據
this.data = data;
}
public void setNext(Node next){
this.next = next;
}
public Node getNext(){
return this.next;
}
public String getData(){
return this.data;
}
}
public class ListNode{
public static void main(String []args){
Node root = new Node("火車頭");
Node n1 = new Node("車廂A");
Node n2 = new Node("車廂B");
root.setNext(n1);
n1.setNext(n2);
Node current = root;
while(current != null){
System.out.println(current.getData());
current = current.getNext();
}
}
}
裝箱與拆箱
int與Integer
public class ListNode{
public static void main(String []args){
Integer obj = new Integer(10);
int temp = obj.intValue();
System.out.println(temp*2);
}
}
double與Double
public class ListNode{
public static void main(String []args){
Double obj = new Double(10.2);
Double temp = obj.doubleValue();
System.out.println(temp*2);
}
}
boolean與Boolean
public class ListNode{
public static void main(String []args){
Boolean obj = new Boolean(true);
Boolean temp = obj.booleanValue();
System.out.println(temp);
}
}
自動拆箱與裝箱
public class ListNode{
public static void main(String []args){
Integer obj = 10; //自動裝箱
int temp = obj; //自動拆箱
obj++;
System.out.println(temp*obj);
}
}
與String對象一致
public class ListNode{
public static void main(String []args){
Integer obja = 10; //自動裝箱
Integer objb = 10;
Integer objc = new Integer(10);
System.out.println(obja == objc);
System.out.println(obja.equals(objc));
}
}
Object可以接收一切的引用數據類型
public class ListNode{
public static void main(String []args){
Object obj = 10;
int temp = (Integer)obj;
System.out.println(temp*2);
}
}
double必須給以指定的格式
public class ListNode{
public static void main(String []args){
Double obj = 10;
System.out.println(obj);
}
}
F:\prac>javac ListNode.java
ListNode.java:3: 錯誤: 不兼容的類型: int無法轉換為Double
Double obj = 10;
^
1 個錯誤
---------------------------------------------------
public class ListNode{
public static void main(String []args){
Double obj = 10.2;
System.out.println(obj);
}
}
Boolean
public class ListNode{
public static void main(String []args){
Boolean flag = true;
if(flag){
System.out.println("Hello");
}
}
}
String與各個基本數據類型之間的轉換操作
一、public static int parseInt(String s)
//被轉換的數必須由數字組成
public class ListNode{
public static void main(String []args){
String str = "123";
int temp = Integer.parseInt(str);
System.out.println(temp*3);
}
}
二、public static double parseDouble(String s)
public class ListNode{
public static void main(String []args){
String str = "1.3";
double temp = Double.parseDouble(str);
System.out.println(temp*3);
}
}
三、public static boolean parseBoolean(String s)
//如果String的值不是true或false,則按false統一處理
public class ListNode{
public static void main(String []args){
String str = "true";
boolean temp = Boolean.parseBoolean(str);
if(temp){
System.out.println("滿足條件");
}else{
System.out.println("不滿足條件");
}
}
}
F:\prac>java ListNode
滿足條件
---------------------------------------------------------
public class ListNode{
public static void main(String []args){
String str = "xfxhfdnxde";
boolean temp = Boolean.parseBoolean(str);
if(temp){
System.out.println("滿足條件");
}else{
System.out.println("不滿足條件");
}
}
}
F:\prac>java ListNode
不滿足條件
String轉基本數據類型
一、任何基本數據類型與String類型使用了“+”操作后均變為String類型
public class ListNode{
public static void main(String []args){
int num = 100;
String str = num+"";
System.out.println(str.replaceAll("0","9"));
}
}
二、public static String valueOf(數據類型 變量) public static String valueOf(int i)
public class ListNode{
public static void main(String []args){
int num = 100;
String str = String.valueOf(num);
System.out.println(str.replaceAll("0","9"));
}
}