title: java入门
date: 2019-07-21 19:50:19
tags: java学习
top: 1

JAVASE学习


1.java入门

More info: Writing //超链接

2.java开发环境配置

第一步是配置本地开发环境,学习最基本的桌面开发,下面以win10为例配置Java开发环境,即:JDK+JRE+idea,安装JDK的时候会默认安装JRE,根据提示安装就可以了。
首先去官网下载适合系统版本的JDK,下载地址:JDK下载-官网选择版本后点击Download,这里下载的JDK8,然后一直下一步,路径默认最好(记住路径后面要用);

[外链图片转存失败(img-xjKkZKy3-1564822527659)(/C:\Users\薛艳春\Desktop\4.jpg “Optional title”)]
JDK安装完成后配置环境变量

    1. 右键我的电脑-属性-搞基系统设置-高级-环境变量2.在系统变量栏-新建变量名输入:JAVA_HOME变量值为你的安装路径,我这里填:C:\Program Files\Java\jdk1.8.0_45(这是默认路径,直接复制可能版本不同,文件名不同)然后单击"确定"按钮。3.同样操作我们新建变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar(此处可以直接复制粘贴过去用,别忘了最前面的".")4.找到Path选项,这个已经存在(**不要自己创建**),单击"编辑",在最后输入:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin5.现在设置完毕,最后单击"确定"保存所有设置,然后再次单击"确定"退出系统属性。6.测试一下,运行cmd,分别输入:java -version,java,javac可以看到结果说明JDK安装并配置完毕。

3.java基础语法

java基础语法学习详情见菜鸟教程 跟着学习,一定要自己敲,别复制粘贴,多敲代码

4.java流程控制

4.1选择结构1if-else(选择结构学习)


4.1.1 条件语句 - if…else

一个 if 语句包含一个布尔表达式和一条或多条语句。

语法:

if(布尔表达式)
{//如果布尔表达式为true将执行的语句
}

如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

4.1.2 if…else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法如下:

if…else 的用法如下:if(布尔表达式){//如果布尔表达式的值为true
}else{//如果布尔表达式的值为false
}
4.1.3 if…else if…else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
语法

if…else 语法格式如下:

if(布尔表达式 1){//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){//如果布尔表达式 3的值为true执行代码
}else {//如果以上布尔表达式都不为true执行代码
}

#####4.1.4 嵌套的 if…else 语句

使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

语法
嵌套的 if…else 语法格式如下:

if(布尔表达式 1){如果布尔表达式 1的值为true执行代码if(布尔表达式 2){如果布尔表达式 2的值为true执行代码}
}你可以像 if 语句一样嵌套 else if...else。

下面链接都是来自菜鸟教程


4.2选择结构2 switch case 语句

4.3循环结构 - for, while 及 do…while

5.面向对象

5.1 --[继承]

5.2重写(Override)与重载(Overload)


5.3多态

多态:(父类引用指向子类对象)
向上转型:Animal am = new Cat(); 从父类的角度思考,只有继承后的子类方法才 可以使用,并且是使用的子类的

向下转型:Cat ct = (Cat)am; 从子类的角度思考,自己有的调用自己的,自己没有 的继承父类的方法来用;


5.4抽象类 abstract修饰

1.抽象类是父类,子类必须实现抽象类的抽象方法,子类不想实现父类抽象方法的话,必须把子类设置成抽象方法(用abstract修饰)也就是:抽象类的子类1.要么是抽象类,要么重写抽象类的所有抽象方法。
2.(不可以用final修饰,需要依赖子类去创建对象(final与abstract是不共存的))

5.5封装

####5.6 –接口
接口的方法默认是abstract public的,JDK8以后可以有用default和static修饰的方法并且可以不用子类实现(重写)。
接口定义的成员变量只能是常量,默认用public static final 修饰的。
用子类实例化接口,对象不能调用接口的静态方法.

####5.7 –包package

6.常用API

6.1 API 1.6中英文百度云连接-点击打开 密码:q7mc

6.2 object类:

