Java基礎(0-數組)學習

Java基礎學習

Hello,Word!

  1. 打開IDEA (java編譯器,可以百度安裝)
  2. 配置好Java環境變量(安裝完,在path中添加java的bin目錄)
  3. 在src文件中新建名爲“Hello”的文件
  4. 寫下以下代碼
public class Hello {
    public static void main(String[] args) {
        System.out.println(“Hello,Word!”);
    }
}
  1. 運行代碼

在這裏插入圖片描述

標識符

  • 所有的標識符都應該以字母(A-Z或者a-z),美元($),或者下劃線(_)開頭。
  • 首字符之後可以是字母,$,_,或者數字的任意組合。
  • 不能使用關鍵字作爲變量名或者方法名
  • 標識符是大小寫敏感的
  • 合法字符舉例:age,$sad,_sadsad, _1 _13s
  • 非法字符舉例:123abc,-dasd,#abc
  • 可以使用中文命名,但是一般不建議使用。

數據類型

強數據類型

  • 要求變量使用要嚴格符合規定,所有變量都必須先定義後使用

弱數據類型

  • 與上相反

Java的數據類型分兩大類

  • 基本類型(primitive type)
    • 數值類型
      • 整數類型
        • byte佔1個字節範圍: -128-127
        • short佔2個字節範圍:-32768-32767
        • int佔4個字節範圍: -2147483648-2147483647
        • long佔8個字節範圍: -9223372036854775808
        • 9223372036854775807
      • 浮點類型
        • float佔4個字節
        • double佔8個字節
      • 字符類型char佔2個字節
    • boolean類型:佔1位其值只有true和false兩個
  • 引用類型(reference type)
    • 接口
    • 數組

編寫代碼

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gDA0gGbi-1587737498563)(C:\Users\25388\AppData\Roaming\Typora\typora-user-images\image-20200210201037153.png)]

類型轉換

    public static void main(String[] args) {
        int i = 128;
        byte n = (byte)i;
        double o = i;

        //強制轉換  (類型)變量名  高->低
        //自動轉換  低->高
    
        System.out.println(i);
        System.out.println(n);
        System.out.println(o);
        /*
        注意點:
        1. 不能對布爾值進行轉換
        2. 不能把對象類型轉換爲不相干的類型
        3. 在把高容量轉換到低容量的時候,強制轉換
        4. 轉換的時候可能存在內存溢出或者是精度問題
         */
        System.out.println("==============");
        System.out.println((int)27.4);
        System.out.println((int)-45.48f);
        //=================================================
        //操作比較大的數值的時候,注意溢出問題
        //JDK7新特性,數字之間可以使用下劃線分割
        int money= 10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480,計算的時候內存溢出
        long total2=money*years;//默認是int,轉換之前已經存在問題了
        long total3=money*(long)years;//先把一個數據轉換成long
        System.out.println(money);
        System.out.println(total);
}
}

順序結構

public class order {
    public static void main(String[] args) {
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        System.out.println("4");
        System.out.println("5");
    }
}

輸入語句

//hasNext
package java1.scanner;

import java.util.Scanner;
public class Select {
    public static void main(String[] args) {
        //創建一個掃描器對象,用於接受鍵盤數據
        Scanner S = new Scanner(System.in);
        System.out.println("使用nxet方式接收");

        //判斷用戶有沒有接收輸入字符串
        if (S.hasNext()){
            //使用next方式接收
            String str=S.next();//程序會等待用戶輸入完畢
            System.out.println("輸入的內容爲"+str);
        }
        //凡是屬於IO流(輸入輸出)的類如果不關閉會一直佔用資源,要養成好習慣,用完就關掉
        S.close();
    }
}
//hasNextLine
package java1.scanner.java01;

import java.util.Scanner;

public class Scan {
    public static void main(String[] args) {
        //從鍵盤接收數據
        Scanner S = new Scanner(System.in);
        System.out.println("使用nextLine方式接收");
        //判斷是否有輸入
        if (S.hasNextLine()){
            String str = S.nextLine();
            System.out.println("輸出的內容爲"+str);
        }
        S.close();
    }
}
//scanner進階
package java1.scanner.java01;

import java.util.Scanner;

public class HasNext {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        //從鍵盤接收數據
        int i=1;
        float f=0.0f;
        System.out.println("請輸入整數:");
        //如果。。。那麼
        if (scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整數數據:"+i);
        }else {
            System.out.println("輸入的不是整數數據:"+i);
        }
        System.out.println("請輸入小數:");
        //如果。。。那麼
        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小數數據:"+f);
        }else {
            System.out.println("輸入的不是小數數據:"+f);
        }

        scanner.close();
    }
}
//例題
package java1.scanner.java01;

        import java.util.Scanner;

