
java
一克李普斯
这个作者很懒,什么都没留下…
展开
-
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
Scanner scan = new Scanner(System.in);System.out.print("请输入任意一个正整数:");int number = scan.nextInt();System.out.print(number+"=");if(number == 1) { System.out.println(1);}for(int i = 2;i <= nu...原创 2019-02-27 23:05:31 · 2994 阅读 · 0 评论 -
java变量
变量是指内存中的一个存储区域,该区域有自己的名称也就是变量名,和数据类型,该区域的值可以再同一数据类型的范围内变化原创 2019-05-05 22:23:40 · 93 阅读 · 0 评论 -
HashMap集合常用方法
HashMap<key,value>键值对存储,每一个键值对是一个Entry实例对象key:不可重复,底层通过equals和hashCode方法过滤重复value:可重复常用方法:(增删改查)value put(key,value) 添加一个键值对,返回添加的值,若key已存在,则覆盖(此特性可用作修改)value remove(key) 删除指定key对...原创 2019-05-01 11:55:03 · 2497 阅读 · 0 评论 -
二分查找法
适用于内部元素有序的数组/*查找升序数组*/public static int findIndex(int[] arr,int x){ int start = 0; int end = arr.length-1; int middle = 0; //数组长度为0 或 当前数大于数组中最大数 || 或当前数小于数组中最小数 if(start...原创 2019-05-19 11:48:58 · 128 阅读 · 0 评论 -
关于hashCode和equals
hashCode和equals都是Object的方法hashCode默认是调用本地方法,根据对象在jvm中的地址计算的hash码,所以每个对象的hashCode都码不同;equals默认是比较两个引用的地址是否相同,与运算符==结果相同;Java规范:两个对象equals比较相等时,则hashCode也应该相同所以我们重写equals方法的同时也应该重写hashCode方法;...原创 2019-05-09 23:02:22 · 338 阅读 · 0 评论 -
面向对象三大特征
封装:把事物的属性和方法封装为一个抽象类,把内部实现的逻辑隐藏起来,对数据的访问只能通过特定的方法,提高代码的安全性,减少使用的复杂度继承:把一些具有相同属性或方法的类抽出一个超类,通过继承这超类提高代码的复用性多态:多态可分为行为多态和对象多态,行为多态指 同一个方法不同的对象调用呈现出不同的结果对象多态指 同一个对象可以造型为不同的类型 不同的类型有不同...原创 2019-05-07 22:43:31 · 126 阅读 · 0 评论 -
synchronized同步锁
同步代码块:synchronized(obj){ //执行的代码...} //锁指定的某个实例对象synchronized(this){ //执行的代码...} //锁调用当前方法的实例对象synchronized(类名.class){ //执行的代码...}//锁指定的某个类的类对象同步实例方法public synchronizedvoid test(){ //方法...原创 2019-05-11 22:55:12 · 298 阅读 · 0 评论 -
eclipse中使用git远程仓库
初始化本地仓库Team—share project:提交修改到本地库Team—commit:提交到远程库Team--Remote--Push:导入远程仓库项目左侧空白右键 import—...原创 2019-05-22 00:18:43 · 3322 阅读 · 0 评论 -
JDBC的使用
1.加载驱动Class.forName("com.mysql.jdbc.Driver");2.创建连接对象Connection conn =DriverManager.getConnection(url , username , password ) ;3.创建会话对象Statement stat = conn.createStatment();Statem...原创 2019-05-26 20:40:06 · 143 阅读 · 0 评论 -
git命令操作
> 添加当前系统用户级别用户签名和邮箱> git config --global user.name '用户名' > git config --global user.email '邮箱'> > git init //当前目录创建git仓库> git status //查看仓库状态> ...原创 2019-05-22 22:46:34 · 100 阅读 · 0 评论 -
文件字节流
java.io.FileInputStream(读入)构造方法:FileInputStream(File file)通过File对象创建对应的流若文件不存在则抛出(FileNotFoundException )异常FileInputStream(String path)通过“文件路径”创建对应的流若文件不存在则抛出(FileNotFoundException )异常方法:...原创 2019-06-01 19:37:37 · 1547 阅读 · 0 评论 -
缓冲字节流
java.io.BufferedInputStream(读入)构造方法BufferedInputStream(InputStream in)在in低级流的基础上创建对应的高级流,默认缓冲器8kbBufferedInputStream(InputStream in,int size)在in低级流的基础上创建对应的高级流,并指定缓冲区大小(字节)方法:void close...原创 2019-06-01 22:08:00 · 256 阅读 · 0 评论 -
字符流
所有字符流都继承:Reader和Writer字符流是以字符(char)为最小单位读写数据的,因此字符流仅适合读写文本数据。字符流底层实际还是读写字节,只是字节与字符的转换由字符流自行完成转换流:java.io.InputStreamReaderjava.io.OutputStreamWriter常用的字符流实现类,在以字符流作为操作的流连接中起到非常重要的环境,但是通常不直...原创 2019-06-01 22:21:51 · 2060 阅读 · 0 评论 -
时间相关类:Date SimpleDateFormat Calendar
java.util.Date构造方法:Date() 当前系统时间Date(long date) 指定时间戳方法:long getTime()获取时间戳void setTime(long time)设置一个long值使当前Date表示这个时间java.text.SimpleDateFormat构造方法:SimpleDateFromat("yyy...原创 2019-06-01 22:55:10 · 180 阅读 · 0 评论 -
反射reflect
反射是java在一个动态机制,它将实例化对象,调用方法,操作属性等工作从编码期间确定转为程序运行期间确定,这大大的提高了代码的灵活性。反射有更多的资源开销和较慢的运行效率,因此只在关键的地方使用反射,而不应大量应用。类对象Class,它的每一个实例是用来表示JVM已经加载的一个类。每个被JVM加载的类都有且只有一个Class的实例与之对应。通过类对象我们可以得知其表示的类的一切信...原创 2019-06-02 10:22:09 · 158 阅读 · 0 评论 -
线程
创建线程的两种方式:一.创建类继承Thread重写run方法,调用start()方法由于java是单继承的,这导致若继承了线程就无法再继承其他类入复用方法,这在实际开发中很不方便直接重写run方法来定义线程任务会导致线程与任务存在一个必然的耦合关系,不利于线程的重用。二. 创建类实现Runnable接口重写run方法,实例化 Thread ( Runnable )类传参Runnab...原创 2019-06-02 10:31:12 · 202 阅读 · 0 评论 -
适配器模式Adapter
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。适用场景:A类和B类之间没有继承和实现的关系,想通过A类引用调用B类的方法,这时就需要创建适配器类来搭建两者之间的关系对象适配器模式通过继承或实现要适配的类或接口,定义一个目标类的属性重写要适配类中的要适配方法,方法中调用目标类中的目...原创 2019-06-16 10:33:34 · 117 阅读 · 0 评论 -
Collection集合常用实现类及方法
目录ArrayList有序,底层数组实现,遍历轮询效率高LinkedList 链表形式存储,增删效率高HashSet 无序,不重复(通过equals()和hashCode方法过滤是否重复)TreeSet无序,不重复(通过实现Comparable的CompareTo方法过滤重复元素)ArrayList有序,底层数组实现,遍历轮询效率高增:boolea...原创 2019-04-30 10:51:23 · 2542 阅读 · 0 评论 -
java线程
线程的状态线程的创建:1.继承Thread类2.实现Runnable接口常用的方法:void start() 线程就绪static Thread currentThread() 获取当前线程对象static void sleep(long millis) 将当前正在执行的线程,暂停指定的时间(毫秒)void setPriority( int newp...原创 2019-05-04 11:18:30 · 110 阅读 · 0 评论 -
简单工厂模式Simple Factory
Intent:针对问题:在编码时期不能预见需要创建那种类型的实例解决方法:传递不同的参数动态创建不同的对象实现步骤:1,抽象产品类:所需要创建类的超类2,具体产品类:继承抽象产品类,根据需要重写超类3,产品工厂类:负责根据提供的参数创建对应的实例对象例:抽象产品类package simplefactory;/** * 抽象产品类 */public in...原创 2019-05-03 11:41:07 · 216 阅读 · 0 评论 -
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
public static void main(String[] args) { double h = 100;//记录球每次反弹和下次落下时的高度 double sum=0;//统计球一共经过多少米 for(int i=1;i<=10;i++) { sum = sum+h;//累加上落地时经过的高度 System.out.println("第"+i+"次落地时,共经过:"...原创 2019-02-27 23:31:47 · 4204 阅读 · 0 评论 -
猴子吃桃问题
问题描述:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第十天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?public static void main(String[] args) { // 前一天的桃子数量=当天桃子数量+1再*2 int to...原创 2019-02-28 22:50:23 · 196 阅读 · 0 评论 -
求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时共有 5 个数相加),几个数相加由键盘控制
分析:第二次相加的数等于第一次的数*10+a,第三次相加的数等于第二次的数*10+a.……以此类推可用while循环实现代码如下:public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入要相加的数字:"); double a = sc...原创 2019-02-28 23:23:18 · 4851 阅读 · 0 评论 -
题目:打印出如下图案(菱形)
菱形的大小由键盘输入控制public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("请输入菱形的大小:"); int size = scan.nextInt(); //上半部分 int v = 1;//第一行*的个数 for(int i...原创 2019-03-01 16:28:01 · 4132 阅读 · 0 评论 -
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
完全平方数:某个整数的平方 如:1*1=1、2*2=4、3*3=9 public static void main(String[] args) { int i = 1; while(true){ if(Math.sqrt(i+100)%1 == 0 && Math.sqrt(i+100+168)%1==0){ System.out.println...原创 2019-03-01 16:32:31 · 457 阅读 · 0 评论 -
打印出所有水仙花数
水仙花:是指一共三位数,其各位数字立方和等于该数本身。例如:153=1的三次方+5的三次方+3的三次方public static void main(String[] args) { for(int i=100;i<1000;i++){ int a = i/100; //百位 int b = i/10%10; //十位 int c = i%10; /...原创 2019-03-02 09:52:14 · 346 阅读 · 0 评论 -
Java猜字母游戏
* 程序随机生成5个字母让玩家猜* 字母和位置必须都对* 猜错 提醒玩家猜对了几个字母、其中位置对了几个* 一共500分,猜错一次扣10分;package day07;import java.util.Scanner;/** * 猜字母游戏 * 程序随机生成5个字母让玩家猜 * 字母和位置必须都对 * 猜错 提醒玩家猜对了几个字母、其中位置对了几个 * 一共5...原创 2019-03-05 20:10:05 · 1126 阅读 · 0 评论 -
题目:判断101-200之间有多少个素数,并输出所有素数。
素数(质数):定义为在大于1的自然数中,除了1和它本身以外不能被其他数整除。实现代码//count用来存放一共有多少给素数int count = 0;//外层循环遍历101~200之间的数for(int i=101;i<=200;i++) { //term用来判断是否是素数 boolean term = true; //内层循环遍历当前数值能否被其他数整除 for(i...原创 2019-02-26 22:24:55 · 1893 阅读 · 0 评论 -
题目:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都出。
因为是三位数所以用三层循环分别控制百位、十位、个位第一次层循环找出每一个百位数(1**、2**、3**、4**)中间循环找出每个百位数下所有不同的十位数((12*、13*、14*)(21*、23*、24*)……)最后一层循环找出每个百位数下的每个十位数下所有不同的个位数((123、124)(132、134)(142、143))……//arr 要判断的数组int[] arr = ...原创 2019-02-26 23:10:18 · 2923 阅读 · 0 评论 -
抽象和接口
接口是一种数据类型(引用类型),不可以实例化Interface 定义Implements 实现接口里面的变量默认都是静态常量,方法默认都是抽象方法,并且默认权限是public一个类可以继承多个接口,用逗号隔开若同时继承和实现,则先写继承后写实现接口可以继承接口...原创 2019-03-19 19:26:10 · 146 阅读 · 0 评论 -
java修饰符
修饰符 外部类 内部类 方法 抽象方法 变量 public √ √ √ √ √ protect × √ √ √ √ 默认(default) √ √ √ √ √ privat...原创 2019-04-30 10:14:21 · 136 阅读 · 0 评论 -
匿名内部类
匿名内部类创建的格式类似于创建一个匿名的派生类(子类),然后向上造型;父类 变量名 = new 父类(){ 匿名类的类体 };匿名内部类的引用是父类型的,所以匿名内部类的方法必须是重写父类的才能被调用,否则编译错误;...原创 2019-03-18 22:58:05 · 164 阅读 · 0 评论 -
修饰符
权限修饰符权限修饰符 跨包 子类 同包 本类 public YES YES YES YES protected NO YES YES YES 默认不写的 NO NO YES YES private NO NO NO YES final修饰属性 只有一次...转载 2019-04-06 12:44:34 · 101 阅读 · 0 评论 -
单例模式(singleton)
目的:让一个类只能创建一个对象,有效的减少内存占用空间让构造方法私有化(保证外面不可以随便创建对象) 在当前类创建一个私有的当前类的静态属性(只存在一份的对象) 提供一个公开的获取这个属性的静态方法(通过类名可以直接调用)饿汉式(立即加载)缺点:启动项目时就加载对象,有可能还没用到,会造成加载的对象过多,产生服务器承载压力的问题public class SingleTonTes...原创 2019-04-06 17:21:15 · 209 阅读 · 0 评论 -
Sting类常用方法
String的不可变性String类的内部是通过private final修饰的char数组来存储每个字符,数组的长度本身就是不可变的,final修饰的属性不可改变,private修饰的属性类外部无法访问实现了comparable接口的compareTo方法Sting类常用方法 方法名 参数列表 返回值类型 方...原创 2019-03-28 20:45:25 · 420 阅读 · 0 评论 -
使用DOM4J解析和创建XML
使用DOM4J解析XML的大致步骤SAXReader reader = new SAXReader();1.创建SAXReaderDocument doc = reader.read(new File("emplist.xml"));2.使用SAXReader读取XML文档,并生成Document对象Document提供了获取根元素的方法Element getRootElement();3.通过Document对象获取根元素Element的每一个实例用于表示XML文档中的一个元素(一对标签)原创 2019-04-20 22:03:25 · 164 阅读 · 0 评论 -
Socket网络编程
什么是Socket?简单来说是ip地址与端口的结合协议(RFC 793)一种地址与端口的结合描述协议TCP/IP协议的相关API的总称;是网络API的集合实现Socket之TCPTCP是面向连接的通讯协议通过三次握手建立连接,通讯完成时要拆除连接由于TCP是面向连接的所以只能用于端到端的通讯Socket之UDPUDP是面向无连接的通讯协议UDP数据包括目的端...原创 2019-08-16 12:26:39 · 251 阅读 · 0 评论