javaSE 笔记,jdk + 标识符定义规则 + 短路逻辑运算符 + 方法重写+ StringBuilder + ArrayList

JRE和JDK的区别

JVM是支持java跨平台的一个"翻译",叫做java虚拟机,有了Windows版JVM就可以在Windows上运行java程序,MAC,Linux同理。
JRE 是 java 的运行时环境,所以运行java程序只需要JRE就行了,因为他包含JVM和运行时所需要的核心类库,JVM如上,安装JRE就能保证java程序的跨平台。
JDK 是开发包,包含JRE和开发人员使用的工具,包含编译工具(javac.exe)运行工具(java.exe),所以要开发java程序,必须装JDK。

Path环境变量配置

因为开发java程序,需要使用JDK提供的开发工具,这些工具在JDK的安装目录的bin目录下。其中javac和java这两个指令在jdk的bin文件下。使用这两个指令时为了避免带上复杂的路径,直接将bin文件路径放在Path环境变量下,可以一劳永逸。

HelloWorld 案例

开发java程序,分为三步:编写程序,编译程序,运行程序。编写程序可以用txt或者notepad,最后保存成HelloWorld.java。然后cd到文件路径下, 编译程序:dos中执行 javac 文件名.java 。 运行程序, java HelloWorld 。

数据类型

不同的数据类型分配了不同的内存空间。
byte->short->int->long-> float->double->char->boolean 分别占 1248 4821个字节。

变量使用的问题

当定义一个整数时,会默认为int类型,如果想要定义long 类型,得在后面加L, 例如 long l = 100000000000L
当定义浮点数时,默认为double类型,所以为了防止不兼容的类型,要在后面加f,例如float f = 13.14F

标识符定义规则

1.由数字、字母、下划线、美元符组成
2.不能以数字开头
3.不能是关键字
4.区分大小写
命名约定: 小驼峰 name firstName(针对方法和变量) 双驼峰 Student GoodStudent (针对类)

类型转换

只能从小范围类型转换成大范围类型,或者使用强制类型转换(大 转 小)

短路逻辑运算符

&&与& :左边为假,右边就不计算了
||与| :左边为真,右边就不计算了

三种循环

for while do..while
1.for和while是先执行,后判断。do..while是先判断,后执行。
2.for循环条件控制语句所控制的变量作用域只在for循环中,但是while的控制变量在while循环外还能继续使用。

跳转控制语句

continue:跳过某次循环体内容,继续下次执行
break : 跳出上个循环

IDEA内容辅助键

快速生成main()方法:psvm,回车
快速生成输出语句: sout,回车
内容提示,代码补全:Ctrl+Alt+Space
Ctrl+/ ,单行注释,再来一次,取消
Ctrl+Shift+/ 多行注释,同理
格式化:Ctrl+Alt+L 自动对齐等

方法重载

重载仅针对同一个类中的方法的名称与参数进行识别,与返回值无关, 即不能通过返回值来判定。仅与参数的数量与类型有关

方法重写

是在子类中对父类相同的方法进行重写,或者叫做覆盖,在那个方法的上面可以加上 @override 作为标注

成员变量和局部变量的区别

区别 成员变量 局部变量
类中位置 类中方法外 方法内或者方法声明
内存位置 堆内存 栈内存
生命周期 对象消失就消失 方法调用完就消失
初始化值 有默认值 无默认值

this关键字

看C++更容易懂,是一个常量指针。java中代表所在类的对象引用,方法被哪个对象调用,this就代表哪个对象。

封装

首先是利用private关键字能够实现将类的某些信息藏在类内部,不允许外部程序直接访问,只能通过类内的方法来控制,保证代码安全。
其次可以增加程序的复用性。

String和StringBuilder

当对字符串进行拼接的时候,都会构建一个String对象,耗时又浪费内存空间。比如
String s = "lcy";
s += "caiji";
在堆内存的常量池里会有"lcy" , "caiji", "lcycaiji"三个字符串。
我们可以用StringBuilder来解决这个问题,因为我们可以将其看成是一个容器,而StringBuilder的内容是可变的,他在做拼接的时候不会创建新的对象。
另外,StringBuilder相比于String多了reverse 和append方法,所以用StringBuilder会比较方便,之后再用toString转成String就可以了。

ArrayList

有点像C++的容器,里面可以存放任意类型的数据,比如类的对象,提供了一种存储空间可变的存储模型,存储的数据容量是可以发生改变的。font>
用法是ArrayList 表明存储的元素是Student类型的。尖括号里是任意类型,泛型。
ArrayList常用方法可以查api,最主要的有remove,set,get,size

学生管理系统

单独写一块,主要是记录一些需要重构的地方,原来写的太丑陋了。

posted @ 2021-08-17 09:14  Lanezzz  阅读(64)  评论(0)    收藏  举报