Java基础编程
本专栏主要介绍Java的基础知识,主要包括Java语言概述、基本语法、数组、面向对象、异常处理五部分。
胡豆24
本科毕业于湖北师范大学通信工程专业,硕士就读于武汉邮电科学研究院通信与信息系统专业
展开
-
咸鱼带你学Java—Java基础编程专栏博客目录篇
第一篇:咸鱼带你学Java—Java语言概述第二篇:咸鱼带你学Java—开发环境的搭建第三篇:咸鱼带你学Java—第一个Java程序第四篇:咸鱼带你学Java—注释与API文档第五篇:咸鱼带你学Java—关键字与标识符第六篇:咸鱼带你学Java—变量的使用第七篇:咸鱼带你学Java—进制第八篇:咸鱼带你学Java—运算符第九篇:咸鱼带你学Java—流程控制第十篇:咸鱼带你学Java—数组第十一篇:咸鱼带你学Java—类与对象第十二篇:咸鱼带你学Java—类的结构.原创 2020-08-06 09:14:21 · 230 阅读 · 1 评论 -
咸鱼带你学Java—异常处理
一、异常1.概述在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。在Java语言中,将程序执行中发生的不正常情况称为异常。在开发过程中的语法错误和逻辑错误不是异常。2.异常体系结构Java程序在执行过程中所发生的异常事件可分为两类:Error和Exceptiona.ErrorJava虚拟机无法解决的严重问题。如:..原创 2020-07-13 20:01:17 · 529 阅读 · 0 评论 -
咸鱼带你学Java—类的成员之五:内部类
1.定义:Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类.2.内部类的分类:成员内部类(静态、非静态 ) vs 局部内部类(方法内、代码块内、构造器内)3.成员内部类的理解:一方面,作为外部类的成员:* >调用外部类的结构* >可以被static修饰* >可以被4种不同的权限修饰*另一方面,作为一个类:* > 类内可以定义属性、...原创 2020-08-05 20:10:21 · 403 阅读 · 0 评论 -
咸鱼带你学Java—接口(interface)
1.使用说明: 1.接口使用interface来定义* 2.Java中,接口和类是并列的两个结构* 3.如何定义接口:定义接口中的成员* * 3.1 JDK7及以前:只能定义全局常量和抽象方法* >全局常量:public static final的.但是书写时,可以省略不写* >抽象方法:public abstract的* * 3.2 JD...原创 2020-08-05 16:35:31 · 201 阅读 · 0 评论 -
咸鱼带你学Java—abstract关键字
abstract: 抽象的1.可以用来修饰:类、方法2.具体的:abstract修饰类:抽象类* > 此类不能实例化* > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)* > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 --->抽象的使用前提:继承性abstract修饰方法:抽象方法* > 抽象方法只方法的声明,没方法体* > 包含...原创 2020-08-05 15:33:10 · 219 阅读 · 0 评论 -
咸鱼带你学Java—final关键字
final:最终的1.可以用来修饰:类、方法、变量2.具体的:2.1 final 用来修饰一个类:此类不能被其他类所继承。* 比如:String类、System类、StringBuffer类*2.2 final 用来修饰方法:表明此方法不可以被重写* 比如:Object类中getClass();*2.3 final 用来修饰变量:此时的"变量"就称为是一个常量* 1. final修饰属性:可以考虑赋值的位置:显式...原创 2020-08-05 12:00:25 · 185 阅读 · 0 评论 -
咸鱼带你学Java—类的成员之四:代码块
一、代码块的作用二、代码块的分类三、静态代码块四、非静态代码块五、静态代码块与非静态代码块举例六、实例化子类对象时,涉及到父类、子类中静态代码块、非静态代码块、构造器的加载顺序原创 2020-08-05 11:32:50 · 273 阅读 · 0 评论 -
咸鱼带你学Java—理解main方法的语法
* 1. main()方法作为程序的入口* 2. main()方法也是一个普通的静态方法* 3. main()方法可以作为我们与控制台交互的方式。(之前:使用Scanner)如何将控制台获取的数据传给形参:String[] args? 运行时:java 类名 "Tom" "Jerry" "123" "true"sysout(args[0]);//"Tom"sysout(args[3]);//"true" -->Boolean.parseBoolean(args[3]);s...原创 2020-08-05 10:08:21 · 323 阅读 · 0 评论 -
咸鱼带你学Java—单例模式
一、设计模式的说明1.理解2.常用设计模式 二、单例模式1.要解决的问题2.具体代码的实现a.饿汉式b.懒汉式3.两种方式的对比原创 2020-08-05 09:30:31 · 264 阅读 · 0 评论 -
咸鱼带你学Java—static关键字
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。为解决这一问题,我们引入了static关键字。原创 2020-08-05 09:05:44 · 327 阅读 · 0 评论 -
咸鱼带你学Java—包装类(Wrapper)的使用
目录一、为什么要有包装类(或封装类)二、基本数据类型与对应的包装类三、需要掌握的类型间的转换1.基本数据类型<--->包装类a.JDK5.0之前b.JDK5.0之后2.基本数据类型、包装类--->String3.String--->基本数据类型、包装类4.总结:基本类型、包装类与String类间的转换5.应用场景举例原创 2020-08-04 12:32:43 · 392 阅读 · 0 评论 -
咸鱼带你学Java—Object类的使用
目录一、说明二、Object类的主要结构三、Object的使用1.equals()方法a.介绍b.重写规则2.toString()方法a.介绍b.重写一、说明Object类是所有Java类的根父类 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类public class ObjectTest { public static void main(String[] args) { Per.原创 2020-08-04 11:44:39 · 222 阅读 · 0 评论 -
咸鱼带你学Java—面向对象特征之三:多态性
一、多态性的理解可以理解为一个事物的多种形态。【一个类的多种形态】二、何为多态性:在Java中,子类的对象可以替代父类的对象使用一个变量只能有一种确定的数据类型 一个引用类型变量可能指向(引用)多种不同类型的对象父类的引用指向子类的对象【或子类的对象赋给父类的引用】,可以直接应用在抽象类和接口上。举例:Person p = new Man();【Person是Man的父类】Object obj = new Date();【Object是Date的父类】三、多态性..原创 2020-08-04 10:40:55 · 150 阅读 · 1 评论 -
咸鱼带你学Java—子类对象实例化过程
1.从结果上看:继承性> 子类继承父类以后,就获取了父类中声明的属性或方法。> 创建子类的对象,在堆空间中,就会加载所父类中声明的属性。2.从过程上看:当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器,...直到调用了java.lang.Object类中空参的构造器为止。正因为加载过所的父类的结构,所以才可以看到内存中父类中的结构,子类对象才可以考虑进行调用。图示:3.强调说明:虽然创建子类对象时,调用了父类的构造器,但原创 2020-08-03 20:40:00 · 289 阅读 · 0 评论 -
咸鱼带你学Java—super关键字
一、1.super 关键字可以理解为:父类的2.可以用来调用的结构:属性、方法、构造器3.super调用属性、方法:3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。3.3 特殊情况:当子类重写了父类中的原创 2020-08-03 20:24:26 · 225 阅读 · 0 评论 -
咸鱼带你学Java—方法重写(override)
目录一、什么是方法的重写?二、应用三、语法格式一、什么是方法的重写?在子类中可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。二、应用重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。三、语法格式方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ 【throws 异常的类型可不写】 ...原创 2020-08-03 19:46:16 · 218 阅读 · 0 评论 -
咸鱼带你学Java—面向对象的特征之二:继承性
目录一、何为类的继承性?二、为什么要有类的继承性?三、继承性的格式四、子类继承父类以后有哪些不同?五、Java中继承性的说明六、java.lang.Object类的理解一、何为类的继承性?继承一般是指晚辈从父辈那里继承财产,也可以说是子女拥有父母给予他们的东西。在面向对象程序设计中,继承的含义与此类似,所不同的是,这里继承的实体是类而非人。也就是说,继承是子类拥有父类的成员。多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中, 那么多个类无需再定义这些属性和行为,只原创 2020-08-03 19:26:25 · 238 阅读 · 0 评论 -
咸鱼带你学Java—package、import关键字
目录一、package关键字1.作用2.使用说明3.举例4.JDK中的主要包介绍二、 import关键字1.概念2.语法格式3.举例4.说明一、package关键字1.作用解决类命名冲突问题 控制权限 包帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:MVC的设计模式 包可以包含类和子包,划分项目层次,便于管理2.使用说明使用package声明类或接口所属的包,声明在源文件的首行 包,属于标识符,遵循标识符的命名规则、规.原创 2020-08-03 16:50:21 · 244 阅读 · 0 评论 -
咸鱼带你学Java—this关键字
目录一、this是什么?二、this调用属性、方法三、this调用构造器一、this是什么?在Java中,this关键字比较难理解,它的作用和其词义很接近。this理解为:当前对象或当前正在创建的对象 this在方法内部使用,即这个方法所属对象的引用 this在构造器内部使用,表示该构造器正在初始化的对象this 可以调用类的属性、方法和构造器当在方法内需要用到调用该方法的对象时,就用this。 具体的:我们可以用this来区分属性和局部变量。 比如:this.nam..原创 2020-08-03 16:29:10 · 140 阅读 · 0 评论 -
咸鱼带你学Java—类的结构之三:构造器(constructor)
目录一、构造器特征二、构造器的作用三、语法格式四、构造器重构一、构造器特征它具有与类相同的名称 它不声明返回值类型。(与声明为void不同) 不能被static、final、synchronized、abstract、native修饰,不能有 return语句返回值二、构造器的作用创建对象 初始化对象的信息如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个原创 2020-08-03 15:11:21 · 265 阅读 · 0 评论 -
咸鱼带你学Java—面向对象的特征之一:封装性
目录一、为什么要引入封装性?二、问题引入三、封装性思想具体的代码体现1.体现一2.体现二3.体现三4.体现四四、Java规定的四种权限修饰符1.权限从小到大顺序为2.具体的修饰范围3.权限修饰符可用来修饰的结构说明一、为什么要引入封装性?程序设计追求“高内聚,低耦合”。高内聚 :类的内部数据操作细节自己完成,不允许外部干涉; 低耦合 :仅对外暴露少量的方法用于使用。隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性.原创 2020-08-03 14:39:49 · 383 阅读 · 0 评论 -
咸鱼带你学Java—类的结构之二:方法(method)
一、概念二、原创 2020-08-03 10:02:17 · 412 阅读 · 0 评论 -
咸鱼带你学Java—类的结构之一:属性(field)
目录一、概念二、语法格式三、属性的初始值四、成员变量(属性)与局部变量的异同1.对变量按照声明位置分类2.两者异同一、概念对应类中的成员变量二、语法格式修饰符 数据类型 属性名 = 初始化值 ;修饰符:常用的权限修饰符有:private、缺省、protected、public 其他修饰符:static、final (暂不考虑) 【后面的学习中会逐个介绍这些修饰符】 数据类型:任何基本数据类型(如int、boolean) 或任何引用数据类型。 属性名...原创 2020-08-02 23:26:15 · 695 阅读 · 0 评论 -
咸鱼带你学Java—类与对象
一、面向对象学习的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类 面向对象的大特征:封装性、继承性、多态性、(抽象性) 其它关键字:this、super、static、final、abstract、interface、package、import等二、面向对象与面向过程(理解)面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。举例对比:人把大象装进冰箱。三、面向对象完成.原创 2020-08-02 22:56:46 · 341 阅读 · 0 评论 -
咸鱼带你学Java—流程控制
一、流程控制a.概念:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块b.分类:其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构、分支结构、循环结构二、顺序结构三、分支结构四、循环结构...原创 2020-08-01 20:32:59 · 402 阅读 · 0 评论 -
咸鱼带你学Java—运算符
目录一、算术运算符二、赋值运算符三、比较运算符(关系运算符)四、逻辑运算符五、位运算符六、三元运算符七、运算符的优先级一、算术运算符【特别说明的】(前)++ :先自增1,后运算 (后)++ :先运算,后自增1 (前)-- :先自减1,后运算 (后)-- :先运算,后自减1 连接符:+:只能使用在String与其他数据类型变量之间使用。 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是 负数则不可忽略。此外,...原创 2020-08-01 13:53:36 · 325 阅读 · 0 评论 -
咸鱼带你学Java—进制
目录一、进制二、二进制的使用说明1.计算机底层的存储方式2.二进制数据的存储方式3.原码、反码、补码的说明三、进制间的转换1.十进制与二进制互转a.二进制转成十进制b.十进制转成二进制2.二进制与八进制互转a.二进制转成八进制b.八进制转成二进制3.二进制与十六进制互转a.二进制转成十六进制b.十六进制转成二进制4.八进制、十进制、十六进制直接的转换可通过将其转化为二进制实现一、进制a.进制是进位计数制,是人为定义的带进位的计数方法(转载 2020-08-01 11:28:54 · 366 阅读 · 0 评论 -
咸鱼带你学Java—变量的使用
目录一、变量1.概念2.作用3.定义变量格式4.使用变量注意点二、变量的分类1.按数据类型分类2.按声明的位置分类(了解)三、基本数据类型变量间运算规则1.自动类型转换2.强制类型转换3.String与8种基本数据类型间的运算一、变量1.概念内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值2.作用用于在内存中保存数据3.定义变量格式//第一种方原创 2020-08-01 10:29:00 · 164 阅读 · 0 评论 -
咸鱼带你学Java—关键字与标识符
1.java关键字的使用定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所字母都为小写具体哪些关键字:2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。具体哪些保留字:goto 、const注意:自己命名标识符时要避免使用这些保留字3.标识符的使用定义:凡是自己可以起名字的地方都叫标识符。涉及到的结构:包名、类名、接口名、变量名、方法名、常量名规则:(必须要遵守。否则,编译不通过)规范:(可以不遵守,不影响编译和运行。但是要求原创 2020-08-01 09:06:16 · 319 阅读 · 0 评论 -
咸鱼带你学Java—数组
一、数组概述* 1.数组的理解:数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,* 并通过编号的方式对这些数据进行统一管理。** 2.数组相关的概念:* >数组名* >元素* >角标、下标、索引* >数组的长度:元素的个数** 3.数组的特点:* 1数组是序排列的* 2数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型* 3创建数组对象会在内存中开辟一整块连续的空间...原创 2020-08-02 10:43:49 · 273 阅读 · 0 评论 -
咸鱼带你学Java—注释与API文档
1.注释:Comment分类:单行注释://多行注释:/* */文档注释:/** */作用:① 对所写的程序进行解释说明,增强可读性。方便自己,方便别人② 调试所写的代码特点:①单行注释和多行注释,注释了的内容不参与编译。 换句话说,编译以后生成的.class结尾的字节码文件中不包含注释掉的信息② 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。③ 多行注释不可以嵌套使用2.Java API 文档: API:ap...原创 2020-07-16 16:12:20 · 213 阅读 · 0 评论 -
咸鱼带你学Java—第一个Java程序
1.开发体验——HelloWorld1.1 编写创建一个java源文件:HelloWorld.javaclass HelloChina{ public static void main(String[] args){ System.out.println("Hello,World!"); }}1.2 编译:javac HelloWorld.java1.3 运行:java HelloChina2.常见问题的解决3.总结第一个程序1. ja...原创 2020-07-16 16:04:43 · 242 阅读 · 0 评论 -
咸鱼带你学Java—开发环境的搭建
1.开发环境的搭建(重点)1.1 JDK、JRE、JVM的关系1.2 JDK的下载、安装下载:官网,github安装:傻瓜式安装:JDK 、JRE 注意问题:安装软件的路径中不能包含中文、空格。1.3 path环境变量的配置1.3.1 为什么配置path环境变量?path环境变量:windows操作系统执行命令时所要搜寻的路径为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成功。1.3.2 如何配置?...原创 2020-07-16 15:41:02 · 246 阅读 · 0 评论 -
咸鱼带你学Java—Java语言概述
1.基础常识软件:即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件 和 应用软件 系统软件:windows , mac os , linux ,unix,android,ios,.... 应用软件:word ,ppt,画图板,...人机交互方式: 图形化界面 vs 命令行方式应用程序 = 算法 + 数据结构常用DOS命令:2.计算机语言的发展迭代史第一代:机器语言第二代:汇编语言第三代:高级语言> 面向过程:C,Pascal、Fortran...原创 2020-07-16 14:54:35 · 189 阅读 · 0 评论