Java學(xué)習(xí)關(guān)于循環(huán)和數(shù)組練習(xí)題整理
循環(huán)例子:
while循環(huán)和do…while循環(huán)
whlie(條件語(yǔ)句) {
循環(huán)體
}//先進(jìn)行條件語(yǔ)句的判斷,再進(jìn)行循環(huán)體
do {
循環(huán)體
}whlie (條件語(yǔ)句)//先執(zhí)行一次循環(huán)后再進(jìn)行條件語(yǔ)句的判斷
break語(yǔ)句
break語(yǔ)句:結(jié)束全部循環(huán),具體應(yīng)用如下:
//1+2+3+...+n<1000,求n
//此題可以利用break語(yǔ)句在和大于1000時(shí)結(jié)束循環(huán),輸出n的值
public static void deal() {
int sum = 0;
int i = 1;
for (; ; i++) {
sum = sum + i;
if (sum > 1000) {
break;//當(dāng)和大于1000時(shí),利用break語(yǔ)句跳出循環(huán)
}
}
System.out.println(i);
}
相關(guān)實(shí)例練習(xí)題:
1.輸出100到1000的水仙花數(shù):
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.按格式遍歷數(shù)組:
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.數(shù)組元素逆序(注意:不是反向遍歷):
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.折半查找法(注意必須是有序的數(shù)組):
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;
}
}
相關(guān)文章
Java中實(shí)體與Map之間的相互轉(zhuǎn)換代碼示例
生活中經(jīng)常用到map數(shù)據(jù)與實(shí)體類的轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Java中實(shí)體與Map之間相互轉(zhuǎn)換的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
fastjson轉(zhuǎn)換對(duì)象實(shí)體@JsonProperty不生效問(wèn)題及解決
這篇文章主要介紹了fastjson轉(zhuǎn)換對(duì)象實(shí)體@JsonProperty不生效問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
使用IDEA創(chuàng)建Servlet程序的詳細(xì)步驟
在學(xué)習(xí)servlet過(guò)程中,參考的教程是用eclipse完成的,而我在練習(xí)的過(guò)程中是使用IDEA的,在創(chuàng)建servlet程序時(shí)遇到了挺多困難,在此記錄一下如何用IDEA完整創(chuàng)建一個(gè)servlet程序,感興趣的朋友一起看看吧2024-08-08
淺析如何在SpringBoot中實(shí)現(xiàn)數(shù)據(jù)脫敏
脫敏是指在不改變?cè)瓟?shù)據(jù)結(jié)構(gòu)的前提下,通過(guò)某種方式處理數(shù)據(jù),使數(shù)據(jù)不能直接暴露用戶的真實(shí)信息,下面我們就來(lái)看看SpringBoot中實(shí)現(xiàn)數(shù)據(jù)脫敏的具體方法吧2024-03-03
java哈希算法HashMap經(jīng)典面試題目匯總解析
這篇文章主要為大家介紹了java哈希算法HashMap的經(jīng)典面試題目匯總及問(wèn)題解析,幫助大家徹底征服面試官,實(shí)現(xiàn)薪資自由,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03
java實(shí)現(xiàn)二維碼生成的幾個(gè)方法(推薦)
本篇文章主要介紹了java實(shí)現(xiàn)二維碼生成的幾個(gè)方法(推薦),具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12
TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析
這篇文章主要介紹了TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
利用Jasypt如何對(duì)Spring Boot配置文件加密
這篇文章主要給大家介紹了關(guān)于利用Jasypt如何對(duì)Spring Boot配置文件加密的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07

