Java學習筆記(基本語法)

  •   本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證.
  • 安裝JDK

    1. 在Oracle網站中找自己系統的JDK下載位置
    2. 設定 PATH windows10 =>本機=>右鍵內容=>進階系統設定=>進階=>環境變數 設定
  • 第一個程式Hello World

    12345678910111213
    public class {    /**         程式的預設的進入點,        必須是public static,        另外這是Java的多行註解方式.    */    public static void main(String args[]){        // 在console輸出Hello World        System.out.println("Hello World");    }//main-end }//HelloWorld class-end
    
  • 基本型別與變數宣告

型別類別 資料型態 位元組數(byte) 資料範圍(range) 初始值(非預設值)
字元 char(Unicode) 2 ‘u0000’~’uFFFF’ 0~65535 ‘u0000’
整數 byte 1 -128 ~ 127 0
short 2 -32768 ~ 32767 0
int 4 $-2^{31}$ ~ $2^{31}$-1 0
long 8 $-2^{63}$ ~ $2^{63}$-1 0L
浮點數 float 4 -3.4E+38 ~ 1.4E-45 0.0F
double 8 -1.7E+308 ~ 4.9E-324 0.0D
布林 boolean 1 true or false false
1234567891011
// 數值資料範圍public class DataRange{    public static void main(String[]args){        System.out.println("byte range: " + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);        System.out.println("short range: " + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);        System.out.println("int range: " + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);         System.out.println("long range: " + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);          System.out.println("float range: " + Float.MIN_VALUE + " ~ " + Float.MAX_VALUE);         System.out.println("double range: " + Double.MIN_VALUE + " ~ " + Double.MAX_VALUE);    }//main-end}//class-end
  • 存取修飾字元(Modifier)存取權限

存取修飾字元 同一class中 同一Package中 子類別 不同Package
private yes no no no
default yes yes no no
protected yes yes yes (yes) 繼承才能使用
public yes yes yes yes

除了內部類別(Inner class)外,一般外部類別只能使用default 或 public 的存取權限

  • 變數宣告

    規則:變數名稱的第一個字元必須是英文字母,底線[_]或[$]其中之一

    12345
    /**[存取修飾字元] [型別] [變數名稱];[存取修飾字元] [型別] [變數名稱] = [值]; */public int test;public int num = 10;
  • final

    規則:同變數宣告一樣,不過在中間加了final關鍵字,指的是這個變數只能設定一次,起始值即是最終值.

    123
    /**[存取修飾字元] final [型別] [變數名稱] = [值]; */public final int num = 10;
  • 靜態[static]

    對於一些類別中的物件裡,目的在於”分享該物件”,而這時候就可以使用static修飾字了

    1234567
    public static int sum = 0;//使用final static 時變數名稱第一個字元必須為大寫public final static int PI = 3.1416;//此System的console靜態方法不需要實體化System就可以使用. Console console = System.console();//全程式裡面共享唯一一個的PI值.double PI = Math.PI;

靜態的部分牽扯到跨類別問題,這裡只簡單講解一下.詳細請參考良葛格Java學習筆記"關於靜態"

  • 運算子

    • 算術運算子

運算子 名稱 運算子種類 大专栏  Java學習筆記(基本語法)t">備註
+ 正號 單元
加法 雙元
- 負號 單元
減法 雙元
* 乘法 雙元
/ 除法 雙元
% 餘數 雙元 浮點數也可使用
++ 遞增 雙元
- - 遞減 雙元

遞增(++)與遞減(–)的範例

123456789101112131415161718192021222324252627282930
int a = 0;int b = 0;b = a++ - a++ + ++a ;System.out.println("a = "+ a +" b = " + b);/** 解法=>b = a(++) - a(++) + (++)a=>b = a(0+1) - a(1+1) + (2+1)a  ,a=3=>b = 0      - 1      +      3 => a = 3, b=2**/int c = 0;int d = 0;d = c-- - c-- + --c ;System.out.println("c = " + c + " d = "+ d );/** 解法=>d = c(--) - c(--) + (--)c=>d = c(-1) - c(-2) + (-3)c , c =-3 =>d = 0     - -1    +     -3=>c = -3 , d = -2;**/int e = 0;int f = 0;f = --e - e-- + --e ;System.out.println("e = " + e + " f = "+ f );/** 解法=>f = (--)e - e(--) + (--)e=>f = (-1)e - e(-2) + (-3)e   ,e=-3=>f =     -1-(-1)   +     -3 ,f=-3

**/
  • 關係運算子

運算子 說明 範例
== 等於 a==b
!= 不等於 a!=b
> 大於 a>b
< 小於 a>b
>= 大於等於 a>=b
<= 小於等於 a>=b
  • 邏輯運算子

    運算子 說明 範例
    & AND a&b
    | OR a|b
    ! NOT !a
    (短路)Short-circuit Operator
    && AND a&&b
    || OR a||b

    & and && 與 | and ||的分別
    程式小技巧,這點十分重要,因為在程式中邏輯判斷十分常見到,如果在邏輯運算中需要執行算數運算時,保險一點建議使用非short-circuit的邏輯運算子

123456789101112131415
int x = 0,y=1;System.out.println("(x>y)&(++x>y)=>"+Boolean.toString((x>y)&(++x>y)));System.out.println("before x = 0,y = 1,after x = "+x+", y = "+y);x=0;y=1;System.out.println("(x>y)&(++x>y)=>"+Boolean.toString((x>y)&&(++x>y)));System.out.println("before x = 0,y = 1,after x = "+x+", y = "+y);x=0;y=1;System.out.println("(x<y)|(++x==y)=>"+Boolean.toString((x<y)|(++x==y)));System.out.println("before x = 0,y = 1,after x = "+x+", y = "+y);x=0;y=1;System.out.println("(x<y)||(++x==y)=>"+Boolean.toString((x<y)||(++x==y)));System.out.println("before x = 0,y = 1,after x = "+x+", y = "+y);
  • 位元運算子,位移運算子

    //先記錄,晚點再看,20190217

    運算子 說明 範例
    & AND a&b
    | OR a|b
    ^ XOR a^b
    ~ 補數 a ~ b
    >> 位元右移 a>>b
    << 位元左移 a<<b
    >>> 邏輯右移 a>>>b

    //先記錄,晚點再看,20190217

  • 指定運算子

    運算子 說明 範例
    = 基本指定 a=b
    += 加法指定 a+=b => a=a+b
    -= 減法指定 a+=b => a=a-b
    = 乘法指定 a=b => a=a * b
    /= 除法指定 a/=b => a=a / b
    %= 餘數指定 a%=b => a=a % b
    &= AND指定 a&=b => a=a & b
    |= OR指定 a|=b => a=a | b
    ^= XOR指定 a^=b => a=a ^ b
    >>= 位元右移指定 a>>=b => a=a>>b
    <<= 位元左移指定 a<<=b => a=a<<b
    >>>= 邏輯右移指定 a>>>=b => a=a>>>b
  • 三元運算子

    三元基本上可以說是if-else條件的簡化版
    變數 = (boolean exp) ? true-value : false-value

    12345678
    int x=0;if (x==0){    x+=1;}else{    x-=1;}//等同於x = (x==0) ? x+1 : x-1 ;

原文地址:https://www.cnblogs.com/lijianming180/p/12346616.html

时间: 2024-08-09 23:19:22

Java學習筆記(基本語法)的相关文章

Python學習筆記 第一課 Basic Information of Python

因學校習作需要而研究Python 使用教材:Python3.4.1 Official Documentation - The Python Standard Library Chapter 1 Basic Information of Python 1) Nature of Python: a high-level, interpreted language 2) Aim of Python: to automate tasks on computers 3) Examples of usage

