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

作者:一清 时间:2022-07-19 21:01:24 

循环例子:

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;
}
}

来源:https://www.cnblogs.com/xuyiqing/p/8214329.html

标签:Java,循环,数组
0
投稿

猜你喜欢

  • 基于Java GUI 事件处理方式

    2023-11-25 13:08:55
  • Java Idea高效率配置技巧实例解析

    2023-06-05 13:24:42
  • Java 实现网络爬虫框架详细代码

    2021-12-11 05:15:43
  • java 生成xml并转为字符串的方法

    2023-01-07 08:27:30
  • java基础的详细了解第五天

    2023-06-02 16:54:04
  • Java 用反射设置对象的属性值实例详解

    2023-11-26 03:56:51
  • 全面分析Java文件上传

    2021-12-09 13:22:52
  • java8新特性之日期时间API

    2023-06-20 09:15:50
  • MyBatis利用MyCat实现多租户的简单思路分享

    2022-08-16 18:58:33
  • Java解码H264格式视频流中的图片

    2023-11-24 23:58:24
  • javaweb页面附件、图片下载及打开(实现方法)

    2023-11-25 05:33:44
  • Java获取e.printStackTrace()打印的信息方式

    2022-05-18 05:19:26
  • 利用Intellij Idea连接远程服务器实现远程上传部署功能

    2022-05-31 13:15:54
  • C#实现最完整的文件和目录操作类实例

    2022-05-19 09:38:51
  • 浅析java移位符的具体使用

    2023-12-21 09:36:13
  • 详述IntelliJ IDEA插件的安装及使用方法(图解)

    2023-11-26 04:45:06
  • Spring MVC学习教程之视图深入解析

    2021-12-16 23:37:55
  • C#中32位浮点数Float(Real)一步步按位Bit进行分析

    2023-07-19 16:01:20
  • swagger添加权限验证保证API(接口)安全性(两种方法)

    2023-11-27 18:58:33
  • SpringBoot拦截 器如何获取http请求参数

    2023-11-28 19:40:48
  • asp之家 软件编程 m.aspxhome.com