搜尋
首頁Javajava教程java基礎知識的小結

java基礎知識的小結

Jun 28, 2017 am 09:47 AM
java基礎總結

學習java,將自己的心得或總結寫下來吧。

Java 標識符

標識符由字母,底線(_),美元符($)和數字組成。

標識符不能以數字開頭。

標識符不能使java關鍵字。

標識符對大小寫敏感。

 

Java常用關鍵字

#關鍵字

# boolean, byte, char, double, float, int, long, short ,void

##基本型別

#new, super, this, instanceof, null

#物件創建,引用

if, else, switch, case, default

#選擇語句

do, while, for

迴圈語句

break, continue, return

控制轉移

#try, catch, finally, throw, throws, assert

異常處理

#synchronized

######################################################### ##執行緒同步#####################abstract, final, private, protected, public, static############## #修飾說明#####################class, extends, interface, implements, import, package################類,繼承,接口,包###

native, transient, volatile

其他方法

true, false

#布林常數    

#######

 

注意:

 

java中 的關鍵字都是小寫字母,TRUE,NULL等不是關鍵字。

goto和const雖然在java中午作用,但仍是java的關鍵字。

 

java註解

單行註解符號://

//这是单行注释符

 

 

#多行註解符:/*……*/

/*这是多行注释符*/

 

 

文件註解:/**&*/

/**
  * 文档注释能被java文档化工具javadoc识别处理,在自动生成文档是有用  */

Java資料型別

Java資料型別包含簡單資料型別(基本型別)與複合資料型別(引用型別)

基本型別:代表語言能處理的基本資料。特點:佔用的儲存空間固定。

整數型別:byte,short,int,long

#浮點數型別:float,double

字元型別:char

布林型別:boolean
參考型別:通常由多個基本資料型別或參考型別組合構成。 類別:class介面:interface 字節型1-2^ 7 ~ 2^7-10 ~ 65535booleantrue, false

陣列【注意】java的字串其實是String類別的常數,它不是java資料型別。

#關鍵字

資料類型

所佔位元組

#預設值

取值範圍

#byte

#0

short

##短整數### #########2############0#############-2^15 ~ 2^15-1##### ################int################整數###########4#### #########0###

-2^31 ~ 2^31-1

long

長整型

8

#0

-2^ 63 ~ 2^63-1

#float

單精確度浮點型

4

0.0F

#1.4e^-45 ~ 1.4e^-45-1

double

#雙精確度浮點型

8

0.0D

#4.9e^-324 ~ 1.798e^+308

#char

字元型

2

0

布林型

1

#false

#########

 

常數

布林常數:true,false

整數常數:有byte,short,int,long四種型別。有十進制,八進制,十六進制,二進制四種表示形式。

浮點常數:有float和double型別。有小數點形式和指數形式兩種。

字元常數:由一對單引號括起來的單一字元或以反斜線(\)開頭的轉義字元。如'j', '4'。

常用轉義字元

#走紙換頁橫向跳格

#轉義字

描述

\'

單引號字元

\''

雙引號字元

\\

反斜線

\r

##回車

#\n

#\f

\t

\b########## #####退格################

 

字符串常量:有双引号括起来的由0个或多个字符组成的字符序列。字符串可以包含转义字符。

 

变量的取值范围

/*** Create by libra*/public class VariablesDemo {/**变量的取值范围*/public static void main(String[] args) {
        System.out.println("数据的取值范围:");
        System.out.println("字节型: " + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);
        System.out.println("短整型: " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);
        System.out.println("整型型: " + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);
        System.out.println("长整型: " + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);
        System.out.println("单精度浮点型: " + Float.MIN_VALUE + " ~ " + Float.MAX_VALUE);
        System.out.println("双精度浮点型: " + Double.MIN_VALUE + " ~ " + Double.MAX_VALUE);

    }
}

 

 

输出结果:

强制转换

格式:变量 = (数据类型) 表达式

基本数据类型自动转换顺序:byteàshortàcharàintàlongàfloatàdouble.

【注意】布尔类型不能与其他类型转换。

运算符

运算符(双目单目)稍微提下,位运算符。

算数运算符:

算数运算符

双目运算符

单目运算符

+, -, *, /, %

++, --, -(负号)

關係運算子:

運算子優先權:(==,--) > ~ > ! > 算術運算子>移位運算子>關係運算符> &,^, | , &&, ||, ||

#常用數學函數Math類別

#int abs(int i)double ceil(double d)#double floor(double d)#int max(int i1, int i2)int min(int i1, int i2)double random()int round(float f)long round(double d)##double exp(double x)

功能

#求整數的絕對值

#求不小於d的最小整數

#求不大於d的最大整數

#求兩個整數中的最大數

求兩個整數中的最小數

#0~1的隨機數字

#求最靠近f的整數

#求最靠近d的長整數

