package com.heima.demo;
import java.util.Arrays;
public class Test {
/**
* 关于最基础的代码练习...相信我,很简单,但也容易被忽略
* 打印星星,关注等边三角形
* 打印99乘法表,注意输出的使用,和"\t"的使用(它是为了,让格式看着更整齐)
* 冒泡排序,死记都要记住,点招会考的几率很大,虽然以后工作中不会碰到,但是就业的面试官也会问...
* 仔细看看,很简单,希望能帮助你们......
*/
public static void main(String[] args) {
/**打印5行4列的星星*/
/*//外循环控制行数,打印5行(i = 0;i < 5也可以)
for (int i = 1; i <= 5; i++) {
//内循环控制列数,打印4行(j = 0;j < 4也可以)
for (int j = 1; j <= 4; j++) {
//打印星星,把ln去掉,不然会换行...
System.out.print("*");
}
//打印换行,当循环一次结束时,换行,继续下次循环
System.out.println();
}*/
//System.out.println("--------------------------------------------");
/**打印5行5列的直角三角形*/
/*//外循环控制行数,5行.
for (int i = 1; i <= 5; i++) {
//内循环控制列数,也是5列,因为是直角三角形,j < i就可以实现递增的情况
for (int j = 0; j < i; j++) {
//打印星星,第一次打印一个,然后换行,第二次打印2个,然后换行...
System.out.print("*");
}
System.out.println();
}*/
//System.out.println("--------------------------------------------");
/**打印5行5列的倒直角三角形*/
/*//外循环控制行数,5行和直角三角形一样
for (int i = 1; i <= 5; i++) {
//内循环控制列数,因为是倒直角,所以应该从最大值来算,然后递减
for (int j = 5; j >= i; j--) {
//打印星星,第一次i=1,j=5.满足条件然后打印星星,自减,满座条件,再自减,,,共执行5次
System.out.print("*");
}
//打印换行
System.out.println();
}*/
//System.out.println("--------------------------------------------");
/**打印等边三角形*/
/*//用for循环判断直角三角形的行数和列数都一样
for (int i = 1; i <= 5; i++) {
//先打印倒直角三角形,将星星换成空格
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
//现在打印直角三角形的星星
for (int j = 1; j <= i; j++) {
System.out.print("* ");
}
System.out.println();
}*/
//System.out.println("--------------------------------------------");
/**打印九九乘法表*/
/*//因为是九九乘法表,所以它的行数和列数都是9
for (int i = 1; i <= 9; i++) {
//内循环控制和外循环一样都是9
for (int j = 1; j <= i; j++) {
//打印,这个需要多几步的,让j的变量和i的变量想乘,且等于j成i的结果都要显示出来
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
//当j不满足j<=i时就换行
System.out.println();
//倒着打印九九乘法表就是和到直角三角形差不多,自己脑补去...
}*/
//System.out.println("--------------------------------------------");
/**冒泡排序*/
//在主方法中自定义一个数组,是在主方法
int[] arr = {33,12,45,64,67,88,99,432};
//这是我自己创建的方法,没有返回值,直接用就ok
demo1(arr);
//下面这个右大括号上面的都在主方法中,因为下面我创建了一个方法,容易会被忽略....
}
/**创建一个方法,求冒泡排序
* 1.明确返回值类型 void
* 2.明确参数类型 int[] arr*/
public static void demo1(int[] arr){
//外循环比较循环的次数,最大计较arr.length - 1次即可
for (int i = 0; i < arr.length - 1; i++) {
//内循环决定比较的元素值.-1是防止索引越界,-i是为了提高效率
for (int j = 0; j < arr.length - i - 1; j++) {
//判断如果第一个和第二个比较,较大的值赋值给arr[j + 1],和i没关系,记住,冒泡排序是两两比较
if(arr[j] > arr[j + 1]) {
//下面就相当于有一个第三方变量的赋值...绝对能看懂
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//打印中的类toString方法是将此数组转换成字符串
System.out.println(Arrays.toString(arr));
//关于排序知道冒泡排序就ok,其他的推都推出来了,so easy!!
}
}
|
|