GeekBand c++學習筆記(friend的一點體悟)

HELLO,大家好,我是GeekBand的學員,在學習網課上,因為作業的關係,所以要向大家發表一下我在學習C++上的一些心得與筆記,可能寫得不太好,因為畢竟剛接觸程式語言才半年,所以大家若是有甚麼地方覺得錯誤或是解釋的不是很恰當,都可以跟我說,或是qq給我,我都可以跟大家討論關於電腦的事物 那我們就開始吧!這周的我想分享的是我對於類中friend(友元)的理解,那friend是什麼?friend就是可以調用在在類中的數據的函數,那類的特性是:封裝性與資訊隱藏,因而才會有public與privat

學習筆記:Linux常見題目解析分享

學習題目分享解答 --此篇博客感謝老男孩老師教學,才得以學習完成此篇博客-- 描述linux系統的啟動過程?     (企業面試題) (1)簡單描述(口頭) 1.開機BIOS自檢    --->檢查硬件是否正常   自檢完後 根據啟動順序,教給下一個設備處理 2.MBR引導    ---->(硬盤) 硬盤0柱面0磁道1扇區的前446byte      (1扇區 512字節)   剩下的(512-446 =66)    其中64用來分區表(4個--->意思是4個主分區或4個擴展分區)  最

老男孩老師課程學習筆記----第一階段Linux命令行總結

