在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
对于Java的学习者来讲,学习Java基础语法打好基础是至关重要的一步。但是如果只是一味的看视频或者看书灌输理论知识,是很难真正掌握Java的基础知识的。那么 ,我们除了了解学习理论,还需要尝试做一些相应的练习题,这样才能巩固所学知识,做到活学活用。本文为大家整理了Java基础练习案例,并附上了答案,大家可以试着做一做。

1、数组元素求和
(1)案例需求
有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和,要求是:求和的元素个位和十位都不能是7,并且只能是偶数。
(2)代码实现
```java
/*
思路:
定义一个数组,用静态初始化完成数组元素的初始化;
定义一个求和变量,初始值是0;
遍历数组,获取到数组中的每一个元素;
判断该元素是否满足条件,如果满足条件就累加;
输出求和变量的值。
*/
public class Test06 {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素的初始化
int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};
//定义一个求和变量,初始值是0
int sum = 0;
//遍历数组,获取到数组中的每一个元素
for(int x=0; x<arr.length; x++) {
//判断该元素是否满足条件,如果满足条件就累加
if(arr[x]%10!=7 && arr[x]/10%10!=7 && arr[x]%2==0) {
sum += arr[x];
}
}
//输出求和变量的值
System.out.println("sum:" + sum);
}
}
```
2、判断两个数组是否相同
(1)案例需求
定义一个方法,用于比较两个数组的内容是否相同。
(2)代码实现
```java
/*
思路:
定义两个数组,分别使用静态初始化完成数组元素的初始化
定义一个方法,用于比较两个数组的内容是否相同
比较两个数组的内容是否相同,按照下面的步骤实现就可以了。首先比较数组长度,如果长度不相同,数组内容肯定不相同,返回false。其次遍历,比较两个数组中的每一个元素,只要有元素不相同,返回false。最后循环遍历结束后,返回true
调用方法,用变量接收
输出结果
*/
public class Test07 {
public static void main(String[] args) {
//定义两个数组,分别使用静态初始化完成数组元素的初始化
int[] arr = {11, 22, 33, 44, 55};
//int[] arr2 = {11, 22, 33, 44, 55};
int[] arr2 = {11, 22, 33, 44, 5};
//调用方法,用变量接收
boolean flag = compare(arr,arr2);
//输出结果
System.out.println(flag);
}
//定义一个方法,用于比较两个数组的内容是否相同
/*
两个明确:
返回值类型:boolean
参数:int[] arr, int[] arr2
*/
public static boolean compare(int[] arr, int[] arr2) {
//首先比较数组长度,如果长度不相同,数组内容肯定不相同,返回false
if(arr.length != arr2.length) {
return false;
}
//其次遍历,比较两个数组中的每一个元素,只要有元素不相同,返回false
for(int x=0; x<arr.length; x++) {
if(arr[x] != arr2[x]) {
return false;
}
}
//最后循环遍历结束后,返回true
return true;
}
}
```
3、查找元素在数组中出现的索引位置
(1)案例需求
已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引。并在控制台输出找到的索引值。如果没有查找到,则输出-1。
(2)代码实现
```java
/*
思路:
定义一个数组,用静态初始化完成数组元素的初始化;
键盘录入要查找的数据,用一个变量接收;
定义一个索引变量,初始值为-1;
遍历数组,获取到数组中的每一个元素;
拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环;
输出索引变量。
*/
public class Test08 {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素的初始化
int[] arr = {19, 28, 37, 46, 50};
//键盘录入要查找的数据,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查找的数据:");
int number = sc.nextInt();
//调用方法
int index = getIndex(arr, number);
//输出索引变量
System.out.println("index: " + index);
}
//查找指定的数据在数组中的索引
/*
两个明确:
返回值类型:int
参数:int[] arr, int number
*/
public static int getIndex(int[] arr, int number) {
//定义一个索引变量,初始值为-1
int index = -1;
//遍历数组,获取到数组中的每一个元素
for(int x=0; x<arr.length; x++) {
//拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
if(arr[x] == number) {
index = x;
break;
}
}
//返回索引
return index;
}
}
```
4、数组元素反转
(1)案例需求
已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值交换,交换后的数组 arr = {50, 46, 37, 28, 19}; 并在控制台输出交换后的数组元素。
(2)代码实现
```java
/*
思路:
定义一个数组,用静态初始化完成数组元素的初始化;
循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引;
变量交换;
遍历数组。
*/
public class Test09 {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素的初始化
int[] arr = {19, 28, 37, 46, 50};
//调用反转的方法
reverse(arr);
//遍历数组
printArray(arr);
}
/*
两个明确:
返回值类型:void
参数:int[] arr
*/
public static void reverse(int[] arr) {
//循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引
for (int start = 0, end = arr.length - 1; start <= end; start++, end--) {
//变量交换
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
/*
两个明确:
返回值类型:void
参数:int[] arr
*/
public static void printArray(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
System.out.print(arr[x]);
} else {
System.out.print(arr[x] + ", ");
}
}
System.out.println("]");
}
}
```
以上就是Java基础练习案例整理,大家都会做了吗?需要注意的是,在一开始做的时候不要看答案,做完之后,再对一遍答案。这样才能更好地知道自己哪里有问题,从而有针对性的去解决。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java入门比较好的书是哪本?Java入门教材推荐
Java入门最好的书是哪本?对于刚刚入门Java的初学者而言,第一本Java入门教材必须要通俗易懂,最好能把理论知识和实战练习结合起来,而满足上述条件的书籍非《Java基础入门》莫属。《Java基础入门》是由传智播客高教产品研发部,为零基础初学者专门编著的Java学习教材。下面我们来看看这本书的详细内容吧!
8151
2019-12-05 13:09:05
英语不好能学好Java开发吗?
学好Java开发对英语的要求并不高,编程常用的高频词并不多,有的单词是程序员随便写的不要求是完整的英文单词()变量名可以用部分英文,拼音,数字组成。系统已有的成员方法的名字,有的英文还挺长,可以借助开发工具输入提醒功能进行自动录入,不需要你记住很长的方法名字。
6871
2019-12-04 10:56:53
怎样获取系统的Java学习路线?
对于自学Java后端开发,或者转行进入Java开发领域的同学而言,不了解Java后端开发需要学习什么,究竟应该从哪里开始学习,哪些技术是目前市场需求的主流Java开发技术等等。导致很多同学本来计划学习,却又不知如何下手
6862
2020-07-24 16:18:26
SpringMVC框架是干什么的?有哪些优点?
目前企业当中有80%的项目使用的都是SpringMVC框架,这么多公司都使用SpringMVC框架来开发项目,SpringMVC框架必然有他的过人之处。今天让我们一起来看看SpringMVC框架是干什么的,有哪些优点。
8037
2020-08-14 14:46:43
去Java培训班真的有用吗?
如果你是零基础,选择自学确实存在一定难度,在自学的过程,没有明确的学习方向,学习过程中会遇到很多的问题无法及时解决,而参加Java培训班有系统的课程大纲,零基础由浅入深学习,遇到问题还有老师及时解答,帮你解决学习中的各种问题。
6154
2021-01-25 10:55:04
