首页 > 技术文章 > JavaSE

FeiFei2002 2021-12-07 19:40 原文

***基本语法
一.初期第一阶段:

了解java语言:初期在想我能不能学会这门语言,包括现在也在怀疑,只是有在尽力学习。
学了一些简单的计算机快捷键和简单的CMD窗口
简单的计算机未来发展方向
了解了java的诞生:1995年诞生 java的诞生优化了c++语言更精简了一些
java老版本 JavaSE 核心也就是所谓的基础 JavaME 早期的安卓市场 JavaEE 服务端
2006年 大数据 Hadoop Hadoop本事就是Java写的

以上都是准备阶段的工作
-------------------------------------------------------
JDK:开发者工具包 配置环境变量

JRE:运行环境

以上都是入门阶段
-------------------------------------------------------

二.编译第一个HelloWorld第二阶段:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
java是大小写严格要求的
初期大小写不掌握各种编译报错和运行报错,知道现在闭眼都可以输出这段代码 也是这几个月对自己学习的一个回顾
java属于编译型语言和解释性语言
在这边才开始使用IDEA但是我没有更多的去接触cmd花了更多的时间去认识了IDEA包括现在的破解都是必须要掌握的知识


三.之后学习了基础的一些语法
首先学习了一些注释分为三种文档注释/** */ 可以跟一个javadoc一起使用生成帮助文档
多行注释/**/
行内注释//


四.然后是标识符:在标识符中学习的关键字所有关键字的地址:https://img-blog.csdnimg.cn/img_convert/a61df87644dd6386df5900266ff7a1aa.png

五.之后是一些数据类型:学习了一些基本数据类型:八大数据类型:int;boolean;double;float;byte;long;short;char
和引用数据类型:所有类都是引用引用数据:类,接口,数组


六.然后是类型转换:类型转换又分为两种一种是自动类型转换:低转高 也就是后来学习的子类转父类
另一种是强制类型转换:高转低 需要强制类型转换 格式为:(低)高

进制表示:Ob表示二进制 Ox表示十六进制 0(零)开头的就是八进制

七.变量和常量:定义变量格式:数据类型 变量名=值;
变量的作用域:类变量局部变量和实例变量
常量:格式:final MAX_A=10; 常量名字一般都是纯大写如果有多个单词时候就要用下划线_分割

命名规则:1.见名知意2.驼峰命名:一般用在类名和方法上。3.类名必须首字母大写。4.常量:常量名字一般都是纯大写如果有多个单词时候就要用下划线_分割5.不要使用拼音命名


八.运算符:1.算数运算符2.赋值运算符3.逻辑运算符4.关系运算符5.位运算6.条件运算符7.扩展运算符

九.包机制:域名倒写;package 包 import 导入包

十.javaDoc:JDK帮助文档
javadoc:@author:作者 @version:当前的版本 @since:当前java类最早能使用哪个版本 @param:参数 @return:返回 @throws:抛出的异常



**流程控制
一.流程控制:Scanner:用户交互System.in
顺序结构:程序默认的接口,自上而下的执行
选择结构:if单选择结构 if双选择结构:if——else if的多选择结构:if--else-if
也属于选择结构:Switch:JDK7以后支持了字符串也是就是支持了String类型 case穿透现象:不添加break程序就会继续往下执行
默认default:如果case中没有和Switch相符合的将执行default默认的值


二.循环结构:while:一进去循环就直接判断,尽量避免死循环
do while:进去循环先执行一次在判断
for:(int i=0;i<10;i++)
for each:
三:break&continue:break直接中断循环;continue只是跳过了这次 return:结束这次方法



**方法
一.什么是方法:一堆语句块的集合用它能做一些事情
二.方法的定义:格式:修饰符 返回值 方法名(参数名){方法体 return 返回值:}
三.方法调用.类名.方法 和 对象(对象就是new出来的).方法
四.方法的重载:方法名相同参数个数不同或者参数顺序不同或者参数类型不同
*方法的重写:方法名和参数类型都相同但是方法体中实现的东西不同
五.命令行传参:给main方法传递参数
六.可变长参数:...必须放在最后一个参数如果放在前面就会报错
七.递归:自己调用自己给自己一个出口就行


**数组
一.数组的定义:int[] a={1,2,3,};数组里面必须是同一个类型一个数组里面不能放下多个类型
二.数组的使用:通过下表拿到值,数组的起始下标为0,一般使用增强for循环遍历
三.二维数组:int[][]a={{1,2},{2,3}}
四.Arrays;工具类
五.排序算法:冒泡排序,选择排序,插入排序,快速排序,归并排序,希尔排序,堆排序,基数排序


***面向对象
一.什么是面向对象:生活中的任何事物都可以当成对象
二.类与对象:类是对象的抽象,对象是类的具体。类是模板也是class
三.构造方法:也学习了构造方法的重载 必须有一个构造方法,当你有有参构造方法时候无参方法就会消失,需要手动添加一个无参构造但是当你没有有参构造时候就会有一个默认的无参构造
四.new对象:栈指向堆,栈存放引用,堆存放具体的对象
五.封装:属性私有,方法公共
六.继承:extends,Object是java中最大的类,子类拥有父类的全部特性也就是方法属性都拥有
七.多态:条件:1.要有继承关系,2.子类要重写父类的方法,3.父类的引用指向子类的对象
instanceof 测试是否匹配,如果匹配可以进行类型之间转换
八.修饰符:public,protected private static abstract final
九.接口:interface 只能定义方法名 需要子类来实现 子类实现时候必须重写其中的方法 只有一个方法的接口叫做函数式接口
接口可以多继承 接口比抽象类更抽象
内部类:局部内部类 静态内部类 匿名内部类


**异常
一.最大的异常Throwable
二.Exception异常:分为运行时异常和编译时异常
三.Error错误:AWT错误和JVM虚拟机错误
四.五个关键字try{//要捕获的关键字}catch(//捕获什么异常){捕获到干什么}finally{捕获成功与否都会执行的} throw方法内部手动抛出异常throws方法抛出异常
五.catch规则:要先捕获小的异常在捕获大的不然直接捕获到大的异常小的异常将毫无意义
六.自定义在异常:直接继承Exception

推荐阅读