类层次结构的根类,所有类都直接或间接继承object类,(自己创建的类也默认继承object)
6.2.3 成员方法:
public int hasCode(); 根据地址值经过一系列运算得到一个int值,hashCode值不同,代表他们
肯定不是同一个对象,hashCode相同,也不一定是相同对象,hashCode方法要配合equls方法使用,来
判断两个对象是否是同一个对象,hashCode方法效率高,运行快。public final Class getClass(); 返回Class对象,字节码对象,通过该对象可以获得类中的所有信息。public String toString(); 返回String类型,默认的实现方式是全类名@地址值,如果不满意,可以重
写String类就重写了object的toString();public bolean equals(Object obj);  1指示其他某个对象是否与此对象“相等”,默认的实现方式是==
==:比较基本数据类型的时候,比较的是值是否相等。:比较的引用类型的时候,比较的是地址值。(引用类型有:Class,数组,abstract)如果不想比较对象的地址值,而且认为如果两个对象的属性值相同,可以重写equals()方法,让他比较的是属性值,一般equals和hashCode是一对,重写的时候一定要重写hashCode(右键-source-geberate equals and hashCode)protected Object clone();  创建并返回此对象的一个副本,这种克隆机制十分高效,而二者之间完全隔
离。自定义类实现克隆步骤:
A:自定义类实现Cloneable接口,使其具备克隆的能力,否则会产生不支持克隆的异常
B:自定义类中重写Object类的clone()方法,将其写成public修饰的,方便在外部使用。
C:重写clone()方法时通过suoer.clone()调用Object类的clone()方法来得到该对象的副本,并回该副本
(此时会产生一个异常,直接向上抛出,抛出后在main方法里也会产生异常,继续向上抛,会抛给jvm处理)
D:可以在外部类中,使用对象调用clone()方法产生一个object类型的副本,可以通过instanceof来判断该
副本的类型。
E:使用clone产生的副本和原来的地址是不同的
F:使用clone产生的副本,是一个浅拷贝:原本中引用数据类型和副本中的引用数据类型的地址值相同。

6.3 Scanner类(用于获取用户键盘输入)

6.3.1 成员方法
nextXxx(); 获取下一个输入项。Xxx可以是int,Double。nextLine()可以接收到用户输入的回车空格
等字符。hashNextXxx();判断是否还有下一个输入项目其中Xxx可以是int,Double等,如果需要判断是否包含下一
个字符串,可以省略Xxx。默认情况下,Scanner使用回车或者空格作为结束标记。也可以使用useDelimiter()方法进行修改。括号里
加上结束标记符。

6.4 String类

6.4.1 构造方法:
public String();
public String(byte[] bytes);
public String(byte[] bytes,int offset,int length)
public String(char[] value);
public String(char[] value,int offset,int count);
public String(String original);
6.4.2 成员方法
.1 String的内存图

.2 判断功能
boolean equals(Object obg) 比较字符串的内容boolean equalsIgnoreCass(String str) 忽略大小写比较字符串的内容(验证码)boolean contains(String str) 是否包含boolean startsWith(String str) 是否以。。。开头boolean endsWith(String str) 是否以。。。结尾boolean isEmpty() 是否是空串
.3 获取功能
int length(); 获取字符串的长度char charAt(int index) 返回索引所对应的字符int indexOf(int ch) 返回 ch所代表的第一次字符,出现的索引值,如果不存在则返回-1 int indexOf(String str) 返回参数字符串第一次出现的索引值,没有返回-1int indexOf(int ch,int fromIndex) 返回字符从fromIndex之后第一次出现的索引值,不存在返回-1String substring(int start)  字符串的截取,从start到最后,包含startString substring(int start,int end) 字符串截取,从start到end包含start,不包含end。
.4 转换功能

.5 替换功能

.6 StringBuffer (线程安全的可变字符序列)(StringBuilder是线程不安全的)
我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可
以解决。








StringBuffer与String的相互转换:StringBuffer 和String的相互转换:

StringBuffer 转成String:

 toString();

String 转StringBuffer:用构造方法

new StringBuffer(String s);




7.集合 –集合框架

7.1 概述:面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,JAVA就提供了集合类

7.2 数组与集合的区别 :

①数组虽然也可以存储对象,但是长度是固定的;集合长度是可变的。
②数组中可以存储基本数据类型,集合只能存储对象。

7.3 特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。

7.4 Java中集合类的关系图(牢记心中)

 ![“集合类的关系图”](/images/集合类的关系图.png)

7.5 Hash表

8.IO流 –IO流-JAVA流-文件(File)

9.多线程 –多线程编程

10.反射

11.java综合编程实践

(电影评分系统统计、归属地查询统计、分布式案例等)

