生活感悟:进入小组学习大概一周,“上班感”越发明显,我倒是不讨厌 ,可能是因为个人也希望每天的生活可以忙碌起来、充实起来吧。因为每天都要到小组学习但又要兼顾其他事情,所以时间规划上面我多多少少有些进步。学Java也已经一周,通过按部就班的学习,我从最基础的认识Java,到后面的数组学习,原本接触过C++的我的心态发生了轻心——重视的转变。c++与java虽然语法有共通点,但并不代表二者相同。即使课程中有些与C++相同的练习,我也会认真的敲好每一段代码。总之,我不算讨厌这样的节奏,比起之前的被动学习,能够主动去提升自己,让我对Java的学习充满了动力。
本周成果:
1.了解到了什么是JDK(程序开发工具包)JRE(Java运行环境) 还有JVM(Java虚拟机)。
小插曲:在第一天设置好环境变量后我通过控制台发现我Java版本与Javac版本有出入,最后通过学长帮助解决了问题。而出现这种情况则是我看了两个不同的Java入门教程给予的环境变量设置造成的。经过这件事我明白了要坚持一个目标一以贯之,不做墙头草 。
2.Hello World
通过对“hello word”这个经典代码的再次书写,打开了我认识Java编程体系的大门。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
3.学习了8种基本数据类型
整型 byte,short,int,long;
浮点型 float,double;
字符型 cher;
布尔型 boolean(只输出true/false)。
ps:1.如果要定义long或float类型 要在数后面加L/l,F/f;
2.byte short char在运算时会先提升为int 再运算;
3.不能将范围大的类型赋值给范围小的;
4.范围-> byte<short<int<long<float<double。
4.复习了各种运算符(赋值、关系、逻辑)的用法
| 优先级 | 运算符类别 | 运算符 | 结合性 | 说明 |
|---|---|---|---|---|
| 1 | 括号运算符 | () [] . | 左到右 | 最高优先级 |
| 2 | 单目运算符 | ++ -- ~ ! (类型) +(正) -(负) | 右到左 | 自增、自减、逻辑非、类型转换等 |
| 3 | 算术运算符(乘除) | * / % | 左到右 | 乘法、除法、取模 |
| 4 | 算术运算符(加减) | + - | 左到右 | 加法、减法 |
| 5 | 移位运算符 | << >> >>> | 左到右 | 左移、右移、无符号右移 |
| 6 | 关系运算符 | < <= > >= instanceof | 左到右 | 大小比较、类型判断 |
| 7 | 相等运算符 | == != | 左到右 | 相等性比较 |
| 8 | 位与 | & | 左到右 | 按位与 |
| 9 | 位异或 | ^ | 左到右 | 按位异或 |
| 10 | 位或 | | | 左到右 | 按位或1 |
| 11 | 逻辑与 | && | 左到右 | 短路与 |
| 12 | 逻辑或 | || | 左到右 | 短路或 |
| 13 | 条件运算符 | ? : | 右到左 | 三目运算符 |
| 14 | 赋值运算符 | = += -= *= /= %= &= |= ^= <<= >>= >>>= | 右到左 | 最低优先级 |
5.学习了顺序结构、判断结构与循环结构在Java中的用法与C++用法大同小异。
6.学习了数组的使用,认识到了遍历的用法。
public class bus{
public static void main(String[]args){
int [] arr={1,2,3,4,5,};
int m=0;
for(int i=0;i<arr.length/2;i++){
int temp=arr[i];
arr[i] =arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
}
并认识了栈内存与堆内存
栈内存含义
栈内存主要用于存储方法调用的栈帧和局部变量。每个线程都有自己独立的栈空间。
存储内容
局部变量:基本数据类型变量(如int、boolean等)
对象引用:指向堆内存中对象的引用变量(地址)
方法调用信息:包括方法参数、返回地址等
堆内存含义
堆内存是所有线程共享的内存区域,用于存储对象实例和数组。
存储内容
对象实例:通过new关键字创建的对象
数组:各种类型的数组对象
成员变量:类的实例变量(包括基本类型)
小结:每一个代码的练习都是对代码熟练度的巩固,也是对学过知识回顾的重要参考。而我为了省去写代码的时间把所有练习放到了同一文件里(即完成一段练习后直接删掉内容,只留下class与main),这多少导致了我在对一些知识模糊后需要重新找资料复习,增加了学习时间上的成本。
684






