java學習(三)——陣列
一維陣列
import java.util.Arrays;
public class ArraysDemo
{
public static void main(String[] args)
{
//1.宣告陣列(只聲明瞭變數a,並沒有將a初始化為一個數組) 等價於 int a[];
int[] a;
/*2.宣告並建立陣列
建立一個數字陣列時,所有的元素都預設初始化為0
建立一個boolean型陣列時,所有的元素都預設初始化為false
建立一個char型陣列時,所有的元素都預設初始化為'\0'
建立一個物件陣列時,所有的元素都預設初始化為null
*/
int n=4;
int[] b=new int[10];
boolean[] c=new boolean[n]; //陣列長度可以是變數
char[] ch=new char[5];
String[] str=new String[5];
float[] d=new float[0]; //允許長度為0:編寫結果為陣列的方法,如果結果為空時使用,
for(int i=0;i<b.length;i++)
System.out.print(b[i]+" ");
System.out.println();
for(int i=0;i<c.length; i++)
System.out.print(c[i]+" ");
System.out.println();
for(int i=0;i<ch.length;i++)
System.out.print(ch[i]+"_");
System.out.println();
for(int i=0;i<str.length;i++)
System.out.print("str["+i+"]="+str[i]+" ");
System.out.println();
> 執行結果************************************ **
0 0 0 0 0 0 0 0
false false false false
_ _ _ _ _
str[0]=null str[1]=null str[2]=null str[3]=null str[4]=null
> *********************************************
//3.建立並初始化陣列
int[] arr1={1,2,3,4,5}; //陣列的大小就是初始值的個數
//4.匿名陣列
arr1=new int[]{5,6,7,8,9,10}; //可以在不建立變數的情況下重新初始化一個數組
//5.陣列的遍歷
//5.1 for迴圈
System.out.print("陣列arr1=");
for(int i=0;i<arr1.length;i++)
System.out.print(arr1[i]+" ");
System.out.println();
/*5.2 foreach迴圈:用來一次處理陣列中的每個元素
for(變數:陣列或實現Iterable介面的類物件)
{
語句塊
}
*/
System.out.print("陣列arr1=");
for(int temp:arr1) //temp變數用於暫存集合中的每一個元素
System.out.print(temp+" ");
System.out.println();
//5.3 列印陣列的所有值(Arrays類的toString()方法):返回包含陣列中資料元素的字串,這些資料元素被放在括號內,並用逗號分隔
System.out.println("陣列arr1="+Arrays.toString(arr1));
> 執行結果**************************************
陣列arr1=5,6,7,8,9,10
陣列arr1=5,6,7,8,9,10
陣列arr1=[5, 6, 7, 8, 9, 10]
> *********************************************
//6.拷貝陣列
//6.1 將一個數組變數拷貝給另一個數組變數
int[] arr2=arr1; //這是arr1和arr2將同時引用同一個陣列
System.out.println("arr1[0]="+arr1[0]);
arr2[0]=100;
System.out.println("陣列arr2="+Arrays.toString(arr2));
System.out.println("arr1[0]="+arr1[0]);
//6.2 將一個數組所有值拷貝到一個新的陣列中(Arrays類的copyOf()方法)
//6.2.1 拷貝後的陣列等於原陣列長度
int[] arr3=Arrays.copyOf(arr2,arr2.length); //第二個引數是新陣列的長度
System.out.println("arr2[0]="+arr2[0]);
arr3[0]=99;
System.out.println("陣列arr3="+Arrays.toString(arr3));
System.out.println("arr2[0]="+arr2[0]);
/*6.2.2 Arrays.copuOf()方法常被用來增加(或減少)陣列的大小
如果新陣列的長度比原陣列大,多餘的元素數值型賦值為0,boolean型賦值為false
如果新陣列的長度比原陣列小,只拷貝前面的陣列元素
*/
int[] arr4=Arrays.copyOf(arr2,arr2.length*2);
System.out.println("陣列arr4="+Arrays.toString(arr4));
int[] arr5=Arrays.copyOf(arr2,arr2.length/2);
System.out.println("陣列arr5="+Arrays.toString(arr5));
//6.2.3 Arays.copyOfRange(type[] a,int start,int end):拷貝陣列從下標start(包含這個元素)開始到下標end(不包含這個值)結束的陣列元素、新陣列大小為end-start
int[] arr6=Arrays.copyOfRange(arr2,1,3); //第三個引數如果大於arr2的陣列大小,則多餘的陣列元素為0或false
System.out.println("陣列arr6="+Arrays.toString(arr6));
> 執行結果*************************************
arr1[0]=5;
陣列arr2=[100, 6, 7, 8, 9, 10]
arr1[0]=100;
arr2[0]=100
陣列arr3=[99, 6, 7, 8, 9, 10]
arr2[0]=100
陣列arr4=[100, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0]
陣列arr5=[100, 6, 7]
陣列arr6=[6, 7]
> *********************************************
//7.陣列排序(Arrays類中的sort方法):優化的快速排序演算法
int[] ar1={34,66,78,45,8};
Arrays.sort(ar1);
System.out.println("陣列ar1="+Arrays.toString(ar1));
> 執行結果**************************************
陣列ar1=[8, 34, 45, 66, 78]
> *********************************************
/*8.二分查詢
8.1 static int binarySearch(type[] a,type v)
8.2 static int binarySearch(type[] a,int start,int end,type v) (查詢包含start,不包含end)
返回值:成功返回陣列下標值,否則返回一個負數值r.-r-1是插入v後陣列任然有序的位置
*/
int[] ar2={-14,-2,0,3,5,11,17,23,45,55,100};
System.out.println("5的下標為:"+Arrays.binarySearch(ar2,5));
int i=Arrays.binarySearch(ar2,6);
if(i<0)
System.out.println("沒有找到!"+i);
//System.out.println("17的下標為:"+Arrays.binarySearch(ar2,4,10)); //在jdk8中不可用
> 執行結果**************************************
5的下標為:4
沒有找到!-6
> *********************************************
//9.其他方法
//9.1 將陣列的所有資料元素設定為v static void fill(type[] a,type v)
float[] ar3={1.2f,3.5f,7.8f,33.4f,56.8f};
Arrays.fill(ar3,1.1f);
System.out.println("陣列ar3="+Arrays.toString(ar3));
/*9.2 判斷陣列是否相等
如果兩個陣列大小相同,並且下標相同的元素都對應相等.則返回true,否則返回false
static boolean equals(type[] a,type[] b)
*/
System.out.println("兩個匿名陣列是否相等:"+Arrays.equals(new int[]{1,2,3},new int[]{1,2,3}));
> 執行結果**************************************
陣列ar3=[1.1, 1.1, 1.1, 1.1, 1.1]
兩個匿名陣列是否相等:true
> *********************************************
}
}
多維陣列
java實際上沒有多維陣列,只有一維陣列,二維陣列int a[n][m]實際上是一個包含n個元素的陣列,而每個元素又是由m個int型別構成的陣列
import java.util.Arrays;
public class ArraysDemo
{
public static void main(String[] args)
{
//宣告建立初始化方式和一維陣列類似
//1. 二維陣列的遍歷
int[][] a={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
};
//1.1 foreach方式
System.out.println("陣列a=");
for(int[] row: a)
{
for(int temp:row)
System.out.print(temp+" ");
System.out.println();
}
//快速的列印一個二維陣列的資料元素列表 Arrays.deepToString()方法
System.out.println("陣列a="+Arrays.deepToString(a));
//2.不規則陣列:陣列的每一行都有不同的長度
//2.1 構造一個不規則陣列
int[][] arr1=new int[5][]; //該二維陣列含有5行
for(int i=0;i<arr1.length;i++)
{
arr1[i]=new int[i+1];
}
for(int i=0;i<arr1.length;i++)
{
for(int j=0;j<arr1[i].length;j++)
System.out.print(arr1[i][j]+" ");
System.out.println();
}
for(int[] i:arr1)
{
for(int j:i)
System.out.print(j+
相關推薦
java學習(三)——陣列
一維陣列
import java.util.Arrays;
public class ArraysDemo
{
public static void main(String[] args)
{
//1.宣告陣列(只聲明瞭變數a,並沒有將a初始化為一個數組
java學習(三) eclipse_jsp學習
bin文件 5.1 font aaa spa mac war bin log
1.首先打開eclipse,新建一個Dynamac web project項目文件
2.在WebContent單擊右鍵創建JSP File
3.
4.簡單的jsp代碼
運行結果:
java學習三內部類
view 靜態變量 每一個 對象 你在 left align don 使用方法 //外部類HelloWorldpublic class HelloWorld { // 內部類Inner,類Inner在類HelloWorld的內部 public class
java學習之陣列
1 陣列的定義
在Java中,可以使用以下格式來定義一個數組。如下
資料型別[] 陣列名 = new 資料型別[元素個數或陣列長度];
int[] x = new int[100];
上述語句就相當於在記憶體中定義了100個int型別的變數,第一個變數的名稱為x[0],第二個變數的名稱為x[1],以此
java學習之 陣列排序-選擇排序
package Day004;
public class arrayDemo {
public static void main(String [] args) {
System.out.println("跟陣列有關的demo");
int [] arrs =
java基礎(三)陣列
從陣列開始,java就開始和c變得不一樣了,java裡定義一個數組是這樣的:
動態初始化 int arr = new int[3];
靜態初始化 int arr = new int[]{1,2,3};
這裡先提一下棧和堆的概念
棧----存放區域
前端開發需要學什麼?java學習三不要!
關於Java學習,也許大家聽得最多的是Java培訓哪個機構好?建議你要如何學習,今天IT君將逆向而行,跟你說一說Java培訓中的“三不要”。
1.不要偷懶
俗話說的好,勤能補拙。這話放到Java培訓中非常適用,眾所周知,專業的Java培訓都是高強度的培訓,想要吸
JAVA學習(三)__c標籤 if else c標籤 總結
JSTL標籤用法
關鍵字:JSTL標籤、<c:choose>、<c:forEach>、<c:forTokens>、<c:if>、<c:import>、<c:otherwise>、<c:out&
【演算法學習】求兩陣列求差數(Java,三重境界)
【題目描述】:兩個陣列,一個A陣列200個,,另一個B陣列199個,兩個陣列亂序,但是差一個數,,,找出差的是那個數。
一。境界1(60分)
【1】遍歷A陣列,對每個數執行【2】操作
【2】遍歷B陣列對比是否存在此數。
參考程式碼如下:
/**
Java學習(三)JSP學習1
rtm 斷開 三大指令 保持 web應用 對比 c語言 let 新建 一、 理解JSP技術
JSP全名為Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,它 是由Sun Microsystems公司倡導、許多公司參
java學習(三)類
con void pub oid 修改密碼 tro int str 用戶 類
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungr
JAVA學習筆記(三)
byte repl efi ber 時間 clas 區分大小寫 增強for size @SuppressWarnings("resource")是用來壓制資源泄露警告的。比如使用io類,最後沒有關閉。Set集合特點:1)無序,不隨機2)元素唯一3)沒下標註意:Collect
Java學習記錄(補充三:面向對象的封裝和繼承)
-1 div 方法名 工程師 over println 補充 else time
面向對象的封裝package day7;
//面向對象的封裝
public class Employee {
String name = "zhangsan";
privat
201671010117 2016-2017-2 《Java程序設計》Java第三周學習心得
處理方法 心得 新的 自定義 核心 一個 通過 設計 類型
JAVA學習第三篇Boolean
pri bsp public sta dem 輸入一個數 比較 ati n) Boolean是布爾值。
布爾值只有兩個值:真和假。寫作:true false。
那麽如何使用呢?
最簡單的用法:
public class demo{
public static void
Java學習筆記三---unable to launch
world 學習筆記 .com image 新工程 hello unable sta ava 環境配置好後,在eclipse下編寫HelloWorld程序:
①創建新工程
②創建.java文件,命名為HelloWorld
③在源文件中添加main方法,代碼如下:
p
Java學習(三)面向對象之封裝
所有 成對 main 將不 同時 執行順序 編譯失敗 sta sin 封 裝(面向對象特征之一):是指隱藏對象的屬性和實現細節,僅對外提供公共訪問方式。
好處:將變化隔離;便於使用;提高重用性;安全性。
封裝原則:將不需要對外提供的內容都隱藏起來,把屬性都隱藏,提供公共方法
java筆記學習三
學習筆記學習代碼記錄/** * 隨機生成指定長度的字符串 * * @param * @param lengthOfString * @return 純字母字符串 */ public static String getRndStrByLen(int lengthOfString) { int i
Java學習筆記29(集合框架三:泛型)
出了 oar sta package 獲取 demo 強制 lis oid 泛型的概念:
簡單地講,就是同一個方法(類),可以接受不同的數據類型並運行得到相對應的結果,不會出現安全問題
上一篇有一段這樣的代碼:
沒有定義集合類型、叠代器類型
package demo;
java虛擬機學習(三)
() 分享 一個地方 對象實例 tails 描述 不可達 問題 循環引用 垃圾收集器在對堆進行回收前,首先要做的事情就是要確定這些對象之中哪些還“存活”著, 哪些已經“死去" (即不可能再被任何途徑使用的對象)。
一、引用計數算法
給每個對象中添加一個引用計數器,每