JAVA简学重点复习之路

简介: JAVA简学重点复习之路

一、 Java语言的历史

1、 了解java语言:建立在C++基础之上,java的优点是面向对象、跨平台、不使用指针等;缺点有速度慢等。

2、 Java的应用领域:Web应用、java移动开发等。

3、 Java的语言的发展过程:1998年JDK1.2发布等。

4、 和java相关几件事情:SUN公司、Oracle公司、JDK、JRE、JVM、JavaSE、javaME、javaEE、Eclipse、java和咖啡的关系、java和Android的关系。

二、 java语言的特点及平台的划分

1、 特点:简单高效、面向对象、跨平台(java源码、java字节码、JVM虚拟机、操作系统、一次编译到处运行、java跨平台但java虚拟机不跨平台)、交互式特性(网络特性比如支持TCP/IP协议、socket等)、多线程机制(轻量级)、动态的内存管理(java自动销毁释放内存、轮询机制)、安全性(异常处理)。

java跨平台但java虚拟机不跨平台解释图

java平台划分图(java ME版本目前不常用)

三、 开发环境的搭建(简单,百度即可)

1、 下载JDK(JDK包括JRE)。

2、 安装JDK。

3、 配置环境变量(安装后的jdk目录中bin是指二进制可执行文件其中最重要的是javac.exe是将java源码编译成java字节码,java.exe是将java字节码翻译执行;include是包含的头文件;lib是有jar包)。

注意:配置环境变量是指配置系统变量的path是为了实现直接在C盘寻找不到之后到path路径寻找jdk。

4、 测试安装。

四、第一个java程序(cmd运行,过程比较麻烦)

1、 编写java程序(注意:大小写敏感、命名规范(关键字)、源文件名和类名相同、主方法入口)

java程序简单解释

2、 编译java程序 javac 源文件.java

3、 运行java程序 java 类

五、 开发工具Eclipse(简单方便)

1、 点击浏览下载安装Eclipse教程

2、 Eclipse界面纵览(菜单栏、工具栏、视图、透视图、工作空间、首选项)

3、 创建java项目

