
Java SE学习笔记
文章平均质量分 68
本专栏将系统介绍Java SE的相关知识。包括java基础语法,变量,条件选择语句,循环语句,数组,方法,面向对象,集合容器,异常,io流,多线程………
画雨笼山
这个作者很懒,什么都没留下…
展开
-
1.java概述
java概述一.计算机语言的发展史二.java语言的发展史三.java的体系结构四.java环境搭建1.jdk的安装2.环境变量配置五.java初体验六.java输出多行内容一.计算机语言的发展史机器语言:(打孔编程):只有0和1组成高电平1低电平0汇编语言:(助记符 ADD)高级语言BCLP:(B语言,C语言1973年) 1970编程语言:C:面向过程C++面向对向C#:微软JavaPython……二.java语言的发展史1995年5月23日,JAVA语言诞生 雏形原创 2021-08-10 15:45:24 · 97 阅读 · 0 评论 -
2.集成开发环境搭建(IDE)
Eclipse的安装一级目录二级目录三级目录一级目录二级目录三级目录字体放大 Ctrl +字体缩小 Ctrl -原创 2021-08-10 19:59:39 · 432 阅读 · 0 评论 -
3.常量和变量
变量和常量常量常量的概念常量的分类常量的定义格式变量变量的概念变量的定义格式变量的特点常量常量的概念在程序的执行过程中,其值不会发生改变的量。常量的分类 //小数常量 System.out.println(6.66); //整数常量 System.out.println(666); //布尔常量 System.out.println(true); //字符常量,被单引号包裹的内容,里面只能存放单个字符 System.out.println('A'); //字符串常量,被双原创 2021-08-10 20:29:47 · 69 阅读 · 0 评论 -
4.数据类型转换
数据类型转换隐式转换(自动类型转换)强制转换隐式转换(自动类型转换)概念:将数据类型中,取值范围小的数据,赋值给取值范围大的数据,可以直接赋值。 byte a = 10; short b =a; double c = b; System.out.println(b);//结果为10 System.out.println(c);//结果为10.0数据类型从小到大的范围:byte < short,char < int < long < float <原创 2021-08-11 14:04:24 · 120 阅读 · 0 评论 -
5.标识符和关键字
Java关键字概念:被Java赋予了特定含义和功能的英文单词。例如:public、static、void……关键字的特点:关键字都是小写英文字母。常见的代码编辑器(Eclipse、Idea)针对关键字都有特殊的颜色显示,非常直观。注意:main是关键字吗? 不是,main是主方法,是程序执行的入口,JVM在执行代码的时候,只会识别该单词。这里我们可以暂时将其理解为比关键字更为关键的一个单词。...原创 2021-08-11 20:38:32 · 212 阅读 · 0 评论 -
6.java运算符
java运算符赋值运算符算术运算符关系运算符逻辑运算符条件运算符(三元运算符)自增自减运算符复合运算符运算符的补充赋值运算符运算符:对常量或者变量进行操作的符号。赋值运算符:=含义:把=右边的变量或值赋值给=左边的变量 int a = 5; int b = a; System.out.println(b);//5算术运算符算数运算符:+ - * / % int m = 8%3;//取余数 System.out.println(m);//2 //整原创 2021-08-11 20:06:43 · 151 阅读 · 0 评论 -
7.java分支结构
基本if语句语句格式: if ( 关系表达式 ) { 语句体; }执行流程:首先计算关系表达式的值。如果关系表达式的值为true就执行语句体。如果关系表达式的值为false就不执行。继续执行后面的语句体。案例:当王粱上个月销售额大于10000元,并且这个月销售额大于10000元,或者上个月销售额不小于15000元时,主管奖励他。 //1.定义变量存储王梁上个月的销售额 int lastMonth = 12000; //2.定义变量存储王梁这个月的销售额 in原创 2021-08-12 16:59:28 · 238 阅读 · 0 评论 -
8.java循环结构
循环:1.概念:将重复的操作反复在一个地方执行。2.作用:减少代码的冗余,提高可读性。3.分类:while 当型循环do…while 直到型循环for循环(企业开发中使用最多的循环)while语法while(循环条件){ }...原创 2021-08-16 20:25:27 · 255 阅读 · 1 评论 -
9.Scanner类的用法
Scanner类的用法一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-08-17 09:26:00 · 4833 阅读 · 0 评论 -
10.java数组
java数组一级目录二级目录三级目录数组的概念:一种容器,可以同时存放多个数据值。数组的特点:数组是一种引用数据类型。数组当中有多个数据,数据类型必须统一。数组的长度在程序运行期间不可以改变。数组的初始化:在内存中创建一个数组,并且向其中赋予一些默认值。两种常见的初始化方式:1、动态初始化(直接指定数组的长度)2、静态初始化(指定该数组的内容)动态初始化的格式:数据类型 [ ] 数组名称 = new 数据类型[数组长度] ;解析含义:左侧数据类型:也就是数组当中保存的数据原创 2021-08-18 14:48:03 · 411 阅读 · 0 评论 -
11.java中的方法(一)
方法:就是将一个功能抽取出来,把代码单独放在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用这个方法。这样既实现了代码的复用性,也解决了代码冗余的现象。方法的定义格式①:public static void 方法名称(){方法体;}方法体:也就是写在方法中的代码,可以包含任意条语句。注意事项:1.方法定义的先后顺序无所谓。2.方法之间是平行的关系,方法的定义不能包含嵌套关系。3.方法定义好了之后,是不会执行的。如果想要执行,一定要进行方法的调用。如何调用方法:格原创 2021-08-19 17:03:08 · 434 阅读 · 0 评论 -
12.java中的方法(二)
方法的重载对于功能类似的方法来说,因为参数列表不一样,往往却要定义多个方法名,太麻烦。比如定义四个方法,分别是实现两数相加、三数相加、四数相加、两字符串拼接的功能。那么我们就得定义四个方法名:sumTwo、sumThree、sumFour、sumString。定义太多的方法名很容易记不清,由此我们引出了方法的重载。概念: 所谓方法的重载,就是在同一个类中,对于多个具有相似功能的方法,全都定义相同的方法名称。方法名相同,但是参数列表不同(参数个数,参数的数据类型),可以公用一个方法名调用: 在方法调用原创 2021-08-19 17:03:36 · 160 阅读 · 0 评论 -
13.java构造方法
构造方法构造方法是一种特殊的方法。格式: 修饰符 类名(参数){ 方法体; } 特点:方法名称和类名一致构造方法没有返回值构造方法可以重载功能:主要是完成对象数据的初始化作用:创建对象当一个类中,没有给任何的构造方法,系统将会给出一个默认的构造方法。如果手写了一个构造方法,会把默认的无参构造方法覆盖掉,。为了保证程序运行正常,需要手动加上无参构造方法。其实在创建对象的同时,会调用构造方法,构造方法是在对象创建的时候执行。如下图所示,我们创建了一个对象pro,此时原创 2021-08-20 00:49:50 · 121 阅读 · 0 评论 -
14.this关键字
当方法的局部变量和类的成员变量重名的时候,系统是区分不了哪个是成员变量,哪个是局部变量的,于是就会根据“就近原则”,优先使用局部变量。如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名this关键字的作用:用于区分成员变量和局部变量之间的重名问题...原创 2021-08-20 21:02:10 · 72 阅读 · 0 评论 -
15.对象的输出
如果直接输出对象,这个时候输出的是对象在计算机内存中的地址,并且不同的对象,他们的内存地址也不一样。如下图所示:但是,如果在类中生成一个toString方法,我们再输出对象,程序会自动调用toString方法。...原创 2021-08-20 21:02:24 · 882 阅读 · 0 评论 -
16.变量的作用域
变量的作用域是面向对象中一个非常重要的知识点。每一个变量在定义之初,都有一个作用范围(也叫作用域),一旦超出变量的作用域,就无法再使用这个变量。按照变量的定义位置和作用范围,我们把变量分为一下几类:成员变量、局部变量、全局变量。成员变量一种定义在类里面,方法外面的变量。可以在整个类中使用,在其他类中只能通过类名.变量名的方式来访问。成员便量即使没有赋值,系统也会给个默认值。成员变量的默认值规则和数组一样,规则如下:如果是整数类型,那么默认值为0;如果是浮点类型,那么默认值为0.0;如果是布尔类原创 2021-08-20 21:01:31 · 2522 阅读 · 0 评论 -
17.java的封装机制
java的封装什么是封装封装的步骤封装的好处什么是封装封装,是面向对象编程的核心思想之一,指的就是将描述某种实体的数据和基于这些数据的操作集合到一起,形成一个封装体其实生活中就有很多封装的案例。以电视机为例,每一台电视机的内部都有很多线路和零件,制造商为了减少零件老化会给零件外面涂上防氧化涂层,为了避免人为破坏,保证零件的完整性,制造商会用外壳把内部器件封存起来,而我们想要看电视就通过遥控器进行操作。隐藏了内部细节,对外只提供简单的操作入口,这就是电视机的封装。java的封装原理和电视机的封装类似。原创 2021-08-22 23:15:48 · 378 阅读 · 0 评论 -
18.java的继承机制
继承的概念继承是面向对象的三大基本特征之一。继承的语法步骤:1.把多个类中公共的属性和方法(变量名和方法名都相同)都抽取到一个类中,作为父类。2.使用extends表示继承关系,子类继承父类。继承的特点:1.构造方法不能被继承(构造方法的方法名称跟类名一致)。2.一个父类可以有多个子类,但一个子类只能有一个父类。3.可以多重继承,也就是A继承B,B继承C。4.私有的属性和方法不能被继承。继承的优缺点优点:提高代码的复用性,降低程序的冗余度。缺点:继承破坏了封装性。继承提高了代码的耦原创 2021-08-23 21:04:05 · 319 阅读 · 0 评论 -
19.方法的覆盖重写
概念子类继承父类之后,当父类的方法无法再满足子类的功能需求时,在子类中对父类的方法重新定义,只改变方法的方法体,不改变方法名和参数列表。子类对象调用的是被重写之后的方法重载(overload)与重写(override)的区别位置不同:方法的重载发生在一个类中,方法的重写发生在具有继承关系的子类里面。写法不同:方法的重载–多个方法,方法名相同,参数列表不同。方法的重写–子类重写父类的方法,方法名和参数列表必须跟父类的方法一致。多态不同—重载是编译时的多态性,重写是运行时的多态性。返回不同—重原创 2021-08-23 21:16:56 · 83 阅读 · 0 评论 -
20.final、super关键字
final关键字final可以定义常量,常量的值为最终值,不可以被修改。final可以修饰一个类,被final修饰的类为最终类,不可以被继承,没有子类。final可以修饰方法,被final修饰的方法为最终方法,不能被重写。super 关键字super关键字:super只能出现在子类中,用来访问父类的属性和方法super调用父类的构造方法,必须把super()写在子类构造方法的第一行。就算不写,在子类构造方法的第一行,也默认有super()。super调用父类的普通方法和成员属性在子类的任意原创 2021-08-24 12:59:24 · 111 阅读 · 0 评论 -
21.抽象类
什么是抽象?类到对象是实例化,对象到类是抽象。什么是抽象类?如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是被abstract修饰的类,抽象类不能被直接创建对象,只能作为父类被子类继承,由子类创建对象。抽象类属于什么类型?抽象类也属于引用数据类型抽象类的语法格式:【修饰符列表】 abstract class 类名{ 类体;}抽象类的特点final和abstract无法联合使用,这两个关键字是对立的。抽象类的子类可以是抽象类,抽象类也可以继承普通类,原创 2021-08-24 15:46:46 · 484 阅读 · 0 评论 -
22.接口的实现
java是一门单继承的语言吗?不是。java的类只能单继承,一个子类只能有一个父类。但是;一个接口可以继承多个接口。原创 2021-08-25 09:56:37 · 81 阅读 · 0 评论 -
23.Package(包)机制
什么是包?包机制是Java语言中所特有的一种机制,主要是因为Java本身跨平台特性的需要; Java语言使用包(package)将类组织起来,借助包可以方便的组织自己的代码,并将自己的代码与别人提供的代码库分开管理; 在项目开发过程中使用包的另一主要原因是确保类名的唯一性; 为了确保包名的唯一性,SUN公司建议将项目开发者的因特网域名以逆序的形式作为包名,并且对不同的项目 使用不同的子包。包的命名规范全部都由小写字母或数字组成。多级包之间使用点间隔。创建格式:公司的域名倒着写,域名就是公司的原创 2021-08-24 17:09:20 · 307 阅读 · 0 评论 -
24.java多态机制
引用数据类型转换原创 2021-08-26 01:06:10 · 90 阅读 · 0 评论 -
25.匿名对象和内部类
一般在编写代码时可能会遇到这样的场景——在某些时候,我需要定义并某个类,但是只会使用这一次,或者是某个类对象只会使用一次,为它们专门取名可能会显的很麻烦。为了应对这种情况,Java中允许使用匿名对象和内部类的方式来解决这个问题。匿名对象【重点】匿名对象就是没有对象名的对象匿名对象只能使用一次,使用完后会被jvm的垃圾回收器从内存中清理掉如果一个程序中创建了多个对象,程序的运行会很慢,这时,如果有的对象在程序运行过程中只会使用一次,就可以使用匿名对象匿名对象通常被作为方法的参数进行传递案例:用原创 2021-08-27 12:10:50 · 210 阅读 · 0 评论 -
26.API文档中的常用工具类
API文档中的常用工具类Object类数组工具类Arrays数学工具类MathUUID类Random类查看源码Object类equals()用来比较两个对象是否相等 --比较的是对象的内存地址。toString()如果子类没有重写父类Object类的toString方法,这个时候直接输出对象,结果是对象的内存地址如果子类重写父类Object类中的toString方法,这个时候直接输出对象,结果是执行子类重写后的toStirng方法,输出对象的字符串表现形式hashCode()获取对象的哈希原创 2021-08-27 12:17:37 · 244 阅读 · 0 评论 -
27.集合框架
集合集合简介集合的概念集合和数组的区别集合的结构ArrayList集合集合的增删改查集合的其他方法集合的泛型Set集合hashSet集合hashSet集合的增删改查hashSet集合的应用集合简介集合的概念集合是存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的存储和操作,集合是存储对象最常用的一种方式。集合中可以存储任意类型的对象, 而且长度可变。在程序中有可能无法预先知道需要多少个对象, 那么用数组来装对象的话, 长度不好定义, 而集合解决了这样的问题。集合和数原创 2021-09-05 21:17:14 · 255 阅读 · 0 评论 -
28.异常
异常异常简介异常的分类常见的异常类型异常处理异常的常用方法finally多重try-catch声明异常throwsthrow**自定义异常类**自定义非运行时异常类自定义运行时异常类案例案例1案例2异常简介异常就是程序不正常。异常的后果: 异常会导致程序非正常终止异常的处理: 我们需要在程序出现异常的时候能够继续往下执行,这个时候我们就需要对异常做处理异常的分类常见的异常类型异常处理try-catch块 //我们使用try-catch对异常做处理,保证程序出现异常后不会终止,而会继原创 2021-09-05 21:36:05 · 93 阅读 · 0 评论 -
29.File类
这里写目录标题File类简介File类常用方法File类简介存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中。为了操作这些文件,我们需要学习一个和文件有密切关系的类,叫做File类。提示: windows系统中以/或\来进行文件路径之间的分隔,而linux以/分隔,如果要让代码跨平台可以使用File.separatorChar自动根据系统来匹配分隔符。File类常用方法package com.woniuxy原创 2021-09-05 21:39:46 · 101 阅读 · 0 评论 -
30.递归
概念程序调用自身的编程技巧称为递归。递归做为一种[算法在程序设计语言中广泛应用。public class Test { public static void main(String[] args) {// //求1-5之间所有数字的和// int sum = 0;// for(int i=1;i<=5;i++) {// sum = sum + i;// }// System.out.println(sum); System.out.println("----原创 2021-09-05 21:43:02 · 82 阅读 · 0 评论 -
31java的IO流
流的分类File对象可以表示存在的文件或文件夹,也可以表示不存在的。我们想要得到文件的内容怎么办,File只是操作文件,文件的内容如何处理就需要使用io流技术了。 I/O类库中使用“流”这个抽象概念。Java对设备中数据的操作是通过流的方式。“流”屏蔽了实际的I/O设备中处理数据的细节。IO流用来处理设备之间的数据传输。设备是指硬盘、内存、键盘录入、网络等。Java用于操作流的对象都在IO包中。IO流技术主要用来处理设备之间的数据传输。 由于Java用于操作流的对象都在IO包中。所以使用IO.原创 2021-09-05 21:53:51 · 109 阅读 · 0 评论 -
32.缓冲流和对象流
这里写目录标题概念字符缓冲输入流字符缓冲输出流CSV文件的读写读写Properties文件读写简介写读对象流(了解)序列化ObjectOutputStream反序列化 ObjectInputStream总结概念缓存是IO的一种性能优化,缓存流为IO流增加了内存缓存区。有了缓存区,便可以减少系统直接与硬盘交互传输的次数,增加每次传送的数据量,借以提高传输效率,保护硬件。没有缓存功能的流当去输出时直接存入硬盘或目的地,如果有缓冲功能,则会将输出的内容先放置到缓存区中,等到有一定的数据量的时候,或者是调用cl原创 2021-09-07 15:44:42 · 325 阅读 · 0 评论