Java基础教程(史上最全图文详解)

Java基础教程(史上最全图文详解)-mikechen

Java环境安装

JDK环境变量配置图解(手把手教程5步成功)

Java工程师都是从JDK环境变量配置开始学习的,下面手把手教大家JDK环境变量配置,5大步骤就可以配置好了。

第一步:电脑右键属性

右击我的电脑–>属性,如下图所示:

Java基础教程(史上最全图文详解)-mikechen

 

第二步:高级系统设置

在打开的系统窗口中,在左侧找到高级系统设置选项并打开,如下图所示:

Java基础教程(史上最全图文详解)-mikechen

 

第三步:环境变量

弹出窗口中点击【环境变量】,如下图所示:

Java基础教程(史上最全图文详解)-mikechen

 

第四步:配置JAVA_HOME

新建系统环境变量,如下图所示:

Java基础教程(史上最全图文详解)-mikechen

变量名输入 JAVA_HOME,变量值就是在安装时选择的安装路径,到安装目录把地址复制一下,粘贴过来就好了,然后点击确定。

Java基础教程(史上最全图文详解)-mikechen

 

第五步:配置Path

接下来在系统环境变量中找到Path,选中,然后再点击编辑,在弹出的新窗口中点击新建,输入”%JAVA_HOME%\bin”,点击确定。

Java基础教程(史上最全图文详解)-mikechen

下面测试以下:打开CMD命令行窗口,输入”java -version”,如下图所示:

Java基础教程(史上最全图文详解)-mikechen

如果出现JDK的版本信息,说明JDK配置环境变量成功了,恭喜你可以开始你的Java之旅了。

 

Java基本数据类型

Java8大基本数据类型图文详解

Java语言提供了8种基本数据类型,分别是 byte、short、int、long、float、double、boolean、char。

如下图所示:

Java基础教程(史上最全图文详解)-mikechen

 

Java构造函数

Java构造函数详解(构造方法)

Java构造函数 是一种特殊的方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。

构造方法语法

声明格式:构造方法修饰词列表 类名(方法参数列表)

构造方法修饰词列表:publicprotectedprivate

  1. [修饰符列表] 构造方法名(形式参数列表) {
  2. 构造方法体;
  3. }

示例如下:

  1. //手动编写构造函数
  2. public class student{
  3.  
  4. private int age;
  5. private String name;
  6.  
  7. //无参构造函数
  8. public student(){}
  9.  
  10. //全参构造函数
  11. public student(int age, String name){
  12. this.age = age;
  13. this.name = name;
  14. }
  15. //部分参数构造函数
  16. public student(String name){
  17. this.name = name;
  18. }
  19. }

 

Java接口

Java接口(定义作用规范及实例详解)

接口英文称作interface,在软件工程中,接口泛指供别人调用的方法或者函数。

在Java中,定一个接口的形式如下:

  1. public interface 接口名 {
  2. // 声明变量
  3.  
  4. // 抽象方法
  5. }

接口无法被实例化,但是可以被实现,用implements表示,必须实现接口内所描述的所有方法。

用现实生活中的一个例子来说明,比如:大家最熟悉的支付场景,现在用的比较多的就是:微信和支付宝。

Java基础教程(史上最全图文详解)-mikechen

这样我们就可以先定义好支付的接口,如下所示:

  1. /**  
  2. * 支付接口
  3. * @author mikechen  
  4. * */
  5. public interface Pay {
  6. public String pay();
  7. }

下面微信和支付宝就可以分别去实现自己的实现类。

  1. /**  
  2. * 接口详解
  3. * @author mikechen  
  4. * */
  5. public interface Pay {
  6. public String pay();
  7. }
  8. /**
  9. * 支付宝支付
  10. */
  11. public class AliPay implements Pay {
  12. @Override
  13. public String pay() {
  14. System.out.println("支付宝pay");
  15. return "success";
  16. }
  17. }
  18. /**
  19. * 微信支付
  20. */
  21. public class WeixinPay implements Pay {
  22. @Override
  23. public String pay() {
  24. System.out.println("微信Pay");
  25. return "success";
  26. }
  27. }
  28.  
  29.  
  30. public static void main(String[] args) {
  31. /**
  32. * 支付宝应用
  33. */
  34. Pay pay = new AliPay();
  35. pay.pay();
  36.  
  37. /**
  38. * 微信支付应用
  39. */
  40. pay = new WeixinPay();
  41. pay.pay();
  42.  
  43. }

 

