java編程中的一些小知識(print與println的區(qū)別,方法的定義,參數(shù)傳遞機制)

編碼GBK不可映射字符(錯誤提示)

解決方法:需要在每個build.gradle中加入一串固定的代碼


固定代碼

print與println的區(qū)別

print不換行;println自動換行
以println輸出

public class Myclass {
    public static void main(String[] args) {
        int a = 10;
        float b = 20;
        System.out.println("a ="+a);
        System.out.println("b ="+b);
    }
}

輸出結(jié)果:
a=10
b=20.0
以print輸出

public class Myclass {
    public static void main(String[] args) {
        int a = 10;
        float b = 20;
        System.out.print("a ="+a);
        System.out.print("b ="+b);
    }
}

輸出結(jié)果:
a=10b=20.0

java的數(shù)組

1. 數(shù)組的定義Array ( int num[] = new int[30]),數(shù)組一旦創(chuàng)建,內(nèi)存空間確定無法變化

創(chuàng)建靜態(tài)數(shù)組
String name = new String[]{"jack","merry"};
常用定義方法
String[] titles = new String[]{"新聞","體育"};

2.數(shù)組的訪問(num[0] = 20)

public class Myclass {
    public static void main(String[] args) {
            //創(chuàng)建動態(tài)數(shù)組
            int num[] = new int[30];
            //獲取數(shù)組的個數(shù)
            System.out.println("數(shù)組個數(shù)"+num.length);

        }  
    }

輸出結(jié)果:
數(shù)組個數(shù)30

3.數(shù)組的遍歷

方法一:關(guān)心第幾個

  for(int i = 0;i < titles.length;i++){
                System.out.println(titles[i]);
            }

方法二:僅僅打印出來每個

      for(String temp :titles){
                System.out.println(temp);
            }

方法的定義

·類里邊有什么:屬性、方法、類→內(nèi)部類、接口、靜態(tài)代碼塊(java是面向?qū)ο蟮恼Z言,一切皆對象)
· java里的方法都不可獨立存在,只能在類里申明
類方法=靜態(tài)方法
對象方法=實例方法

對象方法與類方法的區(qū)別

1.定義的區(qū)別:類方法 使用static修飾
2.意義的區(qū)別:類方法依附于類本身,優(yōu)先于對象方法被加載,當這個類加載到內(nèi)存中時這個方法即被加載,而此時對象還不存在,所以只能用類來調(diào)用調(diào)用這個類方法;對象方法依附于對象,必須創(chuàng)建這個類的一個對象,用對象來調(diào)用
3.static可以修飾以下
變量 靜態(tài)變量
方法 靜態(tài)方法
類(內(nèi)部類)靜態(tài)內(nèi)部類
定義

public class Person {

    //定義一個沒有參數(shù)實例的方法
    //public protect private
    public void eat(){
        //修飾符+返回值+方法名+參數(shù)

    }
    public void work(String tool,String dest){

    }
    public String test(){
        return"result";
    }
    //定義一個對象方法
    public static void test2(){

    }
}

訪問

public class Myclass {
    public static void main(String[] args) {
        Person p = new Person();
        p.eat();
        p.work("榔頭","工地");

        String result = p.test();
        //類方法的調(diào)用
        Person.test2();
    }
}

java參數(shù)傳遞機制

值傳遞,傳遞過去的是當前一份變量的拷貝,內(nèi)部改變不影響值

Myclass.java

public class Myclass {
    public static void main(String[] args) {
       {
            int a = 10;
            Person q = new Person();
            q.test3(a);
            System.out.println("a=" + a);
        }
    }

}

Person.java

public class Person {

    //定義一個沒有參數(shù)實例的方法
    //public protect private
    public void test3(int a){
        //修飾符+返回值+方法名+參數(shù)
        a++;

    }

輸出結(jié)果:
a=10
對象傳遞,傳遞的是地址,所以內(nèi)部改變時。值發(fā)生改變

public class Myclass {
    public static void main(String[] args) {
        {
            Car bz = new Car();
            bz.wheelCount = 8;

            Person p = new Person();
            p.test4(bz);
            System.out.println("wheel count is " + bz.wheelCount);
        }
    }

}

package com.example.lib.day2;

/**
 * @Description
 * @Author 空添
 */
public class Car {
    public int wheelCount;
}

輸出結(jié)果:
wheel count is 4

可變參數(shù)

Person.java

public class Person {
    //傳遞一個可變參數(shù),參數(shù)個數(shù)不確定
    //使用數(shù)組來接收
    //String ... args等價于String[] args
    public void test5(String ... args){
        for(int i = 0;i < args.length;i++){
           System.out.println(args[i]);
        }
    }
}

Myclass.java

package com.example.lib.day2;

/**
 * @Description
 * @Author 空添
 */
public class Myclass {
    public static void main(String[] args) {        
        {
            Person p = new Person();
            p.test5("jack","rose","merry");
        }
    }
}

輸出結(jié)果:
jack
rose
merry

方法的重載

同一個類里,方法名相同,參數(shù)不同;方法的重載和返回值,修飾符沒有關(guān)系;方法名與類名相同,沒有返回值
構(gòu)造方法如何去創(chuàng)建一個對象;系統(tǒng)默認提供一個無參的構(gòu)造方法
構(gòu)造方法可以解決兩個問題:代碼更簡潔
Car.java

public class Car {
    public int wheelCount;
    public int engine;
    public int seat;
    public Car(){

    }
    public Car(int count,int cEngine,int cSeat){
        wheelCount = count;
        engine = cEngine;
        seat = cSeat;
    }
}

Myclass.java

package com.example.lib.day2;
public class Myclass {
    public static void main(String[] args) {
     {
        Car c1 = new Car();
        c1.wheelCount = 4;

        Car c2 = new Car(4,2,7);
    }


}

private的訪問方法

setter/getter方法:間接訪問private
Myclass.java

public class Myclass {
    public static void main(String[] args) {
        Person p = new Person();
        //直接訪問
        p.money = 200;
        //間接訪問
        p.setName("jack");

        System.out.println("My name is "+p.getName());

    }
}

Person.java

package com.example.lib.day3;

/**
 * @Description
 * @Author 空添
 */
public class Person {
    private String name;
    public int money;

    //set方法
    public void setName(String name){
        this.name = name;
    }

    //get方法
    public String getName(){
        return name;
    }
}

輸出結(jié)果:
My name is jack

getter和setter方法快速調(diào)出:alt+enter

(這個方法位于代碼末端)

toString方法

沒有手動實現(xiàn)toString方法
Myclass.java

package com.example.lib.day3;
public class Myclass {
    public static void main(String[] args) {
        Person p = new Person();
        System.out.println(p);

    }
}

Person.java

package com.example.lib.day3;
public class Person {
    private String name;
    public int money;
}

輸出結(jié)果:
com.example.lib.day3.Person@42a57993

當print輸出一個對象時,就會去這個對象內(nèi)部查找toString方法
如果沒有實現(xiàn),那么會從父類Object里去查找toString的實現(xiàn)
Object里面默認使用 類名+@+hasCode
重寫toString方法是為了在調(diào)試時快速獲取這個對象信息

手動輸入實現(xiàn)toString
 @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", money=" + money +
                '}';

輸出結(jié)果:
Person{name='null', money=0}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容