JAVA-入门(内含jdk配置)相关推荐

  1. 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置

    1.课程名称:Java发展及JDK配置 本季介绍了JAVA的发展过程,包括JDK的发展历程,path路径的配置和classpath的配置及作用.并简单讲解了一个简单的JAVA程序,并通过此程序讲解了J ...

  2. java默认virtual_mac jdk配置(系统默认or自己配置)

    1.首先,mac中自带jdk配置,具体查看命令如下: MacBook-Pro:JavaVirtualMachines root$ whereis java /usr/bin/java MacBook- ...

  3. Java入门第一步---配置环境、安装工具(超级详细)

    这个入门是我觉得真的非常适合初学者,感谢沉默王二 的引导!还有众多前行者的指导!! 文章有点长,内容丰富详细才长. 目录 一.下载.安装 JDK(Java开发工具包),配置 Java 开发环境 1.J ...

  4. Java入门:JDK与Eclipse之类的集成开发工具的关系

    JDK是Java Development Kit,也就是说Java开发所需的工具包.有了这个东西,一切Java开发理论上都不是问题了.当然,根据你下载的版本不同,可能擅长的领域不同.通常大家都是用JD ...

  5. JAVA入门[23]-SpringBoot配置Swagger2

    一.新建SpringBoot站点 1.新建module,然后引入pom依赖: <parent><groupId>org.springframework.boot</gro ...

  6. JAVA JDK配置

    今天是在北邮的第13天了啊. 上周上课过得是真的煎熬. 这周每天到实验室来日子还算可以. 有了自己的工作机,配置了JAVA环境. JDK配置后,命令行-Java -javac验证环境变量是否正确. 出 ...

  7. Day 02|11-1:预料部分和java入门

    1.预料部分 快捷键: Ctrl+x:剪切 Ctrl+c:保存 Shift+del: 永久删除 win+d: 回到桌面 win+r: 运行界面 打开cmd方法: 在开始中打开系统中的命令符: win+ ...

  8. java jdk 1.8 配置_jdk1.8安装及java环境变量配置(内含一键配置工具)

    重点:java环境的配置包括jdk1.6.jdk1.7.jdk1.8其实是配置 JAVA_HOME变量.Path变量.ClassPath变量这三个 在安装之前首先确认是是否配置过环境变量,如果不确定通 ...

  9. Java0基础学习笔记、心得-day01(Java入门需知、Java入门概述、Java语言相关知识、JDK与JRE关系,常用DOS命令、JDK的下载安装与HelloWorld案例实现与常见问题。)

    一.Java入门需知  * 1.你为什么要学习编程?--兴趣.职业.薪资?  * 2.具体Java开发岗位薪资可以参考-智联招聘 前程无忧 BOSS直聘等APP  * 3.如何进入IT行业:前端工程师 ...

最新文章

  1. 为什么要设置java环境变量_为什么要配置JDK环境变量?
  2. python培训机构推荐-Python培训班哪家好?老男孩Python入门学习
  3. JAVA world转图片,将Kinect深度图像转换为真实世界坐标
  4. linux系统账户口令管理
  5. vmware虚拟的ubuntu18.04死机,尝试关闭时关机报“虚拟机xxx繁忙”
  6. python引用、浅拷贝、深拷贝
  7. @程序员,你的 996,可能是给公司无能的管理背锅
  8. GotoAndPlay 图论
  9. android自定义横向时间轴,Android自定义时间轴的实现过程
  10. 2021-08-22监听器实现在线客户端统计
  11. Django之WSGI浅谈
  12. 遗传算法(Genetic Algorithm)原理详解和matlab代码解析实现及对应gaot工具箱实现代码
  13. VB编程的RS485通讯操作界面源码 本程序适应各类带RS485通讯的设备,参数可以自由修改,主要是针对各类变频器RS485通讯(RTU)格式!
  14. ora-01033 解决方法
  15. oracle12c不使用cdb模式,12c CDB和PDB启动和关闭操作
  16. 【江枫 】Oracle 9i和10g在create index和rebuild index的统计信息的区别
  17. 月嫂的薪资为啥这么HIGH!
  18. Android studio UML建模
  19. 数据结构3_160805无头单向不循环
  20. BurpSuite武器库打造之环境搭建和API介绍(上)

热门文章

  1. Visual Studio调试之断点基础篇
  2. 随笔2 PAT1001.A+B Format (20)
  3. 时间格式化需要注意点不可使用本地时间
  4. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)...
  5. SQL嵌套语句执行顺序
  6. 1218. 最长定差子序列
  7. [Leetcode][第1143题][JAVA][最长公共子序列][LCS][动态规划]
  8. 天梯赛-是否完全二叉搜索树
  9. linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...
  10. 简述oracle的主要数据库对象,Oracle数据库数据对象分析