~相信自己,勤奮努力,不斷總結!~ 1.mkdir make directorys 創建目錄   例子: mkdir /data 在根/下創建data目錄   -p 遞歸創建目錄 例子: [[email protected] /]# mkdir -p /oldboy/test/a/b/c/d   (-p 遞歸創建目錄) [[email protected] /]# tree /oldboy/(如果tree沒有,可以yum install tree -y) /oldboy/ └── test   

學習筆記:Linux 文件和目錄屬性及權限

1 . Linux 中的文件 1.1 文件屬性概述 在linux裡面一切皆文件!! Linux 系統中的文件或目錄的屬性主要包括:索引節點(inode).文件類型.權限屬性.鏈接數.所歸屬的用戶和用戶組.最近修改時間等內容: 下面我們看一下執行ls- lhi的結果: [[email protected] oldboy]# ls -lhi     (-h 以人可讀的檔案大小方式呈現) total 28K 394661 drwxr-xr-x. 3 root root 4.0K Jul 10 12:4

老男孩老師課程學習筆記----linux目錄特點

linux 目錄的特點 1./根是所有目錄的頂點 2.目錄結構像一顆倒掛的樹 3.目錄和磁盤分區默認是沒有關聯的 4./根下不同的目錄可能會對應不同的分區和磁盤 5.所有的目錄都是按照一定的類別有規律的組織和命名的 linux裡設備如果不掛載是看不到入口的,類似沒有窗戶沒門的監獄 如果希望設備被訪問,就必須給這個設備一個入口 這個入口就叫作掛載點,掛載點的表現實質是一個目錄 mount 光驅也是一種設備 ---> cdrom mount /dev/cdrom /mnt / 第一塊盤 系統程序 /

老男孩老師課程學習筆記----ip端口協議 簡單敘述

互聯網上的計算機 都會有一個唯一的32位元的地址, ip地址 我們訪問服務器,就必須透過這個ip地址 局域網也有預留的ip地址 192/10/172開頭.局域網的ip地址也是唯一的 NAT模式,電腦宿主機的ip在局域網是唯一的,選擇的NAT模式創件虛擬機,虛擬機就是一個新的局域網(私有網路). 老師的機器ip是192.168.33.128 端口的簡單概念 , 192.168.33.128 代表一台主機,但是主機上可能會有許多的服務, 一台主機上的不同服務功能,就是透過端口區分,然後讓外部人員訪問

學習筆記:Linux軟硬鏈接

1. 鏈接概念: 在Linux 系統中,鏈接可以分為兩種:ㄧ種為硬鏈接(Hard link),另一種為軟鏈接或符號鏈接(symbolic Link or soft link). 我們前面講過ln這個命令就是創建鏈接文件的,在默認不帶參數的情況下,執行ln命令創建的鏈接是硬鏈接 如果使用ln -s 創建鏈接則為軟鏈接,前面文件類型為l(字母L)的是軟鏈接 實踐直觀命令演示理解: 硬鏈接: ln 源文件 目標文件 ---->透過索引節點(inode)來進行鏈接 軟鏈接: ln -s 源文件 目標文件

FPGA學習筆記(貳)--- 流水燈

平臺:FPGA黑金开发板 AX301 開發環境:Quartus Prime Version 17.0.0 Build 595 04/25/2017 Standard Edition 引脚配置:鼠標托拉 Node Name 項到引脚圖即可 注意事項新建工程:Set Up Top-Level Entity 名字要對應 注意事項引脚復用:Assignments-->Device-->Device and Pin Options...-->Dual-Purpose pins-->nCEO