public class Add {
    public static void main(String[] args){
        //輸入多個數字,並求其總和與平均數,
        //每輸入一個數字用回車確認,通過輸入
        //非數字結果輸出並輸出結果
        Scanner scanner = new Scanner(System.in);

        //和
        double sum= 0;
        //計算輸入了多少個數字
        int m=0;
        //通過循環判斷還有是否還有輸入,並在裏面對每一次進行求和統計
        while (scanner.hasNextDouble()){
            double x =  scanner.nextDouble();
            m++;
            sum=sum+x;
            System.out.println("你輸入了第"+m+"個數據"+"當前結果爲"+sum);
        }
        System.out.println(m+"個數的和爲"+sum);
        System.out.println(m+"個數的平均值是"+(sum/m));
        scanner.close();
    }
}

選擇結構

語法

if(布爾表達式){
    //如果布爾表達式爲true將執行的語句
}

switch多選擇結構

package java1.scanner.java01;

public class Fan {
    public static void main(String[] args) {
        //字符的本質還是數字

        //反編譯 java---class(字節碼文件)---反編譯(IDEA)
    String name="小明;
    switch(name){
        case "小明":
            System.out.println("小明");
            break;
        case "蘭如生":
            System.out.println("蘭若生");
            break;
        default:
            System.out.println("弄啥嘞!");
            break;
    }
    }
}

反編譯

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package java1.scanner.java01;

public class Fan {
    public Fan() {
    }

    public static void main(String[] args) {
        String name = "小明";
        byte var3 = -1;
        switch(name.hashCode()) {
        case 20775245:
            if (name.equals("蘭如生")) {
                var3 = 1;
            }
            break;
        case 38262113:
            if (name.equals("小明")) {
                var3 = 0;
            }
        }

        switch(var3) {
        case 0:
            System.out.println("小明");
            break;
        case 1:
            System.out.println("蘭若生");
            break;
        default:
            System.out.println("弄啥嘞!");
        }

    }
}

數組

package java1.scanner.java03;

public class ABC {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5};
        //打印全部數組元素
        for (int i = 0; i <a.length; i++) {
            System.out.println(a[i]);
        }

        //計算所有數組元素的和
        int sum=0;
        for (int i = 0; i < a.length; i++) {
            sum+=a[i];
        }
        System.out.println("sum="+sum);

        //數組最大值
        int i=a[0];
        for (int j = 1; j < a.length; j++) {
            if (a[j]>i){
                i=a[j];
            }
        }
        System.out.println("max="+i);
    }
}

遍歷數組

package java1.scanner.java04;

public class ShuZhu {
    public static void main(String[] args) {
        int[] a= {1,2,3,4,5,6,7,8,9};
        for (int i : a) {
            System.out.println(i);
        }
    }
}
package java1.scanner.java04;

public class ShuZhu {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6};
        p(a);
        System.out.println();
        p(s(a));
    }
    //反轉數組
    public static int[] s(int[] x){
        int[] a=new int[x.length];
        for (int i = 0,j=x.length-1; i < x.length; j--,i++) {
            a[i]=x[j];
        }
        return a;
    }
    //打印數組
    public static void p(int[] x){
        for (int i = 0; i < x.length; i++) {
            System.out.print(x[i]+" ");
        }
    }
}

冒泡排序

ps:以下是兩個文件代碼

package java2;

public class Cha {
    public static void main(String[] args) {
        int[] s = new int[5];
        s=new int[] {1,5,3,4};
        Cha1 cha1 = new Cha1();
        cha1.shucc(s);
        Cha1.paixu(s);
        System.out.println();
        cha1.shucc(s);

    }
}
==========================================
package java2;

public class Cha1 {

    public void shucc(int[] s){
        for (int i = 0; i < s.length; i++) {
            System.out.print(s[i]+" ");
        }
    }

    public static void paixu(int[] s){
        for (int i = 0; i < s.length; i++) {
            for (int j = 0; j < i; j++) {
                int t;
                if (s[j]>s[j+1]){
                    t = s[j];
                    s[j]=s[j+1];
                    s[j+1]=t;
                }
            }
        }
    }
}

以上筆記來自B站狂神說java視頻中我手抄下來的筆記,因爲是第一次寫博客,如果有任何不足或者侵權的地方請聯繫我改進或刪除,應該沒什麼大問題吧。最後希望大家學好編程,額,就這樣吧0.0

附上狂神的視頻鏈接:
https://www.bilibili.com/video/BV12J41137hu

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