java有兩種數據類型: 原始數據類型和引用(對象)數據類型 java
bytec++
shortgit
int 程序員
long github
float sql
double數據庫
boolean編程
char
Bits | Unsigned value |
Two's complement value |
---|---|---|
011 | 3 | 3 |
010 | 2 | 2 |
001 | 1 | 1 |
000 | 0 | 0 |
111 | 7 | -1 |
110 | 6 | -2 |
101 | 5 | -3 |
100 | 4 | -4 |
switch 支持的類型: (java 7)
A switch
works with the byte
, short
, char
, and int
primitive data types. It also works with enumerated types (discussed in Enum Types), the String
class, and a few special classes that wrap certain primitive types: Character
, Byte
, Short
, andInteger
(discussed in Numbers and Strings).
Byte, Short, Integer, Long, Float, Double, Boolean, Character.
開箱
對應數據庫
SQL | JDBC/Java | setXXX | getXXX |
---|---|---|---|
VARCHAR | java.lang.String | setString | getString |
CHAR | java.lang.String | setString | getString |
LONGVARCHAR | java.lang.String | setString | getString |
BIT | boolean | setBoolean | getBoolean |
NUMERIC | java.math.BigDecimal | setBigDecimal | getBigDecimal |
TINYINT | byte | setByte | getByte |
SMALLINT | short | setShort | getShort |
INTEGER | int | setInt | getInt |
BIGINT | long | setLong | getLong |
REAL | float | setFloat | getFloat |
FLOAT | float | setFloat | getFloat |
DOUBLE | double | setDouble | getDouble |
VARBINARY | byte[ ] | setBytes | getBytes |
BINARY | byte[ ] | setBytes | getBytes |
DATE | java.sql.Date | setDate | getDate |
TIME | java.sql.Time | setTime | getTime |
TIMESTAMP | java.sql.Timestamp | setTimestamp | getTimestamp |
CLOB | java.sql.Clob | setClob | getClob |
BLOB | java.sql.Blob | setBlob | getBlob |
ARRAY | java.sql.Array | setARRAY | getARRAY |
REF | java.sql.Ref | SetRef | getRef |
STRUCT | java.sql.Struct | SetStruct | getStruct |
API 官方doc
Object() 默認構造方法 clone() 建立並返回此對象的一個副本。 equals(Object obj) 指示某個其餘對象是否與此對象「相等」。 finalize() 當垃圾回收器肯定不存在對該對象的更多引用時,由對象的垃圾回收器調用此方法。 getClass() 返回一個對象的運行時類。 hashCode() 返回該對象的哈希碼值。 notify() 喚醒在此對象監視器上等待的單個線程。 notifyAll() 喚醒在此對象監視器上等待的全部線程。 toString() 返回該對象的字符串表示。 wait() 致使當前的線程等待,直到其餘線程調用此對象的 notify() 方法或 notifyAll() 方法。 wait(long timeout) 致使當前的線程等待,直到其餘線程調用此對象的 notify() 方法或 notifyAll() 方法,或者超過指定的時間量。 wait(long timeout, int nanos) 致使當前的線程等待,直到其餘線程調用此對象的 notify() 方法或 notifyAll() 方法,或者其餘某個線程中斷當前線程,或者已超過某個實際時間量。
面嚮對象語言與過程式語言的比較 (Procedural Languages and Object-oriented Languages)
過程式編程是傳統的編程方式,它遵循了與計算機硬件相符合的方式來執行程序(獲取指令,解碼,執行)。
若是把數據項看做一個對象,那麼一個程序能夠看做一系列在此對象上的操做。 [假設]
若是方法不依賴於某個具體的實例,那就應該將它聲明爲靜態方法。
goto, const是c++中的保留字,目前在Java中不能使用。注意true,false,null是字面常量,不是關鍵字。
分支語句
break
continue
return
輸入輸出重定向
測試某個代碼的時候,若是須要從控制檯輸入大量數據,從鍵盤上輸入是非成乏味的事情,並且容易出錯。能夠將數據保存在一個文本文件中重定向輸入。
示例
1 import java.util.Scanner; 2 3 public class Hello { 4 public static void main(String[] args){ 5 Scanner sc = new Scanner(System.in); 6 String data = sc.nextLine(); 7 System.out.println(data); 8 } 9 10 }
運行 (這裏會將數據輸出到output.txt文件而不是控制檯)
java Hello < input.txt > output.txt
1. 適當的註釋和註釋風格
使用javadoc註釋(/**...*/)來註釋整個類或整個方法。爲了將這些註釋提取出來放在一個javadoc的HTML文件中,這些註釋必須放在類或方法頭的前面,要註釋方法中的某一步驟,建議使用行註釋(//)。
2. 命名習慣
3. 適當的縮進和空白
4. 塊的風格 (recommend end-of-line)
編程哲學KISS (Keep it simple, stupid) ,寫優雅的代碼,簡單而有效。 elegant, simple and effective.
https://google.github.io/styleguide/javaguide.html
參考:
https://www.tutorialspoint.com/java/java_basic_datatypes.htm
http://www.tutorialspoint.com/jdbc/jdbc-data-types.htm
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html