![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
文章平均质量分 76
丿涛哥哥
站得更高才能看得更远。努力吧!少年!
展开
-
Java用户交互Scanner
Java流程控制01:用户交互ScannerScanner对象为了实现程序和人的交互,Java提供了这样一个工具类,可以获取用户的输入。java.util.Scanner是Java5的新特性,可以通过Scanner来获取用户的输入。基本语法格式如下:Scanner sc = new Scanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。next原创 2020-07-12 09:57:04 · 162 阅读 · 0 评论 -
Java顺序结构
Java流程控制02:顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。public class Demo01 { public static void main(String[] args) { System.out.println("hello1"); Syste原创 2020-07-12 10:11:43 · 383 阅读 · 0 评论 -
Java选择结构
Java流程控制03:选择结构if选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。语法:if(布尔表达式){ //如果布尔表达式为true将执行的语句 }执行流程图:案例:public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Sys原创 2020-07-12 11:55:19 · 151 阅读 · 0 评论 -
Java循环结构
Java流程控制04:循环结构while循环while是最基本的循环,它的结构为:while(布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。少部分情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或造成程序卡死崩溃!案例:public class Demo08 {原创 2020-07-12 13:13:23 · 223 阅读 · 0 评论 -
Java中break、continue、goto关键字
Java流程控制05:break、continue、gotobreak在任何循环语句的主题部分,均可用 break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句在switch语句中的使用)continue语句 用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。关于goto关键字:goto关键字很早就在程序设计语言中出现,尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用。Java没有goto原创 2020-07-12 14:06:23 · 263 阅读 · 0 评论 -
Java三大版本
Java三大版本 Java三大版本代表着Java技术的三个应用领域:JavaSE、JavaME、JavaEE。 Java以前很长一段时间被称为Java2,所以现在很多人习惯称为J2SE、J2ME、J2EE,它们表示的含义是一样的。JavaSE JavaSE,它是JAVA的标准版,是整个JAVA的基础和核心,也是JavaEE和JavaME技术的基础,主要用于开发桌面应用程序。JavaME JavaME,它叫做Java的微缩版,主要应用于嵌入式开发,比如手机程序的开发。JavaEE原创 2020-11-15 17:59:40 · 1062 阅读 · 1 评论 -
JDK、JRE、JVM
JDK、JRE、JVMJDK JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JDK是整个Java的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类原创 2020-11-15 18:14:35 · 150 阅读 · 0 评论 -
Java开发环境搭建
Java开发环境搭建JDK下载与安装这里以JDK8为例。首先进入Oracle官网:https://www.oracle.com/cn/index.html账户自行注册,现在必须登录之后才能下载JDK。点击网站首页的“产品”,然后找到Java然后点击下载现在已经更新到Java 15的版本了,这里我要下载的是Java 8,页面向下滑,找到Java 8,点击下载。找到Windows版本,下载。下载完成之后,双击打开安装包在这直接点击下一步就好了。在这选择自己想要安装的路径,这个原创 2020-11-16 20:20:05 · 63 阅读 · 0 评论 -
HelloWorld及简单语法规则
HelloWorld及简单语法规则HelloWorld先随便一个文件夹,用来存放代码新建一个java文件(文本文档)文件名后缀为.javaHello.java讲扩展名改成.java这里需要注意:操作系统可能没有显示文件的扩展名,需要手动打开。用NotePad++打开这个java文件(NotePad++自行下载,没有的话用记事本也可以)下面就可以编写我们第一个Java程序了:代买如下:public class Hello{ public static void main原创 2020-11-16 23:17:22 · 237 阅读 · 0 评论 -
Java程序运行机制
Java程序运行机制简单来说Java程序的运行机制分为编写 、编译、运行 三个步骤。运行机制 主要是指编译 、运行的过程编译Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。好让JVM(java虚拟机)里的解释器可以正常读取。运行三步 代码的装入、代码的校验和代码的执行代码的装入JVM控制解释器中的“类装载器”去读取和装载程序所需的类(class的字节码)。然后解释器开始建立类与类之间的关系。代码的校验字节码校验器进行检查:校验器原创 2020-11-17 22:55:30 · 894 阅读 · 4 评论 -
使用IDEA开发
使用IDEA开发什么是IDE集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。IDEA安装IDEA官网:https://www.jetbrains.com/首先进入IDEA官网,找到IntelliJ IDEA然后点击Downloa原创 2020-11-18 23:27:05 · 1625 阅读 · 1 评论 -
Java特性和优势
Java特性和优势简单性 Java就是C++语法的简化版,我们也可以将Java称之为“C+±”。跟我念“C加加减”,指的就是将C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚基类等等。同时,由于语法基于C语言,因此学习起来完全不费力。面向对象 面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性! Java则是完全的面向对象语言。跨平台原创 2020-11-15 17:18:09 · 162 阅读 · 0 评论 -
Java注释、标识符和关键字、数据类型及数据类型转换
Java基础01:注释、标识符和关键字、数据类型及数据类型转换注释1.单行注释在代码行的后面,用"//"来隔开代码,在双斜杠后边输对入代码的解释内容。比如:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qVClQDir-1594478774638)(C:\Users\94721\AppData\Roaming\Typora\typora-user-images\image-20200711215945824.png)]2.多行注释单行注释只能写在一行内,其不能用回原创 2020-07-11 23:13:13 · 257 阅读 · 0 评论 -
Java数据类型转换
Java数据类型转换由于Java是强类型语言,所以在一些运算的时候,需要用到数据类型转换。底---------------------------------------------------->高byte,short,char->int->long->float->double在运算中,不同类型的数据先转化为同一类型,然后再进行计算。自动类型转换自动转换不需要用户提前声明,一般是从位数低的类型向位数高的类型转换。强制类型转换强制转换的格式是在需要转型的数据前原创 2020-11-22 20:29:26 · 113 阅读 · 0 评论 -
Java数据类型
Java数据类型Java是强类型语言,要求变量的使用要严格符合规定,所有变量必须先定义后才能使用。这里我们看一下什么是请类型语言和弱类型语言:强类型语言强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java、.net 、C++等语言。例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。弱类型语言 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过原创 2020-11-20 22:11:06 · 102 阅读 · 0 评论 -
Java标识符及关键字
Java标识符及关键字关键字Java关键字如下:标识符Java所有的组成部分都需要名字。类名、变量名及方法名都被称为标识符。标识符注意点所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始。首字母之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合。不能使用关键字作为变量名或方法名。标识符是大小写敏感的。合法的标识符举例:age、$salary、_value、__1_value非法的表示符举例:123abc、-salary、原创 2020-11-19 23:27:35 · 344 阅读 · 2 评论 -
Java注释
Java注释平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。注释并不会执行,是给我们写代码的人看的。书写注释是一个非常好的习惯。平时写代码一定要注意规范。Java中的注释有三种:单行注释只能注释一行文字多行注释可以写多行注释文档注释(这里先不做详细讲解,后续会详细介绍)示例如下:public class HelloWorld { public static void main(String[] args)原创 2020-11-19 22:21:01 · 91 阅读 · 2 评论 -
Java多线程03:线程的状态
Java多线程03:线程的状态线程的状态五大状态线程方法方法说明setPriority(int newPriority)更改线程的优先级static void sleep(long millis)在指定的毫秒数内让当前正在执行的线程休眠void join()等待该线程终止static void yield()暂停当前正在执行的线程对象,并执行其他线程void interrupt()中断线程,别用这个方式boolean isAlive()原创 2020-08-10 22:48:37 · 103 阅读 · 0 评论 -
Java网络编程03:UDP
Java网络编程03:UDP发短信:不用连接,需要知道对方的地址!UDP消息发送发送端//不需要连接服务器public class UdpClientDemo01 { public static void main(String[] args) throws Exception { //1.建立一个Socket DatagramSocket socket = new DatagramSocket(); //2.建个包 Stri原创 2020-07-15 13:04:25 · 136 阅读 · 0 评论 -
Java网络编程02:TCP案例
Java网络编程02:TCP案例客户端连接服务器Socket发送消息//客户端public class TcpClientDemo01 { public static void main(String[] args) { Socket socket = null; OutputStream os = null; try { //1.要知道服务器的地址,端口号 InetAddress se原创 2020-07-15 00:56:40 · 110 阅读 · 0 评论 -
Java网络编程01:通信协议
Java网络编程01:通信协议概述计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,交换数据。通信想达到这个效果需要什么:如何准确的定位网络上的一台主机 : [ip地址]:端口,定位到这个计算机上的某个资源。找到了这个主机,如何传输数据呢?网络通信的要素如何实现网络的通信?通过双方地址:ip端原创 2020-07-14 23:39:35 · 306 阅读 · 0 评论 -
Java异常机制
Java异常机制什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求,你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据库可能是空的。我们的程序再跑着,内存或硬盘可能满了等等。软件程序再运行的过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些例外情况,或者叫异常,怎么让我们写的程序做出合理的处理。而不至于程序崩溃。异常指程序运行中出现的不期而至的各种状况,如:文件找不原创 2020-07-14 00:21:27 · 115 阅读 · 0 评论 -
Java面向对象:抽象类、接口、内部类
Java面向对象04:抽象类、接口、内部类抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。案例:A.java//抽象类的所有方法,继承了它原创 2020-07-13 22:54:05 · 138 阅读 · 1 评论 -
Java面向对象:封装、继承、多态
Java面向对象03:封装、继承、多态封装该露的露,该藏的藏我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏属性私有,get/set案例:Student.java//类 private: 私有public class Student { //属性私有 private String nam原创 2020-07-13 15:49:48 · 278 阅读 · 0 评论 -
Java面向对象:构造器
Java面向对象02:构造器构造器构造器:和类名相同没有返回值作用:new 本质在调用构造方法初始化对象的值注意:定义有参构造之后,如果想使用无参构造,要显示的定义一个无参构造案例:Person.javapublic class Person { //一个类即使什么都不写,它也会存在一个方法 //显示的定义构造器 String name; //实例化初始值 //1.使用new关键字,本质是在调用构造器 //2.用来初始原创 2020-07-13 13:14:48 · 166 阅读 · 0 评论 -
Java面向对象:创建与初始化对象
Java面向对象01:创建与初始化对象面向过程&面向对象面向过程思想步骤清晰简单,第一步做什么,第二步做什么…面向过程适合处理一些较为简单的问题。面向对象思想物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考,最后才对某个分类下的细节进行面向过程的思索。面向对象适合处理复杂的问题,适合处理需要多人协作的问题!对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向原创 2020-07-13 12:21:25 · 239 阅读 · 0 评论 -
Java稀疏数组
Java数组05:稀疏数组需求:编写五子棋游戏中,有存盘退出和续上盘的功能。分析问题:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据。解决:稀疏数组稀疏数组介绍当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方式是:记录数组一共有几行几列,有多少个不同值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模如下图:左边是原始数组,右边是稀疏数组实现代码如下:public class ArrayDemo原创 2020-07-13 01:30:04 · 187 阅读 · 0 评论 -
Java中的Arrays类、冒泡排序
Java数组04:Arrays类、冒泡排序数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用。从而可以对数据进行一些基本的操作。查看JDK帮助文档。Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接用类名进行调用,而“不用”使用对象来调用(注意:是“不用”而不是“不能”)。具有以下常用功能:给数组赋值:通过 fill 方法。对数组排序:通过 sort 方法,按升序。比较数组:通过原创 2020-07-13 00:52:22 · 273 阅读 · 0 评论 -
Javas多维数组
Javas数组03:多维数组多维数组多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。二维数组:int a[][] = new int[2][5];以上二维数组a可以看成一个两行五列的数组。内存分析案例:public class ArrayDemo05 { public static void main(String[] args) { //[4][2] /* 1,2 arr原创 2020-07-13 00:06:08 · 160 阅读 · 0 评论 -
Java数组的使用
Java数组02:数组的使用数组的内存分析数组的三种初始化静态初始化:int[] a = {1,2,3};Man[] mans = {new Man(1,1),new Man(2,2)};动态初始化:int[] a = new int[2];a[0] = 1;a[1] = 2;默认初始化:数组是引用类型,它的元素相当余类的实例变量,因此数组一经分配空间,其中每个元素也按照实例变量同样的方式被隐式初始化。案例:public class ArrayDemo02 { pub原创 2020-07-12 23:47:16 · 179 阅读 · 0 评论 -
Java数组声明和创建
Java数组01:数组声明和创建数组的定义数组就是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar; //首选的方法或dataType arrayRefVar[]; //效果相同,但不是首选方法Java语言使用new操作符来创建数组,语法如下:d原创 2020-07-12 23:00:49 · 887 阅读 · 0 评论 -
Java中递归算法
Java方法03:递归A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!也就是自己调用自己利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。递归结构包括两个部分:递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。递归体:什么时候需要调用自身方法。案例:实现计算5原创 2020-07-12 17:03:28 · 325 阅读 · 0 评论 -
Java方法的重载及参数
Java方法02:方法的重载及参数方法重载重载就是在一个类中,有相同的函数名称,但形参不同的函数。方法重载的规则:方法名称必须相同。参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。方法的返回类型可以相同也可以不相同。仅仅返回类型不同不足以成为方法的重载。实现理论:方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。案例:public class Demo03 { public static voi原创 2020-07-12 16:43:12 · 929 阅读 · 0 评论 -
Java方法01:方法的定义和调用
Java方法01:方法的定义和调用什么是方法?System.out.println(),那么它是什么呢?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合。方法包含于类或对象中。方法在程序中被创建,在其他地方被引用。设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只能完成一个功能,这样有利于我们后期的扩展。方法的定义Java的方法类似于其它语言的函数,是一段用来完成特定功能的原创 2020-07-12 15:16:48 · 218 阅读 · 0 评论 -
Java包机制及JavaDoc
Java基础04:包机制、JavaDoc包机制为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[.pkg2[.pkg3...]];一般利用公司域名倒置作为包名;为了能够使用某一个包的成员,需要在Java程序中明确导入该包。使用“import”语句可完成此功能。import package1[.package2...].(classname|\*);JavaDocJavaDoc命令是用来生成自己API文档的。参数信息:@a原创 2020-07-12 08:48:52 · 143 阅读 · 0 评论 -
Java运算符
Java基础03:运算符Java语言支持如下运算符算数运算符:+, -、 *, /, %, ++, –赋值运算符:=关系运算符:>, < , >=, <=, ==, !=instanceof逻辑运算符:&&, ||, !位运算符:&, |, ^, ~, >>, <<, >>>(了解!!!)条件运算符:? :扩展赋值运算符:+=, -=, *= , /=public class Demo01 {原创 2020-07-12 01:01:19 · 164 阅读 · 0 评论 -
Java中的变量、常量、作用域
Java基础02:变量、常量、作用域变量变量是什么:就是可以变化的量!Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。注意事项:每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。变量声明是一条完整的语句,因此每一个声明都必须以分号结束。变量作用域类变量、实例变量、局部变量public class Demo08 { //类变量 static static原创 2020-07-11 23:58:46 · 286 阅读 · 0 评论