4、 常用快捷键(ctrl+/表示选择的内容都//注释掉)

5、 项目调试(设置断点然后调试debug)

Java语言核心技术学习

一、 java基础语法

1、 掌握java基础语法:

  1. 了解内存和变量(程序=输入+处理+输出;变量三要素有数据类型、名称和取值;变量分为局部变量、实例变量和类变量)
  2. 了解标识符(给类、变量、方法、接口起的名字,命名规则是必须以大小写英文字母、美元符或者下划线开始,关键字不能作标识符、大小写敏感,驼峰命名法分为类名和接口名(比如MyTest)以及变量和方法名(比如testId))和常量名(DAY_DAY_UP)
  3. 了解关键字
  4. 描述java语法特殊单词

描述java语法特殊单词

  1. 掌握类和对象(类、对象、方法、属性)举例解释:类假如是汽车模型(是抽象的),对象就是类的实例化也就是具体一辆车,类的方法就是汽车的功能,类的属性就是相当于汽车配件,因此类的对象可以引用调用类的属性和方法。

2、掌握java基本数据类型(四类:布尔类型、整型、字符型、浮点型)

  1. 了解java基本数据类型

基本数据类型

  1. Java数据类型转换
    自动转换:范围小可以转换成包含范围小的大的类型,比如整数类型转换成double类型。注意:byte不可以转换成char类型,因为范围不属于包含关系;int类型赋值给float有很大风险,因为范围也不完全属于包含关系。
    强制转换:目标类型 变量名 = (目标类型)值,缺点:大范围转小范围时容易造成数据丢失。注意:表达式类型自动提升比如byte类型变量相加时会自动转换为int类型,这时候就需要进行强制转换。
  2. Java数据类型实例
    基本数据类型的封装类有MIN_VALUE、MAX_VALUE、SIZE,可以用基本数据类直接调用其封装类,比如Byte.MIN_VALUE、Long.MAX_VALUE等

3、 掌握java运算符和表达式(表达式的执行顺序一般情况下从左到右,但也要注意优先级比如括号)

  1. 算术运算(+ - * / %)注意:Math.random()可以是随机0-1之间的数;除数不能为零;操作符%进行运算时,运算结果取决于%左边的数的符号(正或者负)
  2. 关系运算(> >= < <= == !=)关系运算的结果是布尔数据类型
  3. 逻辑运算(& | ! && ||)注意&&是短路与,前面表达式条件不成立后面的表达式不再计算;||是短路或,前面表达式条件成立后面的表达式不再计算,否则继续执行判断后面的表达式
  4. 赋值运算(= += -= *= /= %= ++ --)注意:自增自减式注意前缀后缀式的区别,前缀是先执行自增自减在进行其他操作比如赋值,后缀是后执行自增自减
  5. 条件运算(三元运算 a?b:c)表达式a成立则执行b,否则执行c

4、 掌握java字符串和数组

  1. 字符串简介:在java中属于对象,提供String类来创建操作字符串,创建字符串可以通过直接赋值(=)创造或者使用构造函数创建(实例化比如new String(“字符串“));也可以获取字符串长度(for循环可以使用字符串调用它自带的length()方法)
  2. 字符串连接(两种方法分别是:字符串a+字符串b;字符串a.contact(字符串b))
  3. 字符串格式化(比如String.format(“%s,%d,%s“,字符串a,整型b,字符串c),可以有%c %d %f %b %s等这些类型作格式化)注意b是布尔,s是字符串,%.xf是指保留x位的浮点型数据,空字符是’\u0000’
  4. 字符串常用方法(charAt(x)输出在x位置的字符,x从0开始取值 length字符长度 substring(a,b)只取字符串a到b-1,其它截取掉,注意空格也要算进去一个字符 trim去掉字符串两边的空格 indexOf某一字符或字符串的索引位置等同于查找,从前往后找,找到就立即停止查找并返回查找的第一个字符的位置数值)字符串的位置都是从0开始
  5. Java数组简介(概念和特性,数组大小固定,访问大写长度用:数组名.length;保存的数据类型相同;数组的声明,数组没有赋值则默认为零;数组的初始化比如int[] arr={1,2,3};或者int[] arrs = new int[10];arr[0]=1;arr[1]=2;arr[2]=3;)数组的位置也是从0开始
  6. Java多维数组(比如二维数组:int[][] arr = new int[a][b])
  7. 数组的使用(访问遍历数组,for each循环)比如:int[] arr = {1,2,3}; for(int i:arr){System.out.println(i);}或者String[] arr = {“ar”, “xr”, “nb”}; for(String i:arr){System.out.println(i);}数组值可以作为参数传递
  8. Arrays工具类(算法工具进行排序查找,比如sort正序排序:int[] arr = {1,5,4,6,9,3};Arrays.sort(arr);和binarySearch二分查找:int[] arr = {1,5,4,6,9,3};int indexs = Arrays.binarySearch(arr,6);则indexs输出的值为3)

5、 掌握java流程控制

  1. 程序的执行顺序:java从入口程序main开始执行,然后至上而下顺序执行,若遇到方法调用,则程序跳转到方法内继续顺序执行
  2. Java循环:for/for each;while/do while;break/continue关键字。注意:break语句出现在嵌套循环中的内存循环时,要跳出外层循环则需要在外层循环添加标记,比如itcast:for(){ for(){ break itcast; } }
  3. Java分支:if else;if else if else if else;switch() case break case break default break。

6、 掌握java面向对象(类、对象、继承、多态)

  1. 类和对象(类和对象、构造方法(系统会定义默认构造方法,没有返回值,名称必须和类名相同,可以自己设定构造方法)、类变量(又称静态变量用static定义所有对象共享同一个,类和对象都可以直接调用访问)和实例变量(类实例化成对象再调用访问)、类方法(又称静态方法用static定义所有对象共享同一个,类和对象都可以直接调用访问)和实例方法(类实例化成对象再调用访问)、this关键字(是一个指代对象,当前对象是谁this就指的是,一般在构造方法中使用))注意:内部类(类中类)和匿名内部类
  2. Java接口(定义接口(interface进行定义,接口的方法必须是抽象的空方法比如public void eat();,不能直接实例化,可以更好的实现程序的抽象过程)、实现接口(用implements进行实现接口,都必须实现接口所有的抽象方法,一个类可以实现多个接口,用“,”隔开比如:class flyfish implements bird,fish{…})、接口继承(用extends继承接口,一个接口也可以通过extends继承多个接口,用“,”隔开;同时extends继承接口,也继承了接口的抽象方法比如:定义一个接口a,interface b extends a{…},b则也有a的抽象方法))
  3. java提供一个关键字instanceof,用来判断对象是否为某个类(或接口)的实例或者子类的实例,采用格式:对象(或者对象引用变量) instanceof 类(或者接口)。
  4. Java继承(继承语法,用extends继承,分父类和子类,子类继承可以继承父类除private以外的所有的方法和属性;方法覆盖,子类继承父类方法的基础上可以重新覆盖父类的方法;方法重载,在同一个类里面,就是方法名一样但是参数的个数或者参数的数据类型不同,包括该类的构造方法;super关键字,指的是父类的引用,可以引用父类的任何方法和变量,用super调用父类构造方法时只能一次且必须在子类构造方法的第一行)注意:Object是java中的顶级父类;final修饰的类不能被继承、修饰的方法不能被子类重写覆盖、修饰的变量是常量只能赋值一次。
  5. Java多态(java多态概念,一个方法有多个状态,既有扩展性;向上类型转换;方法的动态绑定,用父类定义传递的参数类型)注意:一个父类可以有多个子类,一个子类只能有一个父类。

7、 掌握java集合框架(比如SpringBoot等)

8、 Java中的异常(Error和Exception两种,其中Exception可以进行异常处理:try{…}catch (Exception e ){ … }finally{…},finally中的语句一定会执行包括catch中有return语句,但除System.exit(0)以外;throws Exception将异常不断抛出可以直到虚拟机,程序停止运行)

9、 Java中的包采用import导入,一般java提供的包有:java.lang(核心包)、java.util、java.net、java.io、java.awt等

10、 访问控制总结:private局限类->default局限包->protected局限包及子类->public公共

11、 Scanner类是java中主流获取命令行输入的方法(Scanner scanner = new Scanner(system.in); int a = scanner.nextInt(); )

12、 Java多线程:cpu运行一个程序,一个程序(进程)可执行多条线程。

Java核心应用

一、了解java桌面应用(目前使用不多)

1、 了解java桌面应用(AWT;Swing)

点击打开java桌面应用之开发数据库课设之学生信息管理系统

2、 AWT演示(不能实现跨平台,目前使用不多)

3、 Swing演示(可以实现跨平台)

二、了解java web应用(常使用)

1、点击浏览下载Eclipse企业版教程

2、点击浏览下载Tomcat教程

3、在Eclipse中配置Tomcat

4、配置Web应用之下载安装Eclipse中 Spring Tool 插件 Spring IDE-STS

5、JDBC和MYSQL的应用之开发学生成绩管理系统

三、了解java移动开发应用

1、配置Android开发环境(下载安装Android Studio;配置SDK;配置模拟器)

2、开发Android App应用之简单新闻客户端APP设计

Java的行业前景

一、 了解java的行业前景

1、 编程语言排行榜

2、 Java技术栈(Java企业级开发是主要的工作)

PS:以上内容均为自己总结,一为自己重点复习,二为新手入门简单学习了解java,因本人水平有限,若大家发现任何问题或者疑问可以直接在评论中提出,欢迎各位大佬指教。


相关文章
|
5G 网络架构
计算机网络与技术——物理层
物理层是计算机网络OSI模型中最低的一层,它规定了为传输数据所需要的物理链路的创建、维持、拆除,以及提供具有机械的、电子的、功能的和规范的特性。物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒体。物理层的主要任务是为数据传输提供可靠的环境,它为设备之间的数据通信提供传输媒体及互连设备,确保原始的数据可在各种物理媒体上传输。物理层的基本概念包括物理层的作用、物理层的主要任务、数据在传输媒体上的传输方式等。用于物理层的协议也常称为物理层规程(procedure),其实物理层规程就是物理层协议。
计算机网络与技术——物理层
|
SQL 关系型数据库 MySQL
10倍性能提升!一文读懂AnalyticDB MySQL秒级漏斗分析函数
营销域中的洞察分析/智能圈人/经营报表等场景是OLAP分析型数据库的重要应用场景,云原生数据仓库AnalyticDB MySQL在淘宝、饿了么、菜鸟、优酷、盒马等业务的营销场景有比较长时间的积累和沉淀,我们将通过一系列文章来介绍AnalyticDB MySQL在营销域数据产品中的落地与应用,本文主要介绍“漏斗分析”的实现与应用。
|
10月前
|
机器学习/深度学习 边缘计算 算法
NOMA和OFDMA优化算法分析
NOMA和OFDMA优化算法分析
481 127
|
机器学习/深度学习 自动驾驶 人机交互
深度学习之虚拟人类行为模拟
基于深度学习的虚拟人类行为模拟是指使用深度学习技术来模仿和预测虚拟环境中人类的行为,从而创建逼真的、智能化的虚拟角色。
406 4
|
Windows 移动开发 Linux
换行符 '\n' 和 回车符 '\r' 的区别?
顾名思义: 换行符就是另起一新行,光标在新行的开头; 回车符就是光标回到一旧行的开头;(即光标目前所在的行为旧行) ----------------------------------------------------------------------------- 所以我们平时编写文件的回车符(即:回车键 )应该确切来说叫做回车式的换行符。
2408 0
|
文字识别 算法 计算机视觉
[笔记]OpenCV+FFmpeg+Qt实现视频编辑器之OpenCV图像处理
[笔记]OpenCV+FFmpeg+Qt实现视频编辑器之OpenCV图像处理
796 1
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
3737 2
|
XML 测试技术 Linux
性能测试之Locust(完整版)
性能测试之Locust(完整版)
4172 2
|
存储 Linux 缓存
linux文件系统初始化过程(4)---加载initrd(中)
一、目的     上文详细介绍了CPIO格式的initrd文件,本文从源代码角度分析加载并解析initrd文件的过程。     initrd文件和linux内核一般存储在磁盘空间中,在系统启动阶段由bootload负责把磁盘上的内核和initrd加载到指定的内存空间中;然后,再由内核读取和解析initrd文件,在VFS(目前只有rootfs的根目录)中新建目录、常规文件、符号链接文件以及特殊文件;这样VFS就从根目录"/"成长为一棵枝繁叶茂的大树了。
1313 0