java中级2

来源:互联网 发布:mac怎么给iphone换铃声 编辑:程序博客网 时间:2024/06/03 06:43

instanceof 属于

    是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

代码块

普通代码块:

在方法或语句中出现的{}就称为普通代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”
publicclass
CodeBlock01{
      publicstatic 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 staticvoid
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 staticvoid
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)),也会出现异常,但会多产生一个对象

原创粉丝点击