
JAVA
文章平均质量分 92
AZWCL
木已成舟,只剩远航!
展开
-
Java小项目 — 狼人杀进阶版
转向我的博客查看12人局的一个游戏平民阵营(好人阵营):4个平民神职阵营(好人阵营):4个,分别是预言家,女巫,猎人,白痴狼人阵营(狼人阵营):4个,4个狼人2个大的阶段:黑夜阶段,白天阶段黑夜阶段:(第一阶段)4个狼人见面,共同去决定猎杀一名玩家,狼人的行为就结束了神职阵营行动:1.预言家行动:预言家会查验一个玩家的身份是好人还是狼人查验3号,3号身份–女巫,查验的结果为好人,查验4号,4号身份–狼人,查验的结果就是狼人。2.女巫:一局游戏一共有两瓶药,分别解药与毒药。当女巫有解药的原创 2020-09-16 19:13:53 · 2513 阅读 · 2 评论 -
JAVA 基础实践项目 -- 狼人杀
题目狼人杀,身份分配。12人身份,3个阵营。分配身份。阵营:神民:预言家、女巫、猎人、白痴平民:4民狼人:4 狼人程序执行:1. 分配身份2. 退出点击分配身份,将12个身份随机分给12个用户,打印出来。例如:1.预言家 7.女巫2.平民 8.狼人3.猎人 9狼人4.狼人 10.平民5.白痴 11狼人6.平民 12.平民(进阶功能,可以做一个猜身份的功能)每次分配身份结果都随机,不是固定为上述功能。package com.azw原创 2020-09-09 09:29:32 · 3081 阅读 · 0 评论 -
Java多线程 -- 线程通信
Java多线程 – 线程通信一、传统的线程通信假设现在系统中有两个线程,交替打印奇偶数。为了实现这个功能,可以借助于Object类的wait(),notify(),notifyAll()三个方法,这三个方法并不属于Thread类,而是属于Object类。但是这三个方法必须由同步监视器对象来进行调用。可以分为两种情况:对于使用了synchronized修饰的同步方法,因为该类的默认实例(this)就是同步监视器,所以可以在同步方法之中直接调用三个方法。对于使用了synchronized修饰的同步原创 2020-07-02 19:29:30 · 123 阅读 · 0 评论 -
Java多线程 -- 线程同步
Java多线程 – 线程同步一、线程安全问题 在多线程编程中,极容易出现一个问题,即线程安全。举个栗子~,如果此时火车站有十张余票,四个售票口,此时四个售票口相当于四个线程,他们一同运转,卖票,那么就会出现一个很经典的安全问题。示例代码:class demo{ public static void main(String[] args) throws InterruptedException { Train train = new Train(); Trai原创 2020-07-02 10:44:43 · 133 阅读 · 0 评论 -
Java多线程 -- 控制线程
Java多线程 – 控制线程一、join线程 像人类社会,人有很多时间都在等别人,线程也是一样,有的时候,线程也需要等待别的线程。Thread提供了让一个线程等待另一个线程完成的方法,那就是 join方法,当在某个程序执行流中调用其他线程的join()方法,调用线程则会被阻塞,知道join()方法加入的join线程执行完成为止。 join()方法通常由使用线程的程序调用,以将大问题划分成许多小问题,每个小问题分配一个线程,当所有小问题都得到处理之后,在再调用主线程进一步进行操作。class de原创 2020-07-01 18:25:10 · 125 阅读 · 0 评论 -
Java多线程 - 线程的生命周期
Java多线程 - 线程的生命周期引言:Java线程被创建之后,并非是一启动就开始执行,也不是一直处于执行状态。在线程的生命周期中,需要经过新建、就绪、运行、阻塞和死亡五种状态。线程启动后,不可能一直占用着CPU独自运行,CPU需要再多条线程之间切换,于是线程状态也会多次在运行和就绪之间切换。一、新建和就绪状态当程序使用new关键字创建了一个线程之后,这个线程就会一直处于新建状态,此时它和Java对象一样,仅仅由Java虚拟机为其分配内存,并且初始化其成员变量的值,此时线程对象没有任何线程的动态原创 2020-07-01 08:47:55 · 156 阅读 · 0 评论 -
Java多线程 - 线程的创建与启动
Java多线程 - 线程的创建与启动一、继承Thread类创建线程类1.创建步奏:定义Thread类的子类,重写该类的run()方法,该方法就代表线程需要完成的任务,所以,run方法又被称为线程执行体。创建Thread的实例,即是创建了线程对象。调用线程对象中的start()方法来启动该线程。实例代码:class demo{ public static void main(String[] args) { AThread first = new AThread();原创 2020-06-30 09:12:05 · 188 阅读 · 0 评论 -
Java多线程 -- 概述
Java多线程 - 概述一、线程概述几乎所有的操作系统都会支持进程的概念。所有运行中的任务通常都会对应着一个进程(Process)。而一个程序进入内存中运行的时候,就会变成一个线程。可能很多人会在这里迷糊,进程和线程有些分不清楚。简单,进程和线程区别:进程:运行中的程序,资源分配的单元,切换代价大,拥有资源多。线程:进程内部的一个执行序列,执行行单元,切换代价小,拥有资源少,多个线程共享进程的资源。一般来说:进程会有三个特征:独立性:进程是系统中独立存在的实体,可以拥有自己的独立资源,原创 2020-06-29 08:57:44 · 109 阅读 · 0 评论 -
Java语言的输入与输出与文件处理
一、流的概念流是指计算机各部件之间的数据流动。按照数据的传输方法,流可以分为输入流与输出流。从流的内容上划分,流分为字节流和字符流。输入输出流在Java语言中,把不同类型的输入输出源(键盘,屏幕等)抽象为流,其中输入或输出的数据被称为数据流。数据流分为输入流和输出流,从外设或外存传递到应用程序的流称为输入流,将数据从应用程序传递到外设或外存的流称为输出流。输入流只可以从其中读取数据,输出流...原创 2019-12-22 11:43:32 · 1181 阅读 · 0 评论 -
Java异常机制
一、异常处理概念引文异常是指在程序运行之中因为代码而产生的一种错误,在不支持异常处理的程序语言之中,每一个运行时所发生的的错误必须由程序员手动控制。但是Java语言之中的异常处理机制则会避免这些问题。错误与异常软件开发之中,程序的错误是无法避免的。程序中的错误会有很多种类,一般分为三种,语法错误,语义错误和逻辑错误三种。即便程序中有三种心智的错误,但是Java系统中根据错误的严重...原创 2019-12-18 16:31:03 · 231 阅读 · 0 评论 -
Java面向对象--包
包的概念包其实只是为了区别类名空间的机制。包中还可以再有包。源程序中没有声明类所在的包的时候,Java会将类放在默认包中。包的作用将功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。如同文件夹一样,包也是采用了树形目录的存储方法,同一个包中的类名字是不同的,不同的包中类的名字是可以相同的,当同事调用两个不同包中的相同类名的类时,应该加上包名加以区别,因此,包可以避免...原创 2019-12-16 17:47:58 · 172 阅读 · 0 评论 -
Java面向对象--枚举
枚举简介实际开发的过程之中,我们经常会遇到一些数据的取值就在几个确定的值之间。例如,性别只有男或者女,一周只有七天。自从Java 5之后就开始增加了对枚举类型的支持。枚举也是一种类,一种特殊的类,所以枚举也称为枚举类,是一种引用类型。它的声明和使用与类的接口相似,但是枚举类型的声明必须要使用关键字enum。枚举类型的定义枚举定义的语法格式:[修饰符] enum 枚举类型名{ 枚...原创 2019-12-16 09:25:50 · 282 阅读 · 0 评论 -
Java面向对象--接口
接口的简介接口是Java语言所提供的另一种重要功能,它的结构与抽象类非常相似。接口本身也具有数据成员,抽象方法,默认方法和静态方法,凡是它与抽象类有一些不同。一是接口的数据成员都是静态的且必须初始化,即数据成员必须是静态常量。二是接口中除了声明抽象方法外,还可以定义静态方法和默认方法。接口的定义接口定义的语法格式如下:[public] interface 接口名称 [extends...原创 2019-12-16 08:24:12 · 191 阅读 · 0 评论 -
Java面向对象--抽象类与抽象方法
抽象类与抽象方法抽象类就是abstract修饰的类。声明格式:abstract class 类名{ 声明成员变量; 返回值的数据类型 方法名(参数列表){ ... } } 抽象方法就是abstract修饰的方法。声明格式:abstract void ...原创 2019-12-15 19:19:07 · 137 阅读 · 0 评论 -
Java面向对象--继承
类的继承类的继承是非常重要的一点。继承是面向对象的三大特征之一,可以解决实际编程中代码冗余的问题,也是实现代码重用的重要手段之一,继承:是软件重用的重要手段之一,新类在不增加自身代码的同时,从现有的类中继承其属性和方法,来使其变成自身的内容。这种行为其实就称为继承,这个时候新类就称为子类,现有的类就称为父类。子类的创建Java之中类的继承通过extends关键字实现的。例如:cla...原创 2019-12-15 16:59:27 · 109 阅读 · 0 评论 -
Java面向对象--类的特性
文章目录一、类的私有成员与公共成员二、方法的重载三、构造方法四、静态成员一、类的私有成员与公共成员私有成员如果没有一个方法去限制对类中成员的访问,则可能会造成错误的输入,而为了防止这种情况的发生,Java中提供了私有成员访问控制修饰符private,在类的成员声明之前加上private,则无法从类的外部访问到该类的内部成员,而只能被该类的自身访问和修改,而不可以被其他类访问。从而达到了保...原创 2019-12-14 21:46:43 · 333 阅读 · 0 评论 -
Java面向对象--类
文章目录一、面向对象二、类一、面向对象面向对象的特征:1)封装:是类的一个重要的特征,它将数据和行为都打包写在同一个类中,在对于使用这个类的其他程序来说,会隐藏自己的具体实现方式。2)继承:在创建新的类的时候,使用现有的类作为模板,进行功能的扩充和改进。3)多态:可以将函数的形参定义为一个父类类型,而在真正调用该父类类型的所有子类对象都可以传入,根据传入子类对象不同,函数可以运行多种形...原创 2019-12-14 17:23:07 · 170 阅读 · 0 评论 -
Java基础--字符串
文章目录一、字符串变量的创建二、字符串的常用方法一、字符串变量的创建字符串常量与字符常量:字符常量是单引号(’)括起来的,但是字符串常量是用双引号(")括起来的字符序列。创建字符串常量格式一:String 字符串变量名;字符串变量名 = new String("字符串");//例如:String tmp;tmp = new String("tempString");第一句...原创 2019-12-12 22:32:24 · 210 阅读 · 0 评论 -
Java基础--数组
文章目录一、数组的基本概念二、一维数组三、多维数组一、数组的基本概念数组:就是若干个相同数据类型的元素按照一定顺序排列的集合。特点:a.数组是相同数据类型元素的集合。b.数组中的个元素是有先后顺序的,它们按照这个先后顺序连续存放在一起的。c.数组元素用整个数组的名字和它自己在数组中的顺序位置来表示,例如demo[0]表示名字为demo的数组中的第一个元素。二、一维数组一...原创 2019-12-12 21:48:18 · 248 阅读 · 0 评论 -
Java基础--流程控制语句
文章目录一、语句与复合语句二、顺序结构三、分支结构四、循环结构五、循环中的跳转语句一、语句与复合语句简单语句和复合语句语句可以是以";“结尾的简单语句。可以是用”{}"括起来的复合语句。注释单行注释:以//开头,直至该行行尾。 //单行注释多行注释:以/*开头,*/结束。/* 多行注释1 多行注释2 多行注释3*/文件注释:Java语言所持有的文档注释。以/...原创 2019-12-12 20:12:25 · 387 阅读 · 1 评论 -
Java基础--语言基础
文章目录一 数据类型1.整形2.浮点型3.布尔型4.字符型5.归纳表二 关键字与标识符1.关键字2.标识符3.命名习惯(非强制)4.常量5.变量6.数据类型转换一 数据类型1.整形整形有正整数,零,负整数,含义与数字中的含义相同。其中,在Java语言中的证书有三种进制的表示形式。十进制八进制十六进制Java7语言中定义了四种表示证书的类型:字节型(byte),短整型(short)...原创 2019-12-12 16:37:25 · 739 阅读 · 0 评论