java中級2

instanceof 屬於

    是用來在運行時指出對象是否是特定類的一個實例。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個實例。
用法:
result = object instanceof class
參數:
Result:布爾類型。
Object:必選項。任意對象表達式。
Class:必選項。任意已定義的對象類。
說明:
如果 object 是 class 的一個實例,則 instanceof 運算符返回 true。如果 object 不是指定類的一個實例,或者 object 是 null,則返回 false。

代碼塊

普通代碼塊:

在方法或語句中出現的{}就稱爲普通代碼塊。普通代碼塊和一般的語句執行順序由他們在代碼中出現的次序決定--“先出現先執行”
public class
CodeBlock01{
      public static void
main(String[] args){
        
            {
              int x=3
;
               System.out.println("1,普通代碼塊內的變量x="+
x);   
            }
            
             int x=1
;
             System.out.println("主方法內的變量x="+
x);
            
            {
                int y=7
;
                System.out.println("2,普通代碼塊內的變量y="+
y);   
            }
          }
    }
   

構造塊:

直接在類中定義且沒有加static關鍵字的代碼塊稱爲{}構造代碼塊。構造代碼塊在創建對象時被調用,每次創建對象都會被調用,並且構造代碼塊的執行次序優先於類構造函數。

public class
CodeBlock02{
    {
      System.out.println(
"第一代碼塊"
);  
    }
  
  
public
CodeBlock02(){
        System.out.println(
"構造方法"
);
        }
      
        {
          System.out.println(
"第二構造塊"
);
        }
    
public static void
main(String[] args){
        
new
CodeBlock02();
        
new
CodeBlock02();
        
new
CodeBlock02();
         
    }
}  


靜態代碼塊:

在java中使用static關鍵字聲明的代碼塊。靜態塊用於初始化類,爲類的屬性初始化。每個靜態代碼塊只會執行一次。由於JVM在加載類時會執行靜態代碼塊,所以靜態代碼塊先於主方法執行。
//
如果類中包含多個靜態代碼塊,那麼將按照"先定義的代碼先執行,後定義的代碼後執行"。
//注意:1 靜態代碼塊不能存在於任何方法體內。2 靜態代碼塊不能直接訪問靜態實例變量和實例方法,需要通過類的實例對象來訪問。


class
Code{
    {
      System.out.println(
"Code的構造塊"
);
    }
  
  
static
{
        System.out.println(
"Code的靜態代碼塊"
);
        }
      
  
public
Code(){
        System.out.println(
"Code的構造方法"
);
        }
    }
  
  
public class
CodeBlock03{
     {
      System.out.println(
"CodeBlock03的構造塊"
);  
     }
   
   
static
{
        System.out.println(
"CodeBlock03的靜態代碼塊"
);
        }
      
      
public
CodeBlock03(){
             System.out.println(
"CodeBlock03的構造方法"
);
            }
      
    
public static void
main(String[] args){
            System.out.println(
"CodeBlock03的主方法"
);
          
new
Code();
          
new
Code();
          
new
CodeBlock03();
          
new
CodeBlock03();
          }
    }

包裝類

Byte  Short Integer Long Boolean Float Double  Character

在八個類名中,除了IntegerCharacter類以後,其它六個類的類名和基本數據類型一直,只是類名的第一個字母大寫即可。

對於包裝類說,這些類的用途主要包含兩種:

a、作爲和基本數據類型對應的類類型存在,方便涉及到對象的操作。

b、包含每種基本數據類型的相關屬性如最大值、最小值等,以及相關的操作方法。

String轉整數類型 整數轉String

int -> String

int i=12345;
String s="";
第一種方法:s=i+"";
第二種方法:s=String.valueOf(i);
這兩種方法有什麼區別呢?作用是不是一樣的呢?是不是在任何下都能互換呢?

String -> int

s="12345";
int i;
第一種方法:i=Integer.parseInt(s);
第二種方法:i=Integer.valueOf(s).intValue();
這兩種方法有什麼區別呢?作用是不是一樣的呢?是不是在任何下都能互換呢?

以下是答案:

第一種方法:s=i+"";//會產生兩個String對象

第二種方法:s=String.valueOf(i);//直接使用String類的靜態方法,只產生一個對象

第一種方法:i=Integer.parseInt(s);//直接使用靜態方法,不會產生多餘的對象,但會出現異常

第二種方法:i=Integer.valueOf(s).intVlaue();//Integer.valueOf(s)相當於new Integer(Integer。parseInt(s)),也會出現異常,但會多產生一個對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章