Java學習筆記(基本語法)
- 本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證.
安裝JDK
- 在Oracle網站中找自己系統的JDK下載位置
- 設定 PATH windows10 =>本機=>右鍵內容=>進階系統設定=>進階=>環境變數 設定
第一個程式Hello World
1
2
3
4
5
6
7
8
9
10
11
12
13public 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 |
1 |
// 數值資料範圍 |
存取修飾字元(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 的存取權限
變數宣告
規則:變數名稱的第一個字元必須是英文字母,底線[_]或[$]其中之一
1
2
3
4
5/**
[存取修飾字元] [型別] [變數名稱];
[存取修飾字元] [型別] [變數名稱] = [值]; */
public int test;
public int num = 10;final
規則:同變數宣告一樣,不過在中間加了final關鍵字,指的是這個變數只能設定一次,起始值即是最終值.
1
2
3/**
[存取修飾字元] final [型別] [變數名稱] = [值]; */
public final int num = 10;靜態[static]
對於一些類別中的物件裡,目的在於”分享該物件”,而這時候就可以使用static修飾字了
1
2
3
4
5
6
7public 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">備註 |
|---|---|---|---|
| + | 正號 | 單元 | |
| 加法 | 雙元 | ||
| - | 負號 | 單元 | |
| 減法 | 雙元 | ||
| * | 乘法 | 雙元 | |
| / | 除法 | 雙元 | |
| % | 餘數 | 雙元 | 浮點數也可使用 |
| ++ | 遞增 | 雙元 | |
| - - | 遞減 | 雙元 |
遞增(++)與遞減(–)的範例
1 |
int a = 0; |
關係運算子
| 運算子 | 說明 | 範例 |
|---|---|---|
| == | 等於 | 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的邏輯運算子
1 |
int x = 0,y=1; |
位元運算子,位移運算子
//先記錄,晚點再看,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-value1
2
3
4
5
6
7
8int x=0;
if (x==0){
x+=1;
}else{
x-=1;
}
//等同於
x = (x==0) ? x+1 : x-1 ;
Java學習筆記(基本語法)的更多相关文章
- [Python學習筆記] 使用xlwings 插入註解 (forked 版本)
到今天為止 xlwings 還沒有插入註解的功能 去原始開發者的 Github Pull Requests 他說之前有人有建議要加入這個功能 但他還沒更新~ 如果需要使用 Python 來插入註解的話 ...
- FPGA學習筆記(肆)--- Star Test Bench Template Writer
上一篇testbench我自己也沒怎麽搞懂,再來一篇學習特權同學的方法. 課程:Lesson 7 BJ EPM240学习板实验1——分频计数实验 鏈接:https://www.youtube.com/ ...
- [DDD]學習筆記 第15章 精煉(Distillation)
核心領域(Core-Domain) 為了使領域模型成為企業真正的資產, 模型中的關鍵核心部份需要足夠靈活和充分利用來創建應用程序的功能; 簡而言之, 核心領域是系統中最有價值的部份. 濃縮模型, 將最 ...
- [Python學習筆記] 抓出msg信件檔裡的附件檔案
想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...
- C# partial 學習筆記
局部類的講解參考:http://blog.csdn.net/susan19890313/article/details/7575204 感謝作者~
- ORACLE 學習筆記
proc 里的 commit等于提交就是你做了insert或者update后,commit后才是真正修改或者插入了数据库中 如果不提交的话,那么这个表就被锁了 CURSOR MYCURSOR is ...
- FPGA學習筆記(貳)--- 流水燈
平臺:FPGA黑金开发板 AX301 開發環境:Quartus Prime Version 17.0.0 Build 595 04/25/2017 Standard Edition 引脚配置:鼠標托拉 ...
- [Python學習筆記] 使用 selenium 抓取網頁並且雙擊滑鼠 (double click)
一開始使用的時候 看官方文件 以為使用 double_click()即可 但後來出現錯誤 AttributeError: 'WebElement' object has no attribute 'd ...
- [Python學習筆記] 利用 Python在Excel 插入註解
用Python 來處理excel 檔 用過了 openpyxl 還有 pyexcel目前覺得除了讀寫如果還要使用另外的功能 (像是讀取格子裡的公式)可以用 xlwings 他的首頁標題 " ...
随机推荐
- (最全最灵活地)利用Jxl工具包实现Excel表的内容读取 、写入(可向已有表中追加数据)
1.引子 (1)读取 Jxl工具比较强大,可以方便地实现Excel表的读取和写入.另一款工具Poi也具有相似的功能,并且功能更多,运用也相对复杂.Poi读取Excel表内容时,需要先判断其内容格式,如 ...
- 第二季第十一天 html5语义化标签 css透明度
span不能设置宽高背景 HTML5语义化标签 <section>标签所包裹的是有一组相似的主题的内容,可以用这个标签来实现文章的章节.标签式对话框中的各种标签页等类似的功能. <s ...
- Python—插入排序算法
# 插入排序,时间复杂度O(n²) def insert_sort(arr): """ 插入排序:以朴克牌为例,从小到大排序.摸到的牌current与手里的每张牌进行对比 ...
- aop 实现原理
aop 底层采用代理机制实现 接口 + 实现类 :spring 采用 jdk 的 动态代理 只有实现类:spring 采用 cglib 字节码增强 aop专业术语 1.target(目标) 需要被代理 ...
- ios 监控键盘状态
增加键盘显示和隐藏事件监听 NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(noti ...
- 关于使用静态链表实现一元多项式的相加&&乘积
一元多项式的相加类似于两条链表的合并 当然前提是链表中的幂指数是按顺序排列的 此题中的链表采用的是升序排列,输出也是按升序输出的 #include<stdio.h> #include< ...
- 5314跳跃游戏IV
题目:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0).每一步,你可以从下标 i 跳到下标: i + 1 满足:i + 1 < arr.length i - 1 ...
- 【iOS学习笔记】UITextField中的输入检测——限制只能输入数字和小数点
最近趁着放假时间,在看The Big Nerd Ranch的iOS编程,想着重新复习一遍iOS开发的基础知识 于是从这一篇开始记录一些学习过程中遇到的小问题 书中第四章有一个温度转换的app实现,整体 ...
- maven打包springboot项目的插件配置概览
jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是 ...
- office 无法打开xlsx文件的问题
1. 设置content-type和header response.setContentType("application/vnd.openxmlformats-officedocument ...