本文地址:http://m.survivalescaperooms.com/archimedes/p/java-study-note2.html,轉(zhuǎn)載請(qǐng)注明源地址。
1.數(shù)據(jù)類型Java數(shù)據(jù)類型有:
原始數(shù)據(jù)類型(PRimitive Data Types )
引用類型(reference type )
Java原始數(shù)據(jù)類型又稱基本數(shù)據(jù)類型,它說(shuō)明了在程序中所能表示的基礎(chǔ)數(shù)據(jù)的種類,通常有8種。引用類型包括類、接口等,具體內(nèi)容將在后面文章中介紹。
Java原始(基本)數(shù)據(jù)類型:boolean 布爾型, 只有真(true)與假(false)
byte 8位符號(hào)整數(shù), 取值范圍-128~+127
short 16位符號(hào)整數(shù), 取值范圍-32768~+32767
char 16位字符, Unicode字符集,字符碼數(shù)值范圍: 0(‘/u0000’ )~65535(‘/uffff’)。
int 32位符號(hào)整數(shù), 取值范圍:-2147483648~+2147483647
long 64位符號(hào)整數(shù), 取值范圍:-9223372036854775808~+9223372036854775807
float 32位單精度浮點(diǎn)數(shù),使用IEEE754標(biāo)準(zhǔn)。
double 64位雙精度浮點(diǎn)數(shù),使用IEEE754標(biāo)準(zhǔn)。
Java原始數(shù)據(jù)類型變量的默認(rèn)值op1 % op2
計(jì)算op1被op2除的余數(shù)。
說(shuō)明:
求模運(yùn)算時(shí)op1與op2必須是整數(shù)。
如果op1為負(fù)數(shù),op2為正數(shù),結(jié)果為負(fù)。
如果op1為正數(shù),op2為負(fù)數(shù),結(jié)果為正。
如果op1為正數(shù),op2為正數(shù),結(jié)果為正。
如果op1為負(fù)數(shù),op2為負(fù)數(shù),結(jié)果為負(fù)。
跑個(gè)程序吧:
public class test{ public static void main(String args[]) { System.out.println("4 % 3 = " + 4 % 3); System.out.println("-4 % 3 = " + (-4) % 3); System.out.println("-4 % -3 = " + (-4) % (-3)); System.out.println("4 % -3 = " + 4 % (-3)); }}
運(yùn)行結(jié)果如下:
4 % 3 = 1-4 % 3 = -1-4 % -3 = -14 % -3 = 1
3、強(qiáng)格式的for語(yǔ)句:對(duì)于數(shù)組(Arrays)和集合(Collections)的迭代,有一種更緊湊易讀的for語(yǔ)句形式。語(yǔ)法格式:
for(元素型變量:數(shù)組型或集合型變量){
語(yǔ)句;
}
跑個(gè)程序吧:
public class Main{ public static void main(String args[]) { int sum = 0; int[] numbers = {1,2,3,4,5,6,7,8,9,10}; for (int item : numbers) { sum += item; } System.out.println("Sum is: " + sum); }}4、一維數(shù)組
一維數(shù)組的聲明語(yǔ)法格式:
數(shù)組類型 數(shù)組名稱;
或
類型[] 名稱;
例如: int[] anArray; String[] agrs;
創(chuàng)建一維數(shù)組
聲明的數(shù)組型變量是引用型變量,因此數(shù)組聲明后只有通過(guò)創(chuàng)建才能夠使用。創(chuàng)建數(shù)組要使用new運(yùn)算符實(shí)現(xiàn)。創(chuàng)建數(shù)組通過(guò)兩個(gè)途徑:
(1) 數(shù)組聲明后用new運(yùn)算符創(chuàng)建,語(yǔ)法格式:數(shù)組變量 = new 類型[長(zhǎng)度];
(2) 數(shù)組聲明時(shí)用new運(yùn)算符創(chuàng)建,語(yǔ)法格式:類型[] 數(shù)組變量 = new 類型[長(zhǎng)度];
int[] aArray;aArray = new int[100];float[] fArray;fArray = new float[35];double[] dData = new double[23];String[] sTitle = new String[15];
跑個(gè)程序吧:
public class test{ public static void main(String args[]) { double[] dRandom; int i = 0; dRandom = new double[5]; while( i < 5) { dRandom[i] = 9.0 * Math.random(); System.out.println("dRandom["+ i +"]=" + dRandom[i]); i++; } }}
運(yùn)行結(jié)果如下:
dRandom[0]=7.513923470155991dRandom[1]=3.3304886355341017dRandom[2]=2.2258372149369214dRandom[3]=4.450285565380552dRandom[4]=3.0354964312542174
數(shù)組復(fù)制的方法是使用System類提供的arraycopy()方法,其語(yǔ)法如下:
System.arraycopy(Objectsrc, intsrcPos,Objectdest, intdestPos, intlength);
System.arraycopy(源數(shù)組,源數(shù)組中的起始位置,目標(biāo)數(shù)組,目標(biāo)數(shù)據(jù)中的起始位置,要復(fù)制的數(shù)組元素的數(shù)量);
跑個(gè)程序吧:
public class test { public static void main(String args[]){ int arr1[] = {1,2,3,4,5}; int arr2[] = new int[5]; System.arraycopy(arr1, 0, arr2, 0, 5); for (int i = 0; i < arr2.length; i++) { System.out.println(arr2[i]); } }}5、Arrays類
對(duì)數(shù)組的一些基本操作,像排序、搜索與比較等都是很常見的。在java中提供了Array是類可以協(xié)助您作這幾個(gè)操作,Array是類位于java.util包中,他提供了幾個(gè)方法可以直接使用。
sort() 幫助您對(duì)指定的數(shù)組排序,所使用的是快速排序法
binarySearch() 讓您對(duì)已排序的數(shù)組進(jìn)行二元搜索,如果找到指定的值就返回該值所在的索引,否則就返回負(fù)值
fill() 當(dāng)您配置一個(gè)數(shù)組之后,會(huì)依據(jù)數(shù)據(jù)類型來(lái)給定默認(rèn)值。例如整數(shù)數(shù)組就初始值為0,可以使用Arrays.fill()方法將所有的元素設(shè)置為指定的值
equals() 比較兩個(gè)數(shù)組中的元素值是否全部相等,如果是將返回true,否則返回false
import java.util.Scanner;import java.util.Arrays;public class test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] arr = { 93, 5, 3, 55, 57, 7, 2, 73, 41, 91 }; System.out.print("排序前: "); for (int i = 0; i < arr.length; i++){ System.out.print(arr[i] + " "); } System.out.println(); Arrays.sort(arr); System.out.print("排序后: "); for (int i = 0; i < arr.length; i++){ System.out.print(arr[i] + " "); } System.out.print("/n請(qǐng)輸入搜索值:"); int key = scanner.nextInt(); int find = -1; if ((find = Arrays.binarySearch(arr, key)) > -1) { System.out.println("找到值于索引 " + find + " 位置"); } else System.out.println("找不到指定值"); }}
執(zhí)行結(jié)果如下:
排序前: 93 5 3 55 57 7 2 73 41 91 排序后: 2 3 5 7 41 55 57 73 91 93 請(qǐng)輸入搜索值:5找到值于索引 2 位置
下面使用Arrays來(lái)進(jìn)行數(shù)組的填充與比較:
import java.util.Arrays;public class test { public static void main(String[] args) { int[] arr1 = new int[10]; int[] arr2 = new int[10]; int[] arr3 = new int[10]; Arrays.fill(arr1, 5); Arrays.fill(arr2, 5); Arrays.fill(arr3, 10); System.out.print("arr1: "); for (int i = 0; i < arr1.length; i++){ System.out.print(arr1[i] + " "); } System.out.println("/narr1 = arr2 ? " + Arrays.equals(arr1, arr2)); System.out.println("arr1 = arr3 ? " + Arrays.equals(arr1, arr3)); }}
執(zhí)行后的結(jié)果如下:
arr1: 5 5 5 5 5 5 5 5 5 5 arr1 = arr2 ? truearr1 = arr3 ? false
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注