入坑!
来源:互联网 发布:小学生机器人编程语言 编辑:程序博客网 时间: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的,不能起到这个效果)代码略...
- 入坑
- 入坑!
- 入坑~
- Swift入坑--@selector
- vim入坑
- 入坑宣言
- text-overflow入坑
- 分布式入坑
- 入坑--ACM
- 前端入坑心得
- opencv simpleBlobDetector入坑
- 入坑markdown!
- Vuejs2入坑
- Angular2入坑指南
- Kafka入坑指南
- css 入坑指南
- webpack入坑指南
- 入坑 Chromebook
- LeetCode-292. Nim Game-Java
- Java知识碎片整理(5)——static关键字与单例设计模式
- java语言_统计字符出现的次数
- Java NIO AsynchronousFileChannel
- LCS,LIS(王子和公主,uva 10635)
- 入坑!
- 文章标题
- scrollview中嵌套listview的两种解决方式
- 2016/10/27
- 【PAT甲级】1052. Linked List Sorting (25)
- js原型的问题
- Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
- Android Intent 可以打开的系统项
- 用python爬虫csdn的内容,完美解决403 Forbidden