java的一維數組
⑴ java中一維數組的定義及初始化的方法有哪幾種
兩種:
1 int a[]=new int[10]
for(int i=0;i<10'i++){
a[i]=i+1;
}
2 int[] b={1,2,3,4,5,6}
⑵ 在Java定義一個整型一維數組,至少包含5個值,求數組中的最大值並輸出。
import java.util.*;
public class test1 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int[]a=new int[10];//定義一個長度為10的數組,名為:a
int max1=-1;
for(int i=0;i<6;i++)
{//輸入6個數
a[i]=cin.nextInt();
}
for(int i=0;i<6;i++)
{
max1=Math.max(max1,a[i]);
}
System.out.println(max1);
}
}
⑶ java 一維整數數組
public class intArray {
private int theSize;
private int a_int[];
public intArray(int a[]){
this.a_int=a;
this.theSize=a.length;
}
public int getSize(){
return this.theSize;
}
public int getAt(int nIndex){
return this.a_int[nIndex];
}
public void SetAt(int nIndex , int newElement){
this.a_int[nIndex] =newElement;
}
public void add(int nIndex){
int old[]=this.a_int;
this.a_int= new int[this.theSize+1];
for(int i =0;i<old.length;i++){
a_int[i]= old[i];
}
a_int[this.theSize+1]=nIndex;
this.theSize++;
}
public static void main(String args[]){
int a[]={3,42,52,22,44,55,11,23,7,1,2,86,64};
intArray array = new intArray(a);
for(int i = 0;i<array.getSize();i++){
for(int j=i; j<array.getSize();j++){
if(array.getAt(j) >array.getAt(i)){
int b_int = array.getAt(i);
array.SetAt(i, array.getAt(j));
array.SetAt(j, b_int);
}
}
}
for(int i = 0;i<array.getSize();i++){
System.out.println(array.getAt(i));
}
}
}
JAVA寫析構幹嘛? 俺就不寫了。
⑷ 有關java中一維數組初始化問題
我再次強調一下
Java中所有的對象都是在堆中創建的,所以這兩種方式是等同的
而不是像「依樂聰毓
」說的是有在棧中創建的
Java中只有基本數據類型是在棧中創建的,如byte,char,short,int...
第二種方式只是一種語法上的簡化,具體可以看Thinking
in
Java
因此:
可以說這兩種方式是等同的,因為數組是一個Array對象
{1,2,3,4,5}這個表達式返回的就是一個new出來的數組
然後用a這個引用變數來進行引用
java中所有創建的對象都是在堆中創建的(也就是說都是new出來的)
所以第二句和第一句沒有區別
但是在c++之類的語言中就不同了
ps:
類比一下
String
a="hi";
String
a=
new
String("hi");
這兩句也可以認為是等同的,原理和上面同樣
lz要是有什麼不明白的,歡迎發消息給我~
⑸ java中一維數組的定義及初始化的方法有哪幾種
上面的說法的確不對!
可以這樣理解二維數組,把「一維數組」看做是一種數據類型,二維數組只不過是定義了包含5個數據類型是「一維數組」(和String一樣的一種數據類型)的特殊一維數組。也可以擴展到多維數組。通常會有這種說法java中不存在多為數組,多維數組只是包含n個次維數組類型的元素的一維數組。
從Java中數組定義格式來理解數組的思想。
type[] arrayName;
type arrayName[];
第一種定義格式能更好的幫助我們理解數組,這個格式將 type[] 看做一種數據類型,同於int、String等,是一種引用類型。「type[] arrayName;」定義了一個type[]類型的變數arrayName。從內存中來看,「type[] arrayName;」只是在棧內存中存放了arrayName這個引用類型變數,並沒有指向任何有效的內存。只有在初始化後,才會在堆內存中分配數組元素存儲空間。
同時,這種定義方法,也解釋了為什麼說Java中可以不存在多維數組的說法,因為都是把次維數組看做一個數據類型的緣故。
⑹ java 一維數組
import java.util.Scanner;
public class DataArrayDemo{
public static void main(String []args){
int max=0, n, a[];
String[] b;
String s;
Scanner sr=new Scanner(System.in);
n=sr.nextInt();
a=new int[n];
b=new String[n];
for(int i=0; i<n; i++){
System.out.print("第"+(i+1)+"個學生成績為:");
a[i]=sr.nextInt();
s=sr.nextLine();
System.out.print("第"+(i+1)+"個學生姓名為:");
b[i]=sr.nextLine();
if(a[i]>max)max=a[i];
}
System.out.println("最高分學生成績為"+max); //修改處
for(int i=0;i<n;i++){
if(a[i]==max)
System.out.println("最高分學生姓名為"+b[i]);
}
}
}
⑺ Java中的一維數組去掉當中的重復數據怎麼操作
publicstaticvoidmain(String[]args){
int[]intArray=newint[]{6,2,9,6,1,2,6,7,8};
int[]noneRepeatArray=newint[]{};
for(inti:intArray){
booleanhasRepeat=false;
for(intj:noneRepeatArray){
if(i==j)hasRepeat=true;
}
if(!hasRepeat){
int[]tempArray=newint[noneRepeatArray.length+1];
System.array(noneRepeatArray,0,tempArray,0,noneRepeatArray.length);
noneRepeatArray=tempArray;
noneRepeatArray[noneRepeatArray.length-1]=i;
}
}
System.out.println(Arrays.toString(noneRepeatArray));
}
⑻ java 求一維數組的最大值與最小值,將最小值與數組最後一位交換,最大值與第一位交換
Java創建int數組,將最大值與最小值位置交換輸出,代碼以及截圖如下:
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] num = new int[] { 2, 1, 3, 4, 5 };
int[] temp = new int[num.length];//臨時數組 創建是為了重新排序比較大小時不影響原數組順序
for (int i = 0; i < num.length; i++) {
temp[i] = num[i];
}
Arrays.sort(temp);//升序排序
int min = temp[0];//最小值
int max = temp[temp.length - 1];//最大值
for (int i : num) {
//邏輯判斷,如果是最小值,輸出最大值,否則,相反。
if (i == min) {
System.out.println(max);
} else if (i == max) {
System.out.println(min);
} else {
System.out.println(i);
}
}
}
}
⑼ 用java一維數組的遍歷:輸出數組中的所有元素值,要求列印格式為: [元素值1,元
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class DemoTest05 {
public static void main(String[] args) {
/*
*確定數組的長度
*/
Scanner sc = new Scanner(System.in);
System.out.println("請輸入數組的大小:");
int num = sc.nextInt();
int[] arr1 = new int[num];
//逐個輸入
System.out.println("請逐個輸入數組元素,按回車鍵確定並繼續...");
for (int i = 0; i < arr1.length; i++) {
arr1[i] = sc.nextInt();
}
//數組沒有重寫toString方法,會直接列印數組的地址,使用Arrays工具類的toString方法輸出
System.out.println(Arrays.toString(arr1));
sc.nextLine();//過濾緩沖區中的回車
/*
不確定數組的長度,使用ArrayList集合
*/
List<Integer> list = new ArrayList<Integer>();
System.out.println("請輸入數組元素,元素間使用空格分隔,按回車鍵結束...");
String[] strings = sc.nextLine().split(" ");
for (int i = 0; i < strings.length; i++) {
list.add(Integer.parseInt(strings[i]));
}
System.out.println(list);
}
}
⑽ java中一維數組的概念
一維數組,就是數組,和C語言裡面的數組定義是一樣的,初始化的時候
int a[] = new int [10]; //聲明並定義大小(即分配了指定大小的空間)
int a[] = {1,2,3}; // 聲明並初始化,佔用空間大小是3個int。
類似這樣的就可以了