Java基础知识
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
RyanJohnson
敏于观察,勤于思考,善于综合,勇于创新。
展开
-
Java是编译型还是解释型语言
1.编译型语言和解释型语言编译型语言定义:在程序运行之前,通过编译器将源程序编译成机器码(可运行的二进制代码),以后执行这个程序时,就不用再进行编译了。优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独立运行。缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。代表语言:C、C++、Pascal、原创 2020-09-19 10:53:20 · 23124 阅读 · 9 评论 -
Java注释
定义用于解释说明程序的文字分类单行注释格式: // 注释文字多行注释格式: /* 注释文字 */文档注释格式:/** 注释文字 */作用在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。注意事项多行和文档注释都不能...原创 2019-09-28 22:24:38 · 29241 阅读 · 9 评论 -
Java访问修饰符
定义Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。分类private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。protected : 对同一包内的类和所有子类可见。使...原创 2019-09-28 22:27:52 · 44302 阅读 · 11 评论 -
Java分隔符
定义空格、逗号、分号以及行结束符都被称为分隔符,规定任意两个相邻标识符、数字、保留字或语句之间必须至少有一个分隔符,以便程序编译时能够识别。分类; 分号 用来终止一个语句{} 花括号、大括号 用来包括自动初始化的数组的值,也用来定义程序块、类、方法以及局部范围[] 方括号、中括号 用来声明数组的类型,也用来表示撤消对数组值的引用, 逗号 在变量声明中,区分变量说明的各个变量...原创 2019-09-28 22:31:50 · 32105 阅读 · 10 评论 -
Java转义字符
定义转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。常见转义字符表Java中需要转义的字符在Java中,不管是String.split(),还是正则表达式,有一些特殊字符需要转义,这些字符是( [ { / ^ - $ ¦ } ] ...原创 2019-09-28 22:33:54 · 43322 阅读 · 8 评论 -
Java进制
定义进制也就是进位计数制,是人为定义的带进位的计数方法。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。常用进制类型二进制计算机底层都是使用二进制进行存储以及运算0b****;(以0b或者0B开始,*表示0或1)比如:010101原码、反码、补码原码原码:将一个整数转换成二进制表示以 int 类型为例,int类型占4个字节、...原创 2019-09-28 22:36:38 · 26384 阅读 · 20 评论 -
Java流程控制语句-顺序结构
定义顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的举例/* * 顺序结构:从上往下,依次执行 */public class OrderDemo { public static void main(String[] args) { System.out.println("开始"); System.out...原创 2019-09-28 22:48:58 · 30350 阅读 · 4 评论 -
Java流程控制语句-分支结构(选择结构)
文章目录定义分类if分支结构第一种格式格式执行流程举例第二种格式格式执行流程举例第三种格式格式执行流程举例注意事项switch分支结构执行流程举例注意事项定义条件语句可根据不同的条件执行不同的语句。包括if条件语句与switch多分支语句。分类if分支结构第一种格式格式if(条件表达式){执行的代码块;}执行流程执行流程图执行流程说明首先判断关系表达式看其结果是true...原创 2019-09-28 22:54:25 · 30380 阅读 · 15 评论 -
Java流程控制语句-循环结构
定义循环语句就是在满足一定条件的情况下反复执行某一个操作。包括while循环语句、do···while循环语句和for循环语句。分类for循环语句执行流程执行流程图执行流程说明A:执行初始化语句B:执行判断条件语句,看其结果是true还是false如果是false,循环结束。如果是true,继续执行。C:执行循环体语句D:执行控制条件语句E:回到B继续格式for(初...原创 2019-09-28 23:02:38 · 25844 阅读 · 11 评论 -
Java流程控制语句
定义流程是指程序运行时,各语句的执行顺序。流程控制语句就是用来控制程序中各语句执行的顺序。分类顺序结构Java流程控制语句-顺序结构分支结构(选择结构)Java流程控制语句-分支结构(选择结构)循环结构Java流程控制语句-循环结构...原创 2019-09-28 23:05:39 · 29267 阅读 · 4 评论 -
Java表达式
定义用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。类型和值表达式值的数据类型即为表达式的类型。对表达式中操作数进行运算得到的结果是表达式的值。运算顺序应按照运算符的优先级从高到低的顺序进行;优先级相同的运算符按照事先约定的结合方向进行;举例a + b3.14 + a(x + y) * z + 100boolean b= i < 1...原创 2019-09-28 23:44:00 · 26349 阅读 · 7 评论 -
Java运算符
文章目录定义分类算术运算符比较运算符(关系运算符)赋值运算符逻辑运算符(符号的两端都是boolean类型)位运算符(两端都是数值型的数据)三元运算符(三目运算符)运算符的优先级定义运算符指明对操作数的运算方式。分类算术运算符+ - + - * / % ++ -- +注意事项1、/ 左右两端的类型需要一致;2、%最后的符号和被模数相同;3、前++;先+1,后运算 后++;先...原创 2019-09-28 23:59:31 · 21450 阅读 · 15 评论 -
Java变量
文章目录定义分类按被声明的位置划分成员变量局部变量成员变量和局部变量的区别使用原则按所属的数据类型划分基本数据类型变量引用数据类型变量定义格式注意事项定义在程序执行的过程中,在某个范围内其值可以发生改变的量。从本质上讲,变量其实是内存中的一小块区域分类按被声明的位置划分成员变量方法外部,类内部定义的变量类变量(静态变量):独立于方法之外的变量,用 static 修饰。类...原创 2019-09-29 00:07:56 · 25651 阅读 · 9 评论 -
Java常量
定义常量定义:在程序执行的过程中,其值不可以发生改变的量。常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。常量值定义:常量和常量值是不同的概念,常量值又称为字面常量,它是通过数据直接表示的。关系:常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。分类字符串常量 用双引号括起来的内容(“Hello...原创 2019-09-29 00:09:54 · 17129 阅读 · 6 评论 -
Java数据类型
文章目录定义分类计算机存储单元Java基本数据类型图数据类型转换定义Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。分类基本数据类型数值型整数类型(byte,short,int,long)浮点类型(float,double)字符型(char)布尔型(boolean)引用数据类型类(class)接口(...原创 2019-09-29 00:14:25 · 25014 阅读 · 20 评论 -
Java关键字(Java 8版本)
定义被Java语言赋予了特殊含义,用作专门用途的字符串(单词),这些关键字不能用于常量、变量、和任何标识符的名称。Java关键字(Java 8版本)Java关键字(Java 8 以后版本)注意事项true,false和,null看起来像关键字,但它们实际上是文字; 您不能在程序中将它们用作标识符。...原创 2019-09-28 22:11:38 · 45342 阅读 · 14 评论 -
Java标识符
文章目录定义组成规则命名原则:见名知意注意事项定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名:全部小写,多级包用.隔开。举例:com.jourwon类、接口:一个单词首字母大写,多个单词每个单词的首字母大写。举例:Student,Car,HelloWorld方法和变量:一个单词首字母小写,多个单词从第二个...原创 2019-09-28 20:44:38 · 61772 阅读 · 11 评论 -
Java发展历程
1991年4月,Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统。由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了...原创 2019-06-30 19:35:22 · 20150 阅读 · 11 评论 -
JDK安装与环境变量配置
下载JDK到Oracle官网下载JDK安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE时,可以选择不要安装。因为JDK已经自带了JRE。安装JDK测试JDK是否安装成功在配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为 java -versionJDK安装成功环境变量详解JAVA_HOME...原创 2019-06-30 19:36:56 · 65045 阅读 · 31 评论 -
Java语言特点
Java语言是简单的Java语言的语法与C语言和C++语言很接近,从某种意义上讲,它是由C和C++演变而来,使得大多数程序员很容易学习和使用。对C++来说进行了简化和一定的提高,如:使用接口代替了复杂的多重继承以及取消了指针,还通过实现垃圾自动回收机制,大大简化了程序员的资源释放管理工作。提供了丰富的类库和API文档,以及第三方开发包工具包,还有大量的基于Java的开源项目,帮助程序设计人...原创 2019-06-30 19:37:45 · 31999 阅读 · 15 评论 -
Java基础语法
标识符定义给包,类,方法,变量起名字的符号。组成规则标识符由字母、数字、下划线、美元符号组成。命名原则:见名知意包名:全部小写,多级包用.隔开。举例:com.jourwon类、接口:一个单词首字母大写,多个单词每个单词的首字母大写。举例:Student,Car,HelloWorld方法和变量:一个单词首字母小写,多个单词从第二个单词开始每个单词的首字母大写。举例:a...原创 2019-09-28 00:05:08 · 24182 阅读 · 6 评论 -
Java语法糖
语法糖(Syntactic Sugar),也称糖衣语法,是由英国计算机学家 Peter.J.Landin(彼得·兰丁) 发明的一个术语,指在计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。语法糖就是对现有语法的一个封装。简而言之,语法糖让程序更加简洁,有更高的可读性。有意思的是,在编程领域,除了语法糖,还有语法盐和语法糖精的说法,篇幅有限这里不做扩展了。...转载 2019-08-27 16:50:13 · 28791 阅读 · 20 评论 -
Java反射
概述定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。用途通过反射,Java 代码可以发现有关已加载类的字段,方法和构造函数的信息,并可以在安全限制内对这些字段,方法和构造函数进行操作。很多人都认为反射在实际Java中开发应用中并不广...原创 2019-08-28 22:58:42 · 34101 阅读 · 20 评论 -
Java注解
为什么要引入注解?使用【注解】之前(甚至在使用之后),【XML】被广泛的应用于描述元数据,得到各大框架的青睐,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,【XML】的内容也越来越复杂,一些应用开发人员和架构师发现维护成本变高。他们希望使用一些和代码紧耦合的东西,于是就有人提出来一种标记式高耦合的配置方式【注解】。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,...原创 2019-08-31 23:28:04 · 20791 阅读 · 7 评论 -
XML简介
什么是 XMLXML 是可扩展标记语言(EXtensible Markup Language)。XML 是一种很像HTML的标记语言。XML 的设计宗旨是传输数据,而不是显示数据。XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准。XML 用途XML 应用于 Web 开发的许多方面,常用于简化数据的存储和传输。存放数...原创 2019-09-08 23:28:15 · 16983 阅读 · 6 评论 -
JSON简介
概述JSON(JavaScript Object Notation JavaScript 对象表示法)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人的编写和阅读,也易于机器解析。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为...原创 2019-09-08 23:31:38 · 16601 阅读 · 5 评论 -
YML简介
在接触springboot的时候遇到了一种特殊的配置文件 .yml,本文对yml作简单介绍,快速入手yml。一、YML是什么YAML (YAML Aint Markup Language)是一种标记语言,通常以.yml或者.yaml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,一种专门用来写配置...原创 2019-09-08 23:42:04 · 32769 阅读 · 5 评论 -
Java8新特性-Lambda表达式
简介Lambda表达式(也称闭包),是Java8中最受期待和欢迎的新特性之一。在Java语法层面Lambda表达式允许函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。Lambda表达式可以简化函数式接口的使用。函数式接口就是一个只具有一个抽象方法的普通接口,像这样的接口就可以使用Lambda表达式来简化代码的编写。使用Lambda表达式的前提对应接口有且只有一个抽象方...原创 2019-09-08 23:44:07 · 18168 阅读 · 7 评论 -
什么是面向对象
面向对象(OOP)概述从我们开始接触Java这门语言后,就有人告诉我们这是一门面向对象的语言。说的最多的是new个对象,其实并不知道什么是对象。以为对象就是一个class(类),并不觉得有什么特殊。直到很久之后,面试官问到什么是OOP,嘴巴都是一个大O,OOP?WTF?那人厌恶的说到就是面向对象编程。我说:Java就是面向对象,就是一切以对象为载体,去编程,去面对。面试官: go out ! n...转载 2019-09-09 16:56:33 · 73817 阅读 · 46 评论 -
Properties类简介
概述Properties 继承于 Hashtable。表示一个持久的属性集,属性列表以key-value的形式存在,key和value都是字符串。Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变...原创 2019-09-09 17:05:37 · 13776 阅读 · 4 评论 -
JVM、JRE和JDK的关系
JVMJava Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。JREJava Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等...原创 2019-09-25 15:57:54 · 23485 阅读 · 10 评论 -
Java简介
什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。诞生背景任职于Sun公司(Stanford University Network斯坦福网络公司)的詹姆斯·高...原创 2019-06-30 19:33:56 · 49455 阅读 · 22 评论