这周,正式开始学习java,算是对java有了基本的认识。
java基础知识总结
1.java的数据类型分为基本数据类型和引用数据类型;
基本数据类型:内容存储在栈内存中,传递时传递栈内存中存储的值。
引用数据类型:内容存储在堆内存中,栈内存中存储了一个地址值,用来连接到堆内存;传递时传递栈内存中存储的地址。
基本数据类型分为:(1).数值型:
①整数型:byte;short;int;long;
②浮点型:float;double;
(2).char型;
(3).boolean型。
2.数据类型的转换:
(1):自动转换类型:
自动转换的条件:存储空间自低到高、类型兼容且目标类型大于源类型。
自动转换可能会占用额外内存。不利于程序效率的提高。
(2):强制转换类型:
需要在转换时,在源目标上加上(数据类型);
例如:float i=0;
int b=(int)i;
强制转换可能会造成数据精度的损失。
3.数据类型的存储方式:
(1):瞬时存储:
①:变量;
②:数组;
③:集合
(2):永久存储:
①:数据库;
②:文件。
4. 包装类可以把基本数据类型转换成引用数据类型,这个过程叫做装箱;
把引用数据类型转换成基本数据类型,这个过程叫做拆箱。
5. 流程控制语句用来控制程序中各种语句的执行顺序。
先初步了解了 选择结构:if-else语句;switch语句;
循环结构:for语句;while语句;
练习:
了解完基本知识,在做练习的过程中,理解了一些逻辑语言转换为的程序语言;
例如:冒泡排序,二分法。
冒泡排序:
for(int i=0; i1; i++){ for(int j=0; j 1-i; j++){ if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(int a:arr){ System.out.println(a); }
冒泡排序,可以实现基础的排序要求。
二分法:
int start = 0; // 默认起始坐标 int end = arr.length-1; // 默认结尾坐标 int index = -1; // 找不到默认index为-1 int num=0; while(start<=end){ int middle = (start+end)/2; // 计算中间下标 if(num == arr[middle]){ index = middle; break; } if(num > arr[middle]){ start = middle + 1; } if(num < arr[middle]){ end = middle - 1; } } System.out.println(index);
利用二分法可以实现快捷高效的查找需求。
另外还有程序语言的 寄存思想,分类思想等。希望以后随着学习的深入,我的逻辑能更加清晰。