Java的基本程序設(shè)計(jì)結(jié)構(gòu)
main函數(shù)
public class? Class-name {
? ? ......
????public static void main(String args[]){
? ? ????......
????}
}
類(lèi)名大寫(xiě)開(kāi)頭碗誉,后跟數(shù)字或字母偎球,一般采用每個(gè)單詞的首字母大寫(xiě)的形式谆构。類(lèi)名與文件名一致歉糜。
作為程序的主入口函數(shù)淳玩,main函數(shù)要求為public 且為靜態(tài)函數(shù)static弊攘。返回值為空void八堡。參數(shù)為String[] args為固定格式不可更改桥温。
注釋
// 和 /*****/
// 注釋單行
/**
*多行注釋
*多行注釋
*/
數(shù)據(jù)類(lèi)型
Java是一種強(qiáng)類(lèi)型語(yǔ)言扑浸。有八種基本類(lèi)型:四種整型烧给、兩種浮點(diǎn)類(lèi)型、一種用于表示Unicode編碼的字符型喝噪、一種表示真值的布爾型
int? ? ? ? ?4個(gè)字節(jié)? ? ? ? -2 147 483 648 ~ 2 147 483 647 (20億左右)
short? ? 2個(gè)字節(jié)? ? ? ? -32 768 ~ 32 767
long? ? ? 8個(gè)字節(jié)? ? ? ? -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807
byte? ? ? 1個(gè)字節(jié)? ? ? ? -128 ~ 127
Java的整數(shù)類(lèi)型必須有符號(hào)signed
float? ? ? 4個(gè)字節(jié)? ? ? ? 大約正負(fù)3.402 823 47E+38F(有效位數(shù)6~7)
double? ?8個(gè)字節(jié)? ? ? ? 大約正負(fù)1.797 693 134 862 315 70E+308(有效位數(shù)15)
IEEE 754 規(guī)范础嫡。
正無(wú)窮大? 例如 Double.POSITIVE_INFINITY
NaN? ?例如 Double.NaN
負(fù)無(wú)窮大? 例如 Double.NEGATIVE.INFINITY
正整數(shù)除以0等于正無(wú)窮大。負(fù)整數(shù)除以0等于負(fù)無(wú)窮大仙逻。計(jì)算0除以0或者負(fù)數(shù)的平方根結(jié)果為NaN驰吓。
判斷一個(gè)特定值是否為NaN,不能用 x == NaN系奉,而是 x.isNaN()?
char? ? ? ?
boolean
變量
在Java中檬贰,每個(gè)變量都有類(lèi)型。 int a=0; a即為int 型變量缺亮,=0為初始化操作翁涤。若是a要求為常量,則需要在前面加關(guān)鍵字final萌踱。
運(yùn)算符
+? ?-? ?*? ?/? ?%? ++? --? +=? -=? *=? /=? ?==? ?!=? ? &? ? |? ? ? ?^? ? ?~? ? &&?
<<? ? >>? ? >>>? ?<<=? ?>>=? >>>=? ?
a.b()? ? ? ? (函數(shù)調(diào)用)
數(shù)值類(lèi)型轉(zhuǎn)換(隱式轉(zhuǎn)換)
強(qiáng)制類(lèi)型轉(zhuǎn)換
枚舉類(lèi)型 enum?
字符串
String 類(lèi)
StringBuilder 類(lèi)
StringBuffer 類(lèi)
輸入輸出
? ??讀取輸入
? ?1.???? java.util.Scanner?
Scanner in = new Scanner(System.in);
String str = in.nextline(); //讀取輸入的下一行內(nèi)容
String word = in.next();//讀取輸入的下一個(gè)單詞
int val = in.nextInt();//讀取輸入的下一個(gè)int數(shù)? ?下一個(gè)double同理
in.hasNaxt()? ?//判斷是否含有下一行? ?是否還有下一個(gè)int 或double 同理
? ? 2.????java.lang.System
static Console console()
如果有交互操作葵礼,就通過(guò)控制臺(tái)窗口為交互的用戶返回一個(gè)console對(duì)象,否則返回null并鸵。
? ? 3.????java.io.Console
如果用戶輸入的密碼一類(lèi)的字符時(shí)鸳粉,Scanner就不適用了。需要console類(lèi)
Console con = System.console();
String username = con.readline("user name:? ");
char[] password = con.readPassword("password:? ");
? ? 格式化輸出
? ? ? ? System.out.print()
? ? ? ? System.out.printf()
? ? ? ? System.out.println()
? ? 文件輸入與輸出
對(duì)文件進(jìn)行讀取园担,需要一個(gè)用File對(duì)象構(gòu)造一個(gè)Scanner對(duì)象
Scanner in = new Scanner( Path.get("文件名.txt"), "UTF-8" );
如果文件名中包含\ 反斜杠届谈,每個(gè)反斜杠加一個(gè)額外的反斜杠枯夜。
對(duì)文件進(jìn)行寫(xiě)入,需要一個(gè)PrintWriter對(duì)象
PrintWriter out = new PrintWriter( "文件名.txt", "UTF-8" );
如果文件不存在艰山,則創(chuàng)建該文件湖雹。
控制流程
塊作用域
條件語(yǔ)句 if
循環(huán) for while
多重選擇 switch
中斷控制 break
大數(shù)值
數(shù)組