1.Java语言的特点
1.面向对象
-两大要素:类,对象
-三大特点:封装,继承,多态
2.健壮性
-去除了C语言中的指针
-自动垃圾回收机制(仍然有内存溢出,内存泄漏)
3.跨平台性
-一次编译,到处运行(windows,Linux,Mac,归功于jvm)
2.总结第一个程序
- java程序编写-编译-运行的过程
-编写:我们将编写的java代码保存在以".java"结尾的源文件中
-编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java
-运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名
在一个java源文件中可以声明多个class。但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
- 程序的入口是main()方法。格式是固定的。
- 输出语句:
System.out.println():先输出数据,然后换行
System.out.print():只输出数据
5.每一行执行语句都以";"结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。
3.JDK、JRE、JVM的关系
jvm是Java虚拟机(Java Virtual Machine)
jre是java运行环境(Java Runtime Environment),包括jvm和java的一些核心类库
jdk是Java开发工具包(Java Development Kit),包括jre和一些工具集
4.变量的分类
5.命名规范与规则
6.手写冒泡排序
冒泡排序就是两两相邻的比较,然后交换,每内循环一次,能排序出最大或者最小的值
int[] arr = new int[]{43,32,76,-98,0,64,33,-21,32,99};
//冒泡排序
for(int i = 0;i < arr.length - 1;i++){
for(int j = 0;j < arr.length - 1 - i;j++){
if(arr[j] > arr[j + 1]){
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
7.面向对象的理解——待补充
面向对象就是把事务抽象成一个对象,这个对象有自己的属性和方法,通过组合不同的对象调用自己的属性和方法,来实现功能。例如,举自动化测试的例子
https://zhuanlan.zhihu.com/p/75265007
8.属性和局部变量的异同
相同点:声明和赋值方式是相同的
不同点:
1.属性是声明在类中,局部变量是声明在方法,代码块等中间
2.属性可以加权限修饰符,如public等,局部变量不可以
3.属性有默认初始化值,局部变量没有,所以必须要赋值
4.属性是在堆空间中,局部变量是在栈空间
9.方法的重写和重载——待补充
方法的重载:同一个类中有同名的方法,只是形参类型或者形参个数不同(与返回值,方法体,权限修饰符等都没有关系)