1.什么是数组,你自己如何理解数组的?
能放很多相同类型数据的一个容器
2.:数组的概念?有什么特点?
数组是用来存储同一数据类型多个元素的容器。
?? ?1)存储的元素必须是同一数据类型,比如存储的所有元素都是int类型。
?? ?2)数组长度是固定的。
3:数组的定义格式?
动态: ?? ?数据类型[] ?数组名称 = new 数据类型[数组长度];
?? ?数据类型 ?数组名称[] = new数据类型[数组长度]; 静态: ?? ?数据类型[] ?数组名称 = new 数据类型[数组长度];
?? ?数据类型 ?数组名称[] = new数据类型[数组长度];
简化格式: ?? ?数据类型[] 数组名称 = {元素1,元素2,元素3...};
?? ?数据类型 数组名称[] = {元素1,元素2,元素3....};
4.Java中的内存分配有哪些?请分别说明存储什么内容在里面
栈内存:在函数中定义的基本类型变量和对象的引用变量 堆内存:用来存放由new创建的对象和数组以及对象的实例变量
5. 下列数组的声明有哪些是对的?错的应该怎么修改? A. int[] a; B. int a[] = new int[3]; C. int[] a; a = {1,2,3,4,5};?? ??? ?×?? ?int[] a = {1,2,3,4,5} D. int[] a = new int[3]{1,2,3};?? ??? ?×?? ?int[] a = new int[]{1,2,3}
6. 给定一个数组,输出数组中的最大值和最小值(键盘录入一个数组,5个元素)
最大: public static void main(String[] args) { ? ? ? ? ? ?int []arr ={59,15,63,44,24,82,96}; ?? ?int max = arr[0]; ?? ? for(int x=1;x<arr.length;x++){ ?? ??? ?if(arr[x]>max) ? ? ? ? ? ? ? ? ?? ?max=arr[x]; ?? ?}?? ? } 最小: ?? ?int min = arr[0]; ?? ?for (int x=1;x<arr.length;x++){ ?? ??? ?if(arr[x]<min) ?? ??? ?min=arr[x]; ?? ?}?? ?
7.给定一个数组,把这个数组中所有元素顺序进行逆序。(静态初始化)
int []arr ={59,15,63,44,24,82,96}; ?? ?for(int start = 0 ,end = arr.length-1 ; start<end ; start++,end --){ ?? ?int temp ?= arr[start] ; ?? ?arr[start] = arr[end] ; ?? ?arr[end] = temp ; ?? ?} 8.模拟登录功能,键盘录入用户名和密码String类型都是,和已知(你自己定义)存在的用户名和密码进行对比 (使用String的equals(String other)),不断录入用户名和密码,直到一致后,提示"登录成功",否则登录失败,请重新输入!
import java.util.Scanner; class ZuoYe{ ? ? public static void main(String[] args) { ? ? ? ? String username = "admin"; ?? ??? ?String password = "admin"; ?? ??? ?Scanner sc = new Scanner(System.in); ?? ??? ??? ?System.out.println("请输入用户名:"); ?? ??? ??? ?String name = sc.nextLine(); ?? ??? ??? ?System.out.println("请输入密码:"); ?? ??? ??? ?String pwd = sc.nextLine(); ?? ??? ??? ?if(username.equals(name) && password.equals(pwd)) { ?? ??? ??? ??? ?System.out.println("登录成功"); ?? ??? ??? ?}else { ?? ??? ??? ??? ?System.out.println("登录失败"); ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ?
9.int[] arr = {10,55,30,24,17} ; 查询30这个元素第一次在数组中出现的索引,查询元素使用功能完成!
class ZuoYe{ ? ? public static void main(String[] args) { ? ? ? ? int[] arr = {10,55,30,24,17}; ? ? ? ? int index = getIndex(arr,30); ? ? ? ? System.out.println("30在数组中第一次出现的索引是:"+index); ? ? ? ?? ? ? }
? ? public static int getIndex(int[] arr,int value) { ? ? ? ? for(int x=0; x<arr.length; x++) { ? ? ? ? ? ? if(arr[x] == value) { ? ? ? ? ? ? ? ? return x; ? ? ? ? ? ? } ? ? ? ? } ? ? ? ?? ? ? ? ? return -1; ? ? } } ?? ? 10.写一个方法,接受一个整数n,输出1+2+3+...+n 的和
import java.util.Scanner; class ZuoYe{ ?? ?public static void main(String[] args) { ?? ??? ?Scanner sc = new Scanner(System.in); ?? ??? ?System.out.print("请输入一个数:"); ?? ??? ?int n = sc.nextInt(); ?? ??? ?int result = add(n); ?? ??? ?System.out.println(result); ?? ?}
?? ?public static int add(int n) { ?? ??? ?int sum = 0; ?? ??? ?for (int i = 1; i <= n; i++) { ?? ??? ??? ?sum += i; ?? ??? ?} ?? ??? ?return sum; ?? ?} }
11.写一个方法,计算两点(x1, y1)和(x2, y2)之间的距离
12.键盘录入6个不同的数据(无序),创建一个数组,然后将数组中的元素冒泡排序(使用方法完成!)
class ZuoYe{ ?? ?public static void main(String[] args){ ?? ??? ?int[] arr = {99,88,77,66,55,44} ; ?? ??? ?printArray(arr) ; ?? ?} ?? ?public static void printArray(int[] array){ ?? ??? ?for(int x = 0 ; x < array.length-1 ; x ++){ ?? ??? ??? ?for(int y = 0 ; y < array.length-1-x ; y ++){ ?? ??? ??? ??? ?if(array[y] > array[y+1]){ ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?int temp = array[y] ; ?? ??? ??? ??? ??? ?array[y] = array[y+1] ; ?? ??? ??? ??? ??? ?array[y+1] = temp ; ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ? }
13.?? ?放假期间预习下面向对象,资料会在群里,提前看看
|