黑马程序员--Java基础学习01

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 

  嗨罗,我是电脑小白,是一个在读的大三计算机系的妹纸。作为一名专业酱油档,前面两年学了‘Hello World’之后就到了瓶颈。现在快面临实习毕业等问题,所以不得不提高自己的专业技能。有幸知道黑马,顿时感觉前途有希望了有木有,新人初来,希望大家多多关照呀。

  呃呃,我现在还在努力自学毕老师的java基础视频,发现前两年都白学了,基础薄弱的都不敢称计算机学院的。我呢,很想毕业前来黑马培训,好希望自己能从电脑小白蜕变成大神的那一天,现在每天都在自学视频,先把基础打扎实,黑马,等我哟!

  真心不想吐槽大学课程了,都大三了,回顾这快三年的生活,每天都是和上课的各种约会,现在也是,每天都满课,满课!我能说一门课程讲了一学期就教了个登陆窗口?莫法,我这个小白都知道要自我拯救才行呐。好了吐槽完毕。

  毕老师的视频挺多的,但是我基础太差,必须一集集的来,急不得,基础不好,其它都扯蛋,所以我每天呢挤各种时间,上课偷偷在那看视频,回到寝室做笔记写代码,还算充实。感慨就是时间真的好少,请给我点时间吧!敖吾~到现在学了差不多18天左右,才刚看完Java基础视频,今天开始学对象了,哈哈,有对象真好!这个速度真是特慢有木有,莫法,白天满课,老师讲些有的没的,还要交作业啦,上机啦,总之要按照老师说的做。晚上没课啊,但是,我是个不安分的妹纸,每天晚上都去运动了,减肥可不是口号呐!那就还有周末,唉,原谅我挨穷戳都占全了,所以周末签了长期的家教合同,专门坑小孩儿去了。所以这个进度真的很慢!

  好了,学了那么久,虽然学的不多,小女子也有感悟啦,以下是我的两个代码,大神看了莫笑,这真是电脑小白的处女作。。哈哈哈 

/*

要求:给定一个数,进行进制间的转换

思路:

1,用户输入一个数

2,直接输出次数的八进制和十进制

 

步骤:

1,导入一个包 import java.util.*;

2.让用户输入一个数

3,转换成八进制(取该数的低三位,右移3位,再&7,如果是十六进制就&15

4,输出结果

*/import java.util.*;class JinZhi{public static void main(String[] args){System.out.println("请输入一个小于100的整数:");Scanner in=new Scanner(System.in);int a=in.nextInt();shiliu(a);eight(a);}public static void shiliu(int x){int a=x&15;//获取最低四位int temp=x>>>4;int b=temp&15;System.out.println(x+"的十六进制为:");System.out.print(b>9?(char)(b-10+'A'):b);System.out.println(a>9?(char)(a-10+'A'):a);}public static void eight(int y){int a=y&7;//获取最低三位int temp=y>>>3;int b=temp&7;int temp1=temp>>>3;int c=temp1&7;System.out.println(y+"的八进制为:");System.out.print(c>9?(char)(c-10+'A'):c);System.out.print(b>9?(char)(b-10+'A'):b);System.out.println(a>9?(char)(a-10+'A'):a);}}

 

这个弊端好多,只能100以下的数才行,而且对于十六进制不能转换成字母。

c>9?(char)(c-10+'A'):c);百度了下,是这个语句有问题,不能这么啦,,哈哈,大神们,你们有更好的办法吗?

优化后:

class JinZhi{public static void main(String[] args){System.out.println("二进制为:");toBin(60);System.out.println('\n'+"十六进制为:");toHex(60);System.out.println('\n'+"八进制为:");toEight(60);}public static void trans(int num,int base,int offset){if(num==0){System.out.println(0);return;}char [] chs={'0','1','2','3','4', '5','6','7','8','9', 'A','B','C','D','E','F'};char [] arr=new char[32];int pos=arr.length;while(num!=0){int temp=num&base;arr[--pos]=chs[temp];num=num>>>offset;}for(int x=pos;x<arr.length;x++){System.out.print(arr[x]);}}//二进制:public static void toBin(int num){trans(num,1,1);}//十六进制:public static void toHex(int num){trans(num,15,4);}//八进制public static void toEight(int num){trans(num,7,3);}}

大神给给意见呗,有同样志向去黑马的粉我哟!

(我的黑马id是:卟管了)

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值