Java学习关于循环和数组练习题整理

 更新时间:2019年07月18日 16:11:51   作者:一清  
在本篇文章里小编给各位整理了关于Java学习关于循环和数组练习题相关内容,有兴趣的朋友们跟着参考学习下。

循环例子:

while循环和do…while循环

whlie(条件语句) {
	循环体
}//先进行条件语句的判断,再进行循环体
do {
	循环体
}whlie (条件语句)//先执行一次循环后再进行条件语句的判断

break语句

break语句:结束全部循环,具体应用如下:

//1+2+3+...+n<1000,求n
//此题可以利用break语句在和大于1000时结束循环,输出n的值
public static void deal() {
  int sum = 0;
  int i = 1;
  for (; ; i++) {
   sum = sum + i;
   if (sum > 1000) {
    break;//当和大于1000时,利用break语句跳出循环
   }
  }
  System.out.println(i);
 }

相关实例练习题:

1.输出100到1000的水仙花数:

public class LoopTest{
 public static void main(String[] args){
  int bai = 0;
  int shi = 0;
  int ge = 0;
  for(int i = 100; i < 1000; i++){
   bai = i/100;
   shi = i/10%10;
   ge = i%10;
   if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){
    System.out.println(i);
   }
  }
 }
}

2.打印所有字母:

public class LoopTest{
 public static void main(String[] args){
  char lower = 'a';
  char upper = 'A';
  for(int i = 0 ; i < 26 ; i++){
   System.out.println(lower+" "+upper);
   lower++;
   upper++;
  }
 }
}

3.打印99乘法表:

public class LoopTest{
 public static void main(String[] args){
  for(int i = 1; i <=9 ; i++){
   for(int j = 1 ; j<=i ; j++){
    System.out.print(j+"*"+i+"="+j*i+" ");
   }
   System.out.println();
  }
 }
}

4.按格式遍历数组:

public class ArrayTest{
 public static void main(String[] args){
  int[] arr1 = {4,6,7,1};
  int[] arr2 = {1,2,3,9,10};
  printArray(arr1);
  printArray(arr2);
 }
 public static void printArray(int[] arr){
  System.out.print("[");
  for(int i = 0 ; i <arr.length ; i++){
   if( i == arr.length-1){
    System.out.println(arr[i]+"]");
   }else{
    System.out.print(arr[i]+",");
   }
  }
 }
}

5.数组元素逆序(注意:不是反向遍历):

public class ArrayTest{
 public static void main(String[] args){
  int[] arr = {1,2,3,4,7,8,9};
  reverse(arr);
  printArray(arr);
 }
 public static void reverse(int[] arr){
  for(int min=0,max = arr.length-1; min<max ; min++,max--){
   int temp = arr[min];
   arr[min] = arr[max];
   arr[max] = temp;
  }
 }
  public static void printArray(int[] arr){
  System.out.print("[");
  for(int i = 0 ; i <arr.length ; i++){
   if( i == arr.length-1){
    System.out.println(arr[i]+"]");
   }else{
    System.out.print(arr[i]+",");
   }
  }
 }
}

6.选择排序:

public class ArrayTest{
 public static void main(String[] args){
  int[] arr = {3,1,5,7,8,9,2};
  selectSort(arr);
  printArray(arr);
 }
 public static void selectSort(int[] arr){
  for(int i = 0; i < arr.length-1; i++){
   for(int j = i+1; j<arr.length; j++){
    if(arr[i]>arr[j]){
     int temp = arr[i];
     arr[i] = arr[j];
     arr[j] = temp;
    }
   }
  }
 }
 public static void printArray(int[] arr){
  System.out.print("[");
  for(int i = 0 ; i <arr.length ; i++){
   if( i == arr.length-1){
    System.out.println(arr[i]+"]");
   }else{
    System.out.print(arr[i]+",");
   }
  }
 }
}

7.冒泡排序:

public class ArrayTest{
 public static void main(String[] args){
  int[] arr = {3,1,5,7,8,9,2};
  bubbleSort(arr);
  printArray(arr);
 }
 public static void bubbleSort(int[] arr){
  for(int i = 0; i<arr.length-1 ;i++){
   for(int j = 0; j<arr.length-i-1; j++){
    if(arr[j]>arr[j+1]){
     int temp = arr[j];
     arr[j] = arr[j+1];
     arr[j+1] = temp;
    }
   }
  }
 }
 public static void printArray(int[] arr){
  System.out.print("[");
  for(int i = 0 ; i <arr.length ; i++){
   if( i == arr.length-1){
    System.out.println(arr[i]+"]");
   }else{
    System.out.print(arr[i]+",");
   }
  }
 }
}

8.折半查找法(注意必须是有序的数组):

public class ArrayTest{
 public static void main(String[] args){
  int[] arr = {1,3,5,7,9,11};
  int index = binarySearch(arr, 7);
  System.out.println(index);
 }
 public static int binarySearch(int[] arr,int key){
  int min = 0;
  int max = arr.length-1;
  int mid = 0;
  while( min<=max ){
   mid = (min+max)/2;
   if(key>arr[mid]){
    min = mid+1;
   }else if(key<arr[mid]){
    max = mid-1;
   }else{
    return mid;
   }
  }
  return -1;
 }
}

相关文章

  • Feign如何使用protobuf的类作为参数调用

    Feign如何使用protobuf的类作为参数调用

    这篇文章主要介绍了Feign如何使用protobuf的类作为参数调用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java socket通讯实现过程及问题解决

    Java socket通讯实现过程及问题解决

    这篇文章主要介绍了Java socket通讯实现过程及问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Java操作Excel文件解析与读写方法详解

    Java操作Excel文件解析与读写方法详解

    相信现在很多搞后端的同学大部分做的都是后台管理系统,那么管理系统就肯定免不了Excel的导出导入功能,下面这篇文章主要给大家介绍了关于Java简单使用EasyExcel操作读写与解析的步骤与要点,需要的朋友可以参考下
    2022-11-11
  • Struts和servlet不能共存问题解决方法

    Struts和servlet不能共存问题解决方法

    这篇文章主要介绍了Struts和servlet不能共存问题解决方法,共有三种方法,需要的朋友可以参考下。
    2017-09-09
  • 解读ResultSet的遍历方法

    解读ResultSet的遍历方法

    这篇文章主要介绍了ResultSet的遍历方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Elasticsearch中FST与前缀搜索应用实战解析

    Elasticsearch中FST与前缀搜索应用实战解析

    这篇文章主要为大家介绍了Elasticsearch中FST与前缀搜索应用实战解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • java实现自定义时钟并实现走时功能

    java实现自定义时钟并实现走时功能

    这篇文章主要为大家详细介绍了java实现自定义时钟并实现走时功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Spring Cloud Netflix架构浅析(小结)

    Spring Cloud Netflix架构浅析(小结)

    这篇文章主要介绍了Spring Cloud Netflix架构浅析(小结),详解的介绍了Spring Cloud Netflix的概念和组件等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Java Stream比较两个List的差异并取出不同的对象四种方法

    Java Stream比较两个List的差异并取出不同的对象四种方法

    今天开发一个需求时要对A和B两个List集合遍历,并比较出集合A有,而集合B没有的值,下面这篇文章主要给大家介绍了关于Java Stream比较两个List的差异并取出不同对象的四种方法,需要的朋友可以参考下
    2024-01-01
  • Spring Boot 多个定时器冲突问题的解决方法

    Spring Boot 多个定时器冲突问题的解决方法

    这篇文章主要介绍了Spring Boot 多个定时器冲突问题的解决方法,实际开发中定时器需要解决多个定时器同时并发的问题,也要解决定时器之间的冲突问题,本文通过问题场景重现给大家介绍的非常详细,需要的朋友参考下吧
    2022-05-05

最新评论