java学习笔记2--数据类型、数组
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note2.html,轉(zhuǎn)載請注明源地址。
1.數(shù)據(jù)類型
Java數(shù)據(jù)類型有:
原始數(shù)據(jù)類型(Primitive Data Types )
引用類型(reference type )
Java原始數(shù)據(jù)類型又稱基本數(shù)據(jù)類型,它說明了在程序中所能表示的基礎(chǔ)數(shù)據(jù)的種類,通常有8種。引用類型包括類、接口等,具體內(nèi)容將在后面文章中介紹。
Java原始(基本)數(shù)據(jù)類型:
boolean ? ? 布爾型, ? ? ? ? ? 只有真(true)與假(false)?
byte ? ? ? ?8位符號整數(shù), ? ? 取值范圍-128~+127?
short? ??? 16位符號整數(shù), ? ?取值范圍-32768~+32767?
char ? ? ? 16位字符, ? ? ? ? ? Unicode字符集,字符碼數(shù)值范圍: ?0(‘\u0000’ )~65535(‘\uffff’)。
int ? ? ? ? ?32位符號整數(shù), ? ? 取值范圍:-2147483648~+2147483647
long ? ? ? 64位符號整數(shù), ? ? ?取值范圍:-9223372036854775808~+9223372036854775807
float ? ? ? 32位單精度浮點數(shù),使用IEEE754標準。?
double ? ?64位雙精度浮點數(shù),使用IEEE754標準。?
Java原始數(shù)據(jù)類型變量的默認值
Java原始數(shù)據(jù)類型占用的位數(shù)
2、%(求模)運算符
op1 % op2
計算op1被op2除的余數(shù)。?
說明:
求模運算時op1與op2必須是整數(shù)。
如果op1為負數(shù),op2為正數(shù),結(jié)果為負。
如果op1為正數(shù),op2為負數(shù),結(jié)果為正。
如果op1為正數(shù),op2為正數(shù),結(jié)果為正。
如果op1為負數(shù),op2為負數(shù),結(jié)果為負。
跑個程序吧:
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));} }運行結(jié)果如下:
 4 % 3 = 1
 -4 % 3 = -1
 -4 % -3 = -1
 4 % -3 = 1
3、強格式的for語句:
對于數(shù)組(Arrays)和集合(Collections)的迭代,有一種更緊湊易讀的for語句形式。語法格式:
for(元素型變量:數(shù)組型或集合型變量){
?? 語句;
}
跑個程序吧:
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ù)組的聲明語法格式:
數(shù)組類型 數(shù)組名稱;
或
類型[] 名稱;?
例如: int[] anArray;? ? ?String[] agrs;
創(chuàng)建一維數(shù)組
聲明的數(shù)組型變量是引用型變量,因此數(shù)組聲明后只有通過創(chuàng)建才能夠使用。創(chuàng)建數(shù)組要使用new運算符實現(xiàn)。創(chuàng)建數(shù)組通過兩個途徑:
(1) 數(shù)組聲明后用new運算符創(chuàng)建,語法格式:數(shù)組變量 = new 類型[長度];
(2) 數(shù)組聲明時用new運算符創(chuàng)建,語法格式:類型[] 數(shù)組變量 = 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++;}} }運行結(jié)果如下:
 dRandom[0]=7.513923470155991
 dRandom[1]=3.3304886355341017
 dRandom[2]=2.2258372149369214
 dRandom[3]=4.450285565380552
 dRandom[4]=3.0354964312542174
數(shù)組復(fù)制的方法是使用System類提供的arraycopy()方法,其語法如下:
System.arraycopy(Object?src, int?srcPos,?Object?dest, int?destPos, int?length);
System.arraycopy(源數(shù)組,源數(shù)組中的起始位置,目標數(shù)組,目標數(shù)據(jù)中的起始位置,要復(fù)制的數(shù)組元素的數(shù)量);
跑個程序吧:
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類
對數(shù)組的一些基本操作,像排序、搜索與比較等都是很常見的。在java中提供了Array是類可以協(xié)助您作這幾個操作,Array是類位于java.util包中,他提供了幾個方法可以直接使用。
sort()?? ? ? ? ? ? ? ? ? ? ? ?幫助您對指定的數(shù)組排序,所使用的是快速排序法
binarySearch()? ? ? ? ? 讓您對已排序的數(shù)組進行二元搜索,如果找到指定的值就返回該值所在的索引,否則就返回負值
fill()?????????????????????????? 當(dāng)您配置一個數(shù)組之后,會依據(jù)數(shù)據(jù)類型來給定默認值。例如整數(shù)數(shù)組就初始值為0,可以使用Arrays.fill()方法將所有的元素設(shè)置為指定的值
equals()?? ? ? ? ? ? ? ? ? ? 比較兩個數(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請輸入搜索值:");int key = scanner.nextInt();int find = -1;if ((find = Arrays.binarySearch(arr, key)) > -1) {System.out.println("找到值于索引 " + find + " 位置");} elseSystem.out.println("找不到指定值");} }執(zhí)行結(jié)果如下:
 排序前: 93 5 3 55 57 7 2 73 41 91?
 排序后: 2 3 5 7 41 55 57 73 91 93?
 請輸入搜索值:5
 找到值于索引 2 位置
下面使用Arrays來進行數(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 ? true
 arr1 = arr3 ? false
總結(jié)
以上是生活随笔為你收集整理的java学习笔记2--数据类型、数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: C安全编码--预处理
- 下一篇: java学习笔记3--类与对象的基础
