[Java筆記]基礎知識


Java筆記(一)


將 java 源文件編譯為 class 字節碼文件

javac HelloWorld.java
java HelloWorld    //運行

 簡單例子(模板)

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

變量命名:

允許字母、下划線、數字(不允許寫在開頭)美元符號$構成。

保留字:

常量前綴為 final

Java修飾符:

  • 訪問控制修飾符 : default, public , protected, private
  • 非訪問控制修飾符 : final, abstract, static, synchronized

數據類型轉換:

基本數據類型:byte,short,long,int,double,float,boolean,char  沒有String,String是一個對象

失精度用強制轉換,不失精度自動轉換。

整型、實型(常量)、字符型數據可以混合運算。運算中,不同類型的數據先轉化為同一類型,然后進行運算。

自動轉換:

轉換從低級到高級。

 -------------------------------->  byte,short,char—>int—>long—>float—>double

邏輯運算符:

用T/F表示 True 和 False

a b !a a&b a|b a^b a&&b a||b
T T F T T F T T
T F F F T T F F
F T T F T T F F
F F T F F F F F

輸入與輸出:

輸入方式(import java.util.Scanner):

Scanner sc = new Scanner(System.in);

System.out.println("請輸入一個整數:");
int i = sc.nextInt();

System.out.println("請輸入一個浮點數:");
double j = sc.nextDouble();

System.out.println("請輸入一個字符串:");
String s = sc.next();
String s = sc.nextLine();    //按行讀入

sc.close();

主要的兩種輸出方式:

int j;
System.out.println("該數字為"+j);
//println實現輸出到控制台,各項數據間用‘+’連接


int k;
System.out.printf("該數字為%d",j);
//占位符輸出,關於占位符的對應使用,后面放一個表格吧

主要占位符(想知道更多的可以去搜,寫題基本上這四個夠了):

占位符 數據類型
%s  string
%d int
%f double,float 
%c char

關於占位符的使用其實有很多,像我經常用到的還有一個取小數的功能,有興趣的可以去學一學。

這里要和C++中的 printf 做個區分,C++中 double 要用 %lf ,而Java的double和float一樣使用%f。其余的我就不多講了,畢竟我關於C++中的 printf 和 scanf 也只是平時用用而已。

窗口的數據讀入與顯示(import java.swing.JOptionPane)

String r_str= JOptionPane.showInputDialog("請輸入圓的半徑:");
r= Double.parseDouble(r_str);
//窗口讀入的都默認為string型

JOptionPane.showMessageDialog(parentComponent,message);
//parentComponent一般情況使用null,message為你要輸出的信息,方式類似於System.out.println

System.exit(0);
//記得要有這句話

偽隨機數的使用(import java.util.Random):

double rand1 = Math.random();    //[0,1.0)
int rand2 = (int)(Math.random()*2);        //{0,1}
int rand3 = 1+(int)(Math.random()*10);    //1-10的整數

創建數組:

dataType[] array = new dataType[Size];

dataType[] array = {value0, value1, ..., valuek};

//二維數組:

type[][] typeName = new type[Length1][Length2];
//length2可為空

區別於C++中可以使用  int c[10] ;  這樣的句子,Java中需要使用 new 賦予存儲空間。

數組的拷貝:

System.arraycopy(Object src, srcPos,Object dest,destPos,int length);
//從數組src的第srcPos項開始的length個項目拷貝到目標數組,從destPos的length個位置

 數組的排序(import java.util.Arrays):

Arrays.sort(a);    //a是一個數組

字符串常用方法:

s1.length();
//返回s1的長度
s1.indexof(s2,i);
//在s1內從第i位開始查找s2,返回找到的首地址,若找不到返回-1
s1.contains("7");
//判斷s1內是否包含某個字符函數
if(s1.equals(String s2))System.out.println("yes");
//將此字符串與字符串比較
if(s1.equalsIgnoreCase(String s2))System.out.println("yes");
//將此 String 與另一個 String 比較,不考慮大小寫

parseInt() 方法:

int x =Integer.parseInt("9");
double c = Double.parseDouble("5");

split():

  • split() 方法根據匹配給定的正則表達式來拆分字符串
  • 注意: . 、 $、 | 和 * 等轉義字符,必須得加 \\
  • 注意:多個分隔符,可以用 | 作為連字符
  • 語法
    public String[] split(String regex)    //regex為正則表達式分隔符。
  • 返回值:字符串數組。

StringBuffer:一種可以修改的字符串

public class RunoobTest{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        String a = sc.next();
        StringBuffer str = new StringBuffer(a);    //復制a創建StringBuffer
        int i=0;
        str.deleteCharAt(i);    //i為下表,返回字符
        str.append("Runoob..");    //將指定的字符串追加到此字符序列
        str.insert(2, "Java");    //將字符串插入此序列中,使J下標為2
        str.delete(5,8);    //移除此序列的子字符串中的字符。[5,8)
        str.reverse();    // 將此字符序列用其反轉形式取代
        String a = str.toString();    //返回字符串表示形式
        sc.close();
    }
}

 

 

 

 

 


 

隨便做做,感覺一篇比較長了就開下一篇

 

制作:BDT20040


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM