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