A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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


10 个回复

倒序浏览
谢谢楼主的分享
回复 使用道具 举报
不错,确实是很基础但很容易面试的代码题
回复 使用道具 举报
牛逼    兄弟
回复 使用道具 举报
谢谢分享 辛苦了
回复 使用道具 举报
已收藏,感谢楼主分享。
回复 使用道具 举报
suming 中级黑马 2016-6-15 10:32:48
7#
值得 赞赏 谢谢楼主
回复 使用道具 举报
等腰三角形有点看不懂了
回复 使用道具 举报
这道题实话实说考的几率很低。因为新的基础班不会在for循环上讲很多。
回复 使用道具 举报
谢谢,学习!
回复 使用道具 举报
不错哦,刚刚学这个,看到这个帖子,学到一些,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马