Java学习关于循环和数组练习题整理
2019-07-18 16:11
1586 查看
循环例子:
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; } }
您可能感兴趣的文章:
相关文章推荐
- Java学习笔记6(循环和数组练习题)
- Java基础--关于分支、循环、数组的部分练习题及详解
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- java之学习笔记(13)-------------数组学习以及循环机制中for each讲解
- 黑马程序员 Java基础学习笔记3 循环和数组
- 黑马程序员--Java学习日记之基础知识(循环结构与数组)
- java学习之路 之 基本语法-程序流程控制-循环结构-嵌套循环练习题
- Java知识点整理:第三章:java中的循环,数组,栈,对象
- Java学习笔记整理(1)-关于一些Java的基本知识
- java学习17-采用数组、循环实现简单商品库存信息的查询与更改案列
- Java学习之关于数组
- java学习之路 之 基本语法-程序流程控制-循环结构-while循环练习题
- JAVA学习(十二)__关于JAVA代码里黄色警告线的注意方法(自己整理)
- java学习之路 之 面向对象编程-面向对象-数组练习题(1)
- 从零开始学习Java——基础知识之循环语句练习题(第四天)
- java笔记-关于继承、对象数组初始化、foreach循环
- java学习之路 之 面向对象编程-数组练习题(2)
- 黑马程序员_Java学习日记1_关于数组的相关应用
- Java菜鸟学习笔记--数组篇(一):数组简介&foreach循环
- 关于java中数组全排列for循环中递归的问题