java基础
风学长
这个作者很懒,什么都没留下…
展开
-
Java中守护线程和用户线程的区别。Java线程中setDaemon()方法的使用
package com.zxf.test1;/* 用户线程和守护线程的区别 1 用户线程:主线程结束后。用户线程自己还会运行。 2 守护线程:主线程结束后。守护线程也会结束。 通过使用setDaemon()方式设置。true表示守护线程 */public class Main1 { public static void main(String[] args) { Thread thread=new Thread(()->{原创 2020-09-29 19:31:41 · 557 阅读 · 0 评论 -
jdk1.8 lambda表达式接口的使用
我们是以jdk1.8。完成接口的使用。1 定义一个接口,方法中具有多个参数,没有返回值。我们看看使用lambad方式如何使用。package com.zxf.dLambda;public interface NoneReturnMutipleParameter { //多个参数,无返回值。 public void f1(int x,int y);} @Test public void test3(){ //多个参数,无返回值。 Non原创 2020-08-03 15:31:53 · 2391 阅读 · 0 评论 -
java使用UUID生成随机编码
package com.test1;import java.util.UUID;public class Main4 { public static void main(String[] args) { String u=UUID.randomUUID().toString(); u=u.replaceAll("-","");//去掉- ...原创 2020-02-06 12:50:38 · 4290 阅读 · 0 评论 -
dom4j最简单的解析xml例子
因为要使用dom4j来解析xml所以要导入dom4j的jar包才可以如果大家需要我的jar包可以留言给我。1 xml 文件<?xml version="1.0" encoding="utf-8"?><person> <p1> <name>zhangsan</name> <age>...原创 2020-02-01 16:21:21 · 3363 阅读 · 0 评论 -
SAX解析中如何按条件解析对应的XML文档
1 xml文件<?xml version="1.0" encoding="utf-8"?><person> <p1> <name>zhangsan</name> <age>23</age> </p1> <p1> &l...原创 2020-02-01 15:39:08 · 3850 阅读 · 0 评论 -
最简单的SAX解析XML
1 XML文件<?xml version="1.0" encoding="utf-8"?><person> <p1> <name>zhangsan</name> <age>23</age> </p1> <p1> &l...原创 2020-02-01 15:30:28 · 3602 阅读 · 0 评论 -
最简单的Document解析xml文件
解析项目中的person.xml文件Java代码块package com.test1;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.D...原创 2020-01-31 19:36:31 · 3686 阅读 · 0 评论 -
java中的Map如何遍历key和value
package com.map1;import org.junit.Test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Main1 { @Test public void test1(){ ...原创 2020-01-01 21:15:49 · 4222 阅读 · 0 评论 -
JDBC的框架apache的dbutils的使用
apache的dbutils用于数据库的连接和数据库的CRUD操作,现在通过几个简单的测试方法演示最基本的使用1 下载相应的JAR包2 各个层次代码3 代码如下druid.properties属性配置文件url=jdbc:mysql://localhost:3306/test1?useSSL=false&rewriteBatchedStatements=trueuserna...原创 2019-12-31 19:27:48 · 3293 阅读 · 1 评论 -
java操作Mysql数据库中的Blob二进制数据
1 Mysql表结构2 写入数据到mysql中的photo的mediumblob字段中(注意:由于是演示代码,里面的异常处理,和关闭资源都做了最简单的方式,开发中需要进行相应处理。)(1)连接数据库代码 public static Connection getConnection() throws Exception { Connection conn = null; ...原创 2019-12-28 14:35:41 · 5829 阅读 · 0 评论 -
java字符串中从2个字符串中对比内,检索是否有重复的内容。
public String getMaxSameString(String str1,String str2){ if(null!=str1 && null!=str2){ String maxStr=(str1.length()>=str2.length())?str1:str2; String minStr...原创 2019-12-26 12:58:34 · 3983 阅读 · 1 评论 -
java获取一个字符串,从中查找指定字符串出现的个数。
public int getCount(String mainStr,String subStr){ int minLength=mainStr.length(); int subLength=subStr.length(); int count=0; int index=0; if(minLength>=sub...原创 2019-12-26 12:30:58 · 9052 阅读 · 1 评论 -
java实现任意指定截取位置来进行字符串的反转
package com.test5;import org.junit.Test;public class Main2 { //指定位置进行字符串的反转。 /* 通过char数组 */ public String reverse(String str,int startIndex,int endIndex){ System.ou...原创 2019-12-26 11:58:47 · 4160 阅读 · 1 评论 -
Java中通过实现Callable接口方式,实现多线程。jdk5.0以上版本支持。
package com.exception4;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/* 通过Callable接口实现多线程 */class NumThread impl...原创 2019-12-25 15:32:48 · 4041 阅读 · 0 评论 -
ReentrantLock 线程安全锁的机制
1 具有线程锁的安全机制2 可以在各个线程抢占时,线程之间切换更加频繁代码如下package com.exception2;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;class Ex4 implements Run...原创 2019-12-24 18:27:40 · 4780 阅读 · 1 评论 -
java中的异常体系结构
原创 2019-12-21 21:59:47 · 4748 阅读 · 0 评论 -
Java字节码转换一定要保持一致
public static void main(String[] args)throws Exception { String msg="汉字"; byte[] bytes=msg.getBytes("utf-8"); String ms=new String(bytes,0,bytes.length,"utf-8"); Syst...原创 2019-12-03 15:31:40 · 5443 阅读 · 0 评论 -
Java实现数组的反转算法
String[] s={"a","b","c","d","e","f","g"}; String t; for(int i=0;i<s.length/2;i++){ t=s[i]; s[i]=s[s.length-i-1]; ...原创 2019-11-26 17:49:42 · 4820 阅读 · 0 评论 -
java实现九九乘法表。
for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); ...原创 2019-11-20 15:26:11 · 4777 阅读 · 0 评论 -
Java中求2个正整数的最小公倍数。
public static int f2(int m,int n){ int max=(m>n)?m:n; int r=-1;//如果没有则返回-1 for(int i=max;i<m*n;i++){ //既然是最小公倍数肯定从最大的数值开始。终点为2个数的乘积 if(i%n==0 &&...原创 2019-11-19 21:46:34 · 7166 阅读 · 1 评论 -
java求2个正整数的最大公约数。
/* 最大公约数 */ public static int f1( int num1,int num2){ int min=(num1<num2)?num1:num2; int r=1; for(int i=min;i>1;i--){ //既然是公约数,肯定要从2个数字中最小的开始。到1为止。 ...原创 2019-11-19 21:15:40 · 5239 阅读 · 0 评论 -
java中产生任意范围内的随机数
比如说我们要产生8-9直接的整数随机数,程序要怎么写呢 //[8,9] (b-a+1)+a int i = (int) (Math.random() * (9-8+1)+8); System.out.print(i+"\t");利用公式(b-a+1)+a来完成。...原创 2019-11-19 19:44:46 · 5734 阅读 · 0 评论 -
Java中的移位运算符
System.out.println(8 << 2);//8*(2*2) System.out.println(8 << 3);//8*(2*2*2) System.out.println(8 << 4);//8*(2*2*2*2)根据移动的位数值,相当与乘以N个2. 例如8<<4 相当于8乘以...原创 2019-11-19 18:35:25 · 6255 阅读 · 0 评论 -
java实现输出字符串逆序
public static String rever(String phrase){ String rs=""; for(int i=0;i<phrase.length();i++){ rs=phrase.charAt(i)+rs; } return rs; }原创 2019-11-13 21:49:39 · 6725 阅读 · 0 评论 -
Java中的goto跳转
我们都知道Java中已经取消了goto跳转的功能,但是关键字goto也依然保留了,因此我们无法使用goto关键字作为命名变量。但是我们可以在循环中通过break实现goto跳转的动作,这里只是给大家从语法的层面介绍一下Java语句块的跳转是如何实现的。 public void f2(){ int[][] array={ {23,11,5}, ...原创 2019-11-08 22:55:54 · 6466 阅读 · 0 评论 -
Java实现二维数组遍历
1 使用普通for循环的方式int[][] chessArr1=new int[11][11]; chessArr1[1][2]=1; chessArr1[2][4]=2; for(int i=0;i<chessArr1.length;i++){ //先遍历行 for(int j=0;j...原创 2019-11-06 16:03:24 · 11070 阅读 · 0 评论 -
Java实现洗牌小算法
我们平时玩斗地主的时候,需要把一副扑克牌打乱顺序,发给玩家,在生活中我们如果洗一次牌和洗一百次牌乱序的效果是不同的,那么我们怎么利用计算机程序模拟洗牌的动作呢。package com.test1;public class H3 { public static void show(String[] x){ for (int i = 0; i <x.length ;...原创 2019-10-31 15:19:47 · 6388 阅读 · 0 评论 -
不会java数组排序的进来看一下
为什么很多人对于数组排序不容易掌握,最主要就是上来就给你几个循环嵌套,给你弄得晕头转向,所有我把数组排序用手动的方式分解了一下,通过逐步推演的方式一步步走向用循环嵌套的方式完成最终写法。我们来看一下Java实现选择排序。1 乱序的数组。 int[] x={45,78,12,-45,89,90,-129};2编写一个show()方法用于显示遍历数组。public static void...原创 2019-10-30 12:44:28 · 5679 阅读 · 0 评论 -
Java实现比较三个数大小
今天给大家展示一个之前写的Java小程序,实现3个数比较大小。本例中不会用到第三方变量,也不会用if分支。使用更高效率和更可读的写法完成。 int a = 10; int b = 15; int c = 22; int n = a>b? a : b; //找出a和b最大值。 int m = n>c? n : c;//用n和c比较。 System.ou...原创 2019-10-29 14:43:31 · 17304 阅读 · 0 评论 -
Java实现字符串的反向输出
为了给大家展示更加清晰的程序构思,本人分了3步进行推演算法。用普通方法模拟public static void f3() { String a="abc123";//反向输出 //1.0写法 String b=""; b+='3'; b+='2'; b+='1'; b+='c'; b+='b'; b+='a'; System.out.println(...原创 2019-10-28 13:30:40 · 8385 阅读 · 0 评论 -
Java中比较字符串为何使用equals方法
Java字符串比较中,为什么要使用equals,而不可以使用 ==public static void f1() { String x = "1234"; String y = "1234"; System.out.println(a == b);// 此时相等,不是内容的相等,而是串池的地址相等。 } public static void f2() { String x ...原创 2019-10-28 13:22:35 · 7213 阅读 · 0 评论 -
Java中为什么要给对象命名(这里暂时不看临时对象)
我们也看几个生活中的例子2个双胞胎一模一样,他们的父母有时候也会辨认错,但是我一个外人一下子就可以辨认出来。请问我用了什么方法?请把电视机关上?你该如何操作。请同学站起来回答问题,同学会想老师叫的是谁?只要给每一份个体(对象)命名就可以直接操作了。我们来看一段Java代码片段class 灯泡{ public long 亮度() {} public boolean 状态(开关 ...原创 2019-10-27 15:25:11 · 5963 阅读 · 0 评论 -
Java中为什么要有重载现象
Java中为什么要有重载现象。一句话告诉你们“节约词汇”。我们先从生活中的例子来看。打?你会想到什么。要看宾语是什么。打球打孩子打仗打的那么如果你是语言学家,你是否要设计多个“打”呢?我们来看以下程序代码块。public class Main1 { public void f() { } public void f(int i) { System.out.pri...原创 2019-10-26 10:18:20 · 7265 阅读 · 0 评论 -
Java中return到底做什么的?
如果我们的方法有返回值,我们必须使用return返回如果方法是void类型可以使用return 返回吗?return方法一定要在方法的最后代码段吗?实际上return语句就是返回方法体。int a; public void setA(int n) { //判断传递进来的实参是否大于0. //如果小于0,则不赋值,直接返回至方法体。 if(n<0) return;//此时...原创 2019-10-25 17:00:13 · 11053 阅读 · 0 评论 -
你所不知道的Java中&和&&的区别
Java中&与&&的区别 int n,d,q; n=10; d=0; if( d!=0 && (n%d)==0 ){//非常有效的判断了除零操作 &&|如果为单个&就无法判断了。 System.out.println("1111"); } System.ou...原创 2019-10-24 14:54:32 · 8512 阅读 · 0 评论