######double sqrt(double a)################求平方根###

double cos(double d)

求d的餘弦函數

#double log(double d)

#求自然對數

#######求e的x次方(e^x)####### ##############double pow(double a, double b)###############求a的次方######## ########

输入输出

标准输出流System.out提供三种输出:

print():输出后不换行

println():输出后换行

printf():类似于c语言中的printf()用法

 

标准输入流System.in提供read()等方法。写一个程序便于说明及理解。

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Input {public static void main(String[] args) throws IOException {
        System.out.println("==============字符==============");char ch = (char) System.in.read();
        System.out.println("读入的字符为:" + ch);      
        System.out.println("==============字符串==============");
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String s = in.readLine();
        System.out.println("读入的字符串为:" + s);    
        System.out.println("==============数字==============");
        String x = "123";int m = Integer.parseInt(x);
        String y = "123.123";float n = Float.parseFloat(y);
        System.out.println("x = " + x);
        System.out.println("y = " + y);
    }
}

输出结果:

还可以使用java.util.Scanner类输入:

import java.util.Scanner;public class Input {public static void main(String[] args) throws IOException {
        Scanner s = new Scanner(System.in);       
        System.out.println("请输入数据:");
        System.out.println("请输入数据:");short a = s.nextShort();    //输入短整数int b = s.nextInt();    //输入整数long c = s.nextLong();    //输入长整数float d = s.nextFloat();    //输入单精度浮点型double e = s.nextDouble();    //输入双精度浮点型String f = s.nextLine();    //输入字符串  System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
    }
}

输出结果:

在Scanner中还有很多输入。

 

流程控制语句和c/c++没有太大区别。

【注意】循环结构体中可以用break 标号名; 和continue 标号名; 来跳出循环。

数组

一维数组声明有两种格式:

1.数组元素类型 数组名[];

2.数组元素类型[] 数组名;

建议用第二种声明方式

【建议】二维数组及多维数组声明方式类似于一维数组,不过建议大家用第二种数组声明方式,[]也是数组声明的组成部分。

【注意】

1.java数组和c/c++数组不同,java数组理解为数组的数组,数组的每一维的大小不一定相同。

例如:

int[][] a = new int[2][];
a[0] = new int[3];
a[1] = new int[4];

 

上面这段代码声明了一个二维数组,但是第0维和第1维的大小不相同。

2.求一维数组a长度经常用到的方法是a.length。若是多维数组也可以这样用:a[i].length,a[i][j].length ……。

 

对象

对象的初始化和构造方法以及变量的作用域在一个例子中说明。

public class Scope {//成员变量的作用域是整个类体int x;int y;/*对象的初始化*/{
        x = 2;
        y = 1;
    }/*对象的构造方法*/public Scope {
        x = 2;
        y = 1;
    }//方法参数a的作用域是整个方法public void method(int a) {int x = 5;for (int i = 1; i 

【注意】构造方法的名称必须与类名相同;构造方法无返回类型;一个类可以提供多个构造方法,系统自动调用参数匹配的构造方法。

静态变量和静态方法

用static修饰的成员变量叫静态变量,也叫类变量。

访问:

在本类中直接访问。

通过类名访问。

通过类的一个对象访问。

【注意】静态变量的在存储上归属类空间,但是不依赖任何对象;(通过对象访问静态变量实质上还是访问类空间的变量)

【建议】在类外访问静态变量时通过类名访问以防混淆。

赋初值:即可以通过下面代码块赋初值,也可在定义时赋初值。

static {//code}

 

【注意】静态代码块只能访问静态变量;对象的创建不会执行static代码块。注意区分静态空间和对象空间。

class TalkPlace {static String talkArea = "";
}public class User {static int count = 0;
    String username;int age;    public User(String name, int yourage) {
        username = name;
        age = yourage;
    } void Login() {//直接访问同一类中的静变量count++;
        System.out.println("you are no " + count + " user");
    }void Speak(String words) {//访问其他类的类变量,通过类名访问类变量TalkPlace.talkArea = TalkPlace.talkArea + username + "说: " + words + "\n";
    }public static void main(String[] args) {
        User x1 = new User("张三", 20);
        x1.Login();
        x1.Speak("hello");       
        User x2 = new User("李四", 16);
        x2.Login();
        x2.Speak("good morning");
        x1.Speak("bye");
        System.out.println("-----讨论区内容如下:");
        System.out.println(TalkPlace.talkArea);
    }
}

用static修饰的方法叫静态方法,也叫类方法。

调用:

一般用类名做前缀调用。

通过对象调用

【注意】静态方法也不依赖任何对象;静态方法中只能处理静态变量和其他静态方法,绝不能访问任何归属对象空间的变量和方法。

public class FindPrime2 {public static boolean prime(int n) {for (int k = 2; k 

以上是java基礎知識的小結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器