Java数组

Java数组(定义初始化及5大方法详解)

Java数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成,其中每一个数据称作一个数组元素。

每个数组元素可以通过一个下标来访问它们,具体如下图所示:

Java基础教程(史上最全图文详解)-mikechen

 

Java常量

Java常量(Java常量的定义与6种类型详解)

ava常量的定义是:用final修饰的量称为常量,并且在类编译时期载入类的常量池中。

常量举例:

  1. final int COUNT=10;
  2.  

采用接口(Interface)的中变量默认为static final的特性,示例如下:

  1. public interface ConstantInterface {
  2. String SUNDAY = "SUNDAY";
  3. String MONDAY = "MONDAY";
  4. String TUESDAY = "TUESDAY";
  5. String WEDNESDAY = "WEDNESDAY";
  6. String THURSDAY = "THURSDAY";
  7. String FRIDAY = "FRIDAY";
  8. String SATURDAY = "SATURDAY";
  9. }

 

Java枚举

Java枚举类的5种用法详解

Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。

举类常应用于 switch 语句中:

  1. enum Color
  2. {
  3. RED, GREEN, BLUE;
  4. }
  5. public class MyClass {
  6. public static void main(String[] args) {
  7. Color myVar = Color.BLUE;
  8. switch(myVar) {
  9. case RED:
  10. System.out.println("红色");
  11. break;
  12. case GREEN:
  13. System.out.println("绿色");
  14. break;
  15. case BLUE:
  16. System.out.println("蓝色");
  17. break;
  18. }
  19. }
  20. }

执行以上代码输出结果为:

蓝色

 

Java switch case

Java switch case用法详解

Java Switch语句是多路分支语句,它提供了一种简单的方法,可以用于替换if else。

Switch语法格式如下所示:

  1. switch(表达式){
  2.  
  3. case 常量值 1:
  4.  
  5. 语句块1
  6.  
  7. [break;]
  8.  
  9. ......
  10.  
  11. case 常量值 n:
  12.  
  13. 语句块n
  14.  
  15. [break;]
  16.  
  17. deafault:
  18.  
  19. 语句块 n+1;
  20.  
  21. [break;]
  22.  
  23. }

输入星期数,显示今天的运动项目,周一跑步、周二游泳、 周三慢走、 周四单车、 周五爬山、周六拳击、周日休息。

  1. // switch 进行匹配
  2. switch (str){
  3. case "周一":
  4. System.out.println("跑步");
  5. bool = false;
  6. break;
  7. case "周二":
  8. System.out.println("游泳");
  9. bool = false;
  10. break;
  11. case "周三":
  12. System.out.println("慢走");
  13. bool = false;
  14. break;
  15. case "周四":
  16. System.out.println("骑自行车");
  17. bool = false;
  18. break;
  19. case "周五":
  20. System.out.println("爬山");
  21. bool = false;
  22. break;
  23. case "周六":
  24. System.out.println("拳击");
  25. bool = false;
  26. break;
  27. case "周日":
  28. System.out.println("休息");
  29. bool = false;
  30. break;
  31. default :
  32. System.out.println("请按格式输入星期数,如:周一");
  33. break;
  34. }

 

Java三目运算

Java三目运算符(语法与使用案例详解)

三目元算符又称为三元运算符也称为条件运算符,目的就是根据条件得到数据结果。

Java三目运算格式:

  1. result = <expression> ? <statement1> : <statement3>;

其中,expression 是一个布尔表达式,当 expression 为真时,执行 statement1, 否则就执行 statement3。

判断年龄,代码如下:

  1. int age = 56;
  2. System.out.println(age<18?"未成年":age>55?"老年":"青年");

Java泛型

Java泛型详解,史上最全图文详解!

泛型在java中有很重要的地位,无论是开源框架还是JDK源码都能看到它。

泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。

Java基础教程(史上最全图文详解)-mikechen

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

Java基础教程(史上最全图文详解)-mikechen

 

Java异常

Java异常处理详解(非常详细)

