黑马程序员技术交流社区
标题:
最最最基础的代码...点招和面试很大几率会遇到哦.......
[打印本页]
作者:
善良的死神达乐
时间:
2016-5-31 01:28
标题:
最最最基础的代码...点招和面试很大几率会遇到哦.......
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!!
}
}
作者:
Aaron9527
时间:
2016-5-31 01:41
谢谢楼主的分享
作者:
我love
时间:
2016-5-31 07:23
不错,确实是很基础但很容易面试的代码题
作者:
feimingxuan
时间:
2016-6-15 01:11
牛逼 兄弟
作者:
tianzhu2725
时间:
2016-6-15 07:30
谢谢分享 辛苦了
作者:
haizi004
时间:
2016-6-15 09:07
已收藏,感谢楼主分享。
作者:
suming
时间:
2016-6-15 10:32
值得 赞赏 谢谢楼主
作者:
940752944
时间:
2016-6-23 21:05
等腰三角形有点看不懂了
作者:
L1ub0w3n
时间:
2016-6-23 21:24
这道题实话实说考的几率很低。因为新的基础班不会在for循环上讲很多。
作者:
孟小垚
时间:
2016-6-23 21:36
谢谢,学习!
作者:
oxiwangz
时间:
2016-6-30 20:39
不错哦,刚刚学这个,看到这个帖子,学到一些,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2