Day6 java的基础知识点(五)

目录

      • 1.插入算法
      • 2.二重循环——一个循环体内有包含另一个完整的循环结构
      • 3.如何使用二重循环
      • 4.在二重循环中使用continue与break的区别
    • ==文章内容扩展学习链接==

1.插入算法

字符串比较——compareTo():不忽略大小写,compareToIgnoreCase():忽略大小写

package demo0211;
import java.util.*;
/*问题:
 * 数组中的英文歌曲按照名称升序排列。
 * 增加一首新歌,并保持歌曲名称升序排列
 * 分析:
 * 通过比较找到插入位置
 * 将该位置后的元素后移一个位置
 * 将新歌插入到该位置
 */
public class Hello {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner input = new Scanner(System.in);
		String[] musics = {"Island","Ocean","Pretty","Sun"};
		String[] newMusics = Arrays.copyOf(musics, musics.length + 1);
		System.out.println("插入前数组为:");
		for(String m : musics) {
			System.out.println(m + " ");
		}
		System.out.println("\n输入歌曲名称:");
		String inputMusic = input.next();
		//找到要插入的位置
		int i = 0;//记录插入的位置
		for(;i<musics.length;i++)
		{
			//忽略大小写,比对元素大于输入的
			if(musics[i].compareToIgnoreCase(inputMusic)>0) {
				break;
			}
		}
		
		//利用新数组,将要插入的位置后的元素,都向后移动1位
		for(int j = newMusics.length - 1;j>i;j--)
		{
			newMusics[i] = inputMusic;
		}
		
		System.out.println("插入后数组为:");
		for(String m : newMusics) {
			System.out.println(m + " ");
		}
	}
}

2.二重循环——一个循环体内有包含另一个完整的循环结构

while(循环条件){
    //循环操作1
    while(循环条件2){
        //循环操作2
    }
}
do{
    //循环操作1
    do{
        //循环操作2
    }while(循环条件1)
}while(循环条件2)
for(循环条件1){
    //循环操作1
    for(循环条件2){
        //循环操作2
    }
}
while(循环条件1){
    //循环操作1
    for(循环条件2){
        //循环操作2
	}
}

3.如何使用二重循环

package demo0211;
import java.util.*;
/*问题:
 * 用*打印直角三角形
 * 分析:
 * 用二重循环实现:
 * 外层循环控制行数
 * 内层循环控制每行的*的个数
 */
public class Hello {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int rows = 3;
		System.out.println("打印直角三角形");
		for(int i = 0;i<rows;i++) {//打印第i行
			for(int j = 0;j <= i;j++) {//打印i个*号
				System.out.print("*");
			}
			System.out.print("\n"); //换行
		}
	}
}
package demo0211;

import java.util.Arrays;
import java.util.Scanner;

public class 菱形 {
	public static void main(String[] args) {
		/*打印一个菱形
		 * 1.输入奇数行
		 * 2.上方,总行数/2+1的等腰三角
		 * 3.下方,先打印空白的直角三角,在打印倒三角
		 */
		Scanner input = new Scanner(System.in);
		int rows = 0; //总行数
		do {
			System.out.print("输入奇数行:");
			rows = input.nextInt();
		}while(rows % 2 == 0);

		//获得上下的行数
		int topRows = rows / 2 + 1;	
		int buttomRows = rows - topRows;
		
		//上方图形
		for(int i=0; i<topRows; i++) {
			//打印空白
			for(int j=0; j<topRows-i-1; j++) { //3,2,1,0
				System.out.print(" ");
			}
			
			//打印星 当前行数 * 2 - 1, i是当前行从0开始,少1
				// 当前行从0开始: 当前行 * 2 + 1
			for(int k=0; k< i*2+1; k++) { //1,3,5,7
				System.out.print("*");
			}
			System.out.println();
		}
		
		//下方图形
		for(int i=0; i<buttomRows; i++) {
			//打空白
			for(int j=0; j<=i; j++) {
				System.out.print(" ");
			}
			//打星
			for(int k=0; k<(buttomRows-i)*2-1; k++) {//5,3,1
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

4.在二重循环中使用continue与break的区别

Day6 java的基础知识点(五)_第1张图片

/*打印乘法表*/
	int rows = 9; //乘法表的行数
		for(int i = 1; i<=rows; i++){ //外层循环控制行数
			for(int j = 1; j <= i; j++){ //内层循环输出一行乘式、并换行
				System.out.print(j+"*"+i+"="+j*i+" ");
			} 
			System.out.print("\n");
		}

文章内容扩展学习链接

Day1 java的基础知识点(一)
Day2 java的基础知识点(二)
Day3 java的基础知识点(三)
Day4Day5 java的基础知识点(四)
Day7 java的基础知识点(六)

你可能感兴趣的:(java学习笔记)