在Java程序设计中,Java异常处理是非常关键和重要的一部分,程序异常处理的好坏直接影响到整个代码质量。

Java 所有的异常都是从Throwable继承而来的,其下有2个子接口,Error和Exception。

Java基础教程(史上最全图文详解)-mikechen

1.Error

Error是无法处理的异常,比如OutOfMemoryError,一般发生这种异常,JVM会选择终止程序,因此我们编写程序时不需要关心这类异常。

2.Exception

Exception,是另外一个非常重要的异常子类,比如NullPointerException、IndexOutOfBoundsException、ClassCastException,这些异常是我们可以处理的异常。

3.Error和Exception的区别

异常和错误的区别是,异常是可以被处理的,而错误是没法处理的。

Java面向对象

Java面向对象之所以使程序设计更加完善和强大,主要是因为面向对象具有继承、封装和多态 3 个核心特性。

Java面向对象:三大特性图文详解

 

Java继承

Java继承图解(5大特点与实现例子详解)

继承性是面向对象的第二大主要特征,继承就是子类继承父类的特征和行为,使得子类对象具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

现实中的例子:狗和猫都是动物,如果将狗、猫作为类,它们可以继承动物类很多的共同特性和行为。

Java基础教程(史上最全图文详解)-mikechen

 

Java封装

Java封装(定义作用及示例详解)

Java封装从字面上来理解就是包装的意思,是将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。

使用封装有四大好处:

1、高内聚:封装细节,便于修改内部代码,提高可维护性;

2、低耦合:简化外部调用,便于调用者使用,便于扩展和协作;

3、安全性:提高代码的安全性,隐藏细节实现;

4、复用性:提高代码的复用性。

 

Java是使用“访问控制符”来控制哪些细节需要封装,类的访问控制符只能是空或者 public,方法和属性的访问控制符有 4 个,分别是 public、 private、protected 和 friendly。

访问控制修饰符的权限,如下表所示:

Java基础教程(史上最全图文详解)-mikechen

上图说明了面向对象的封装性,所以我们要利用它们尽可能的让访问权限降到最低,从而提高安全性。

 

Java多态

Java多态特征与3种实现方式详解

多态(Polymorphism)按字面的意思就是“多种状态”,在面向对象语言中,接口的多种不同的实现方式即为多态。

现实中的例子:举一个手机扫码支付的例子,二维码并不知道客户是通过何种方式进行支付,只有通过二维码后才能判断是走哪种支付方式执行对应流程。

Java基础教程(史上最全图文详解)-mikechen

  1. /**  
  2. * 面向对象:多态
  3. * @author mikechen  
  4. * */
  5. public abstract class Pay {
  6. abstract public String pay();
  7. }
  8. /**
  9. * 支付宝支付
  10. */
  11. public class AliPay extends Pay {
  12. @Override
  13. public String pay() {
  14. System.out.println("支付宝pay");
  15. return "success";
  16. }
  17. }
  18. /**
  19. * 微信支付
  20. */
  21. public class WeixinPay extends Pay {
  22. @Override
  23. public String pay() {
  24. System.out.println("微信Pay");
  25. return "success";
  26. }
  27. }
  28.  
  29.  
  30. public static void main(String[] args) {
  31. /**
  32. * 支付宝支付多态应用
  33. */
  34. Pay pay = new AliPay();
  35. pay.pay();
  36.  
  37. /**
  38. * 微信支付多态应用
  39. */
  40. pay = new WeixinPay();
  41. pay.pay();
  42.  
  43. }

 

Java抽象类

Java抽象类详解(超级详细)

在Java中abstract是抽象的意思,可以修饰类、成员方法,由abstract修饰的方法叫抽象方法,由abstract修饰的类叫抽象类。

Java抽象类的语法

1.抽象类语法

  1. 修饰符 abstract class 类名{
  2.  
  3. }

代码示例:

  1. //抽象类由abstract修饰
  2. public abstract class Student{
  3.  
  4. }

抽象方法的3个特征如下:

1、抽象方法没有方法体;

2、抽象方法必须存在于抽象类中;

3、子类重写父类时,必须重写父类所有的抽象方法。

 

评论交流
    说说你的看法
欢迎您,新朋友,感谢参与互动!