Java:经过两周的学习接触,对于java反复的在配置环境变量,听啥是JDK,JRE,JVM,是什么用处,怎么安装,确实兴趣不大,但对于DOS命令的兴趣有所提高是件好事,还专门上网搜了相关的快捷开启的命令(例如怎样打开新建文本文档,新建文本文档对于编写Java是挺有用的,只要输入“noteopad”;还有怎样打开画图:”mspaint”在发博文图片时经常用到。)我会继续学点皮毛,满足自己的好奇。不过凡事有两面,烦确实挺烦的,但也明白了java不仅像c++一样可以在编译工具上编写运行,还可以在不带格式的文本编辑器上编写,通过DOS窗口解释为.class文件,在对其运行。也尝试过EditPlus这款软件,挺不错。
至于实际的Java知识,还是从数据着手,接着是数组,运算符表达式一类,数据类型上值得提的是byte整型类型,对他还算是陌生的,数组上就是在可以用int型变量指定数组大小有大的区别,像int size = 10; double number [] = new double[size];是不会在c语言出现的。
System.out.print(“…..”+变量);也是使初学者不适的一点,但仅仅是将变量、表达式或常数与前面的字符串连在一起;信号我已经提前看过,所以感觉还可以。
至于表达式、运算符,就是在位运算符上有点小纠结,因为涉及的是二进制数的问题。尤其是在“^”,以前只是知道是个几次方的标志,现在成了按位异或运算,至于它C#老师上课讲了一个挺好的例子,(位运算java、C#差不多)引例是怎样处理两个数值交换问题,还是有引入一个中间变量,再就是在来回赋值上下功夫,问题是形式参数变化不会引起实参的变化问题。老师提供了一种新的算法:
{
int a = 10, b = 20;
a = a + b;
b = a – b;
a = a – b;
}
仔细体会确实实现了交换值的问题,但老师也提到可读性、容易报出异常问题。所以又换了:
{
int a = 10, b = 20;
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
具体是通过二进制运算算出来的:
10的八位二进制数是:0000 1010
20的八位二进制数是:0001 0100
所以
a = a ^ b
a = 0000 1010 ^ 0001 0100
a = 0001 1110
b = a ^ b
b = 0001 1110 ^ 0001 0100
b = 0000 1010
a = a ^ b
a = 0001 1110 ^ 0000 1010
a = 0001 0100
确实有趣,既理解了怎样运算,还多了一种处理问题的方法。