十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1.1 整型
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、肇東ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的肇東網(wǎng)站制作公司
java的整型共包括四種類型,分別是int short long byte 這四種,這四種數(shù)據(jù)類型的占用內(nèi)存與數(shù)值范圍如下圖所示。
在這里小編建了一個(gè)前端學(xué)習(xí)交流扣扣群:132667127,我自己整理的最新的前端資料和高級(jí)開發(fā)教程,如果有想需要的,可以加群一起學(xué)習(xí)交流
1.2 浮點(diǎn)型
在java中總共提供兩種浮點(diǎn)數(shù)據(jù)類型,分別是float double 這兩種數(shù)據(jù)類型。具體的占用內(nèi)存情況與數(shù)值范圍如下圖所示。
1.3 Unicode和char類型
char類型原本用于表示單個(gè)字符,但是Unicode出現(xiàn)后,有些Unicode字符可以用一個(gè)char值表示,同時(shí)也有另外一些Unicode字符需要兩個(gè)char值表示。
1.4 boolean類型
boolean類型具有兩個(gè)值,分別是false和true 兩種類型,此外,整型值和布爾值之間不能進(jìn)行相互轉(zhuǎn)換。
2.1 變量初始化
聲明一個(gè)變量之后,在使用變量之前,先要將其進(jìn)行初始化,否則編譯不會(huì)通過。
int vacatonDays;
System.out.println(vacatonDays);//Error --variable not initialized
其次java中可以將變量聲明在任何地方,使用過程中盡量將變量聲明在靠近第一次使用的地方
2.2 常量
在java中,使用關(guān)鍵字final來指示關(guān)鍵字,并且聲明之后,不能再更改了,習(xí)慣上將常量用大寫字母表示。
除了聲明常量之外,也可以聲明類常量,表明該常量可以在該類的許多方法中使用。通常用static final來聲明一個(gè)類常量。
3.1 子串
可以從較大字符串中提取子串,如下所示:
String greeting="hello";
String s=greeting.substring(0,3);
通過上述方式創(chuàng)建了"hel"組成的子串
3.2 拼接
在java中,允許用+號(hào)對(duì)兩個(gè)字符串進(jìn)行相加,如下所示:
String a=hello;
String b=everyone;
String c=a+b;
上述代碼c的結(jié)果就是helloeveryone。
此外,當(dāng)一個(gè)字符串與一個(gè)非字符串相加時(shí),非字符串將會(huì)轉(zhuǎn)換成字符串,如下所示
int age=26;
String str="my age is ";
String me=str+age;
則上述變量me的結(jié)果就是my age is 26
3.3 不可變字符串
在java中,將String字符串類對(duì)象稱為不可變字符串,不能對(duì)字符串對(duì)象進(jìn)行修改,如字符串"hello"永遠(yuǎn)是這五個(gè)字母組成,不能修改其中任意一個(gè)字符,但是可以修改字符串變量,如果要將字符串變量String greeting="hello"的最后一個(gè)字符轉(zhuǎn)換成p!,則可以通過greeting=greeting.substring(0,3)+"p!",這樣首先提取一定的字符串,然后進(jìn)行相加。
3.4 檢測(cè)字符串是否相等
可以通過equals方法進(jìn)行檢測(cè),具體檢測(cè)方式如s.equals.(t),當(dāng)兩個(gè)字符串相等時(shí),返回true,不相等則返回false。
上述中的s與t,既可以是字符串變量也可以是字符串面量,如"hello".equals(greeting)是合法的檢測(cè)方式。
當(dāng)忽略字符串字符的大小寫去檢查字符串是否相等時(shí),使用equalsIgnoreCase進(jìn)行檢測(cè),如"Hello".equalsIgnoreCase("hello")
3.5 空串與Null串
空串""就是長(zhǎng)度為0的字符串,空串的檢測(cè)方法如下所示。
if(str.length()==0)或者if(str.equals(""))
4.1 讀取輸入
當(dāng)需要在控制臺(tái)輸入數(shù)據(jù)的時(shí)候,先必須要構(gòu)造一個(gè)Scanner對(duì)象,并與“標(biāo)準(zhǔn)輸入流”System.in進(jìn)行關(guān)聯(lián),具體方式如:Scanner in=new Scanner(System.in),然后下面就可以使用該對(duì)象進(jìn)行輸入了。如下幾種方式
String name=in.nextline();//輸入可能包含空格的字符串
String firstname=in.next();//輸入不包括空格的字符串,如一個(gè)單詞
int age=in.nextInt();//輸入一個(gè)整數(shù)
double point=in.nextDoule();//輸入一個(gè)浮點(diǎn)數(shù)
4.2 格式化輸出
除了常見的System.out.println("hello")這種輸出方式外,還有格式化將一些數(shù)值進(jìn)行輸出。如變量double x=12345.234,System.out.printf("%8.2f",x),表示輸出8個(gè)字符且小數(shù)點(diǎn)后有兩位字符的結(jié)果。因此,對(duì)應(yīng)的輸出結(jié)果是12345.23
同時(shí)也可以將多個(gè)參數(shù)進(jìn)行輸出,如下所示
System.out.printf("hello, %s. Next year, you'll be %d",name age);
此外,還可以在輸出的同時(shí)加各種輸出標(biāo)志,如逗號(hào)標(biāo)志就表示一種分組的分隔符,可以用于將長(zhǎng)的數(shù)字在輸出的時(shí)候用逗號(hào)隔開輸出。如
System.out.printf("%,.2f",3333.333333);
上述輸出結(jié)果是3,333.33
除此之外,還有許多標(biāo)志用于數(shù)據(jù)的格式化輸出,如下圖所示。
可以使用String類中的靜態(tài)方法String.format()方法創(chuàng)建一個(gè)格式化的字符串,而不用于輸出。如下面所示
String message=String.format("hello, %s. Next year, you'll be %d",name age)
4.3 文件輸入與輸出
讀取文件時(shí),需要用一個(gè)File對(duì)象構(gòu)造一個(gè)Scanner對(duì)象,接著進(jìn)行讀取,如下所示
Scanner in =new Scanner(Paths.get("myfile.txt"),"UTF-8");
//如果文件路徑中包括反斜杠符號(hào),在使用上述方法的時(shí)候需要在每個(gè)反斜桿之前再額外加一個(gè)反斜桿,如"C:\\myDictronary\\myFile.txt"
String file=in.nextline();
當(dāng)寫入文件時(shí),需要構(gòu)造一個(gè)PrintWriter對(duì)象,并在構(gòu)造器中提供文件名(如果文件不存在,則創(chuàng)建該文件),如下面所示
PrintWriter out=new PrintWriter("myFile.txt","UTF-8")
數(shù)組聲明:int[] a,這一步僅僅聲明了一個(gè)數(shù)組變量·a,并沒有真正創(chuàng)建數(shù)組,創(chuàng)建數(shù)組需要new運(yùn)算符進(jìn)行創(chuàng)建,如int[] a=new int[100],其次數(shù)組長(zhǎng)度不要求一定是常量,如new int[number]也可以創(chuàng)建一個(gè)數(shù)組
數(shù)組元素個(gè)數(shù)的獲取,具體實(shí)現(xiàn)方式如array.length
5.1 for each循環(huán)
在java中,可以通過for each循環(huán)進(jìn)行遍歷,具體實(shí)現(xiàn)方式如:for(variable : collection) statement,舉個(gè)例子如下面所示:
for(int element : array)
System.out.println(element);
5.2 數(shù)組初始化以及匿名數(shù)組
初始化數(shù)組1:int[] smallPrimes={1,2,3,4,5};
初始化數(shù)組2:smallPrimes=new int[] {1,3,5,7,9}
5.3 數(shù)組拷貝
在java中的第一種拷貝方式是直接將一個(gè)數(shù)組變量拷貝個(gè)另外一個(gè)數(shù)組變量,這種方式將會(huì)使得兩個(gè)變量同時(shí)使用一個(gè)數(shù)組,對(duì)其中任意一個(gè)的操作將會(huì)影響另外一個(gè)。如下面所示
int[] bigPrimes=smallPrimes;
bigPrimes[1]=99;
這樣會(huì)使得samllPrimes[1]的值也等于99,其實(shí)相當(dāng)于淺拷貝
將數(shù)組的元素值拷貝到另外一個(gè)數(shù)組中,并且操作起來互相不影響,則可以使用Array類的copyOf()方法,具體實(shí)現(xiàn)方式如下:
int[] copied=Array.copyOf(smallPrimes,smallPrimes.length);
該方法中的第二個(gè)參數(shù)是新數(shù)組的元素個(gè)數(shù),當(dāng)元素的個(gè)數(shù)大于被拷貝數(shù)組元素個(gè)數(shù)時(shí),則其余元素被賦予(整型元素是0,boolean元素是false);相反當(dāng)元素個(gè)數(shù)小于被拷貝數(shù)組元素個(gè)數(shù)時(shí),只拷貝最前面的數(shù)組元素
5.4 多維數(shù)組
多維數(shù)組的聲明,如double[][] array;初始化,如array=new double[rows][cols];此外,也可以按照如下方式進(jìn)行初始化:
int[][] array={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}}
多維數(shù)組元素的訪問,如下面所示
for(double[] row:array)
for(int b:row)
System.out.println(b);