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