入坑!

来源:互联网 发布:小学生机器人编程语言 编辑:程序博客网 时间:2024/04/29 09:27

这是我发的第一篇博客,主要是关于这几天的java学习:

       为啥想起学java呢?主要是因为自己的专业有这个要求,但是却没有开设课程,必须自学,算一算时间也该有所行动了,其次是一些机缘巧合的因素和莫名其妙的决心。人的认知是个不断扩张的圆,接触到外部的空白,即无知也随之变大。虽然对技术并没有鸡血式的热情,可还是有很多东西等着我去学啊,连怎么写好一个博客,捡起忘记的markdown也需要时间去钻研...默默对自己说声,不要怕,加油哦!


    一、笼统认识:

          1.java为什么能实现跨平台?Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么,字节码是通用的。有的人会说JVM跨平台,这种说法是不太严谨的。

          2.关于环境变量配置,网上教程有很多版本,值得一提的是,classpath环境变量是用来定位类的,它会告诉JRE在什么路径下搜索Java类,而JDK1.5以上做了改进,JRE会自动搜索类文件了,不再需要设置classpath环境变量。可以找版本新一点的教程做参考。另外,假如你已经打开了cmd,更改了环境变量的设置,想要再次输入java命令测试安装好了没的时候,记得关掉这个然后重新打开。

     二、语法知识:

            byte范围[-128, 127];

            java用unicode编码,char占两个字节,所以1个char可以存一个汉字;

            java的标识符起名允许$;

            注意类型隐式转换:

            这么一段代码:

            byte b1 = 3, b2 = 4, b;
            b = b1 + b2;
            b = 3 + 4;
            第二句会编译失败,提示损失精度,是事实等号右边计算先提升到int,再赋给左边byte。第三句是正确的,常量的计算式在 

            译时已经被计算,并且结果在byte的范围里面,就直接做常量赋值了。

            扩展的赋值运算符如+=,-=,隐含了强制类型转换。x += a;实际上等同于x = (type of x)(x + a);所以小心咯~

     三、两道小菜:

            1.花式交换两个int值

               1>最简单的就是借助临时变量了,不做赘述。

               2>异或操作,原理:和同一个数异或两次后值不变

                   a = a ^ b;

                   b = a ^ b; // b = (a ^ b) ^ b = a;

                   a = a ^ b;

               3>先保存下两数的和

                   a = a + b;

                   b = a - b;

                   a = a - b;

               4>一句话版本:

                   b = (a + b) - (a = b);

            2.位操作实现高效乘除法

               >>做右移操作,正数左边补0,负数补1,右移n位相当于使这个数除以2的n次幂;<<反之对应乘法。(!注意了>>>操作是始终补0的,不能起到这个效果)代码略...

0 0
原创粉丝点击