自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Java中通过实现Runnable接口的方式创建多线程

通过实现Runnable接口的方法实现多线程:定义一个类实现Runnable接口实现run方法,将线程执行体编写创建线程对象,调用start()方法启动线程package com.company.threadlesson;//创建线程方式二:实现Runnable接口,重写run方法,执行线程需要丢入runnable的实现类对象,最后代理类执行start方法public class TestThread3 implements Runnable{ @Override publ

2020-11-26 09:47:13 1200

原创 Java通过Thread类实现多线程网络图片下载

思路:想要在网上下载图片,需要写一个下载器。借助到的类为FileUtils,用到的方法为copyURLTOFile,借助这个工具可以将一个url转换为一个文件,因此这里需要的参数是一个url和一个名字name。下载器写好后,需要一个线程类,该类继承Thread类。需要的参数url和name在构造器中被联系上。然后重写run方法,run方法是下载图片线程的执行体主函数执行线程,将实参url和name传入,进行下载这里注意需要一点准备工作:Commons IO在官网上下载相关包,然后在代码的最启

2020-11-25 09:54:25 149

原创 Java实现线程创建之Thread

在Java中,创建线程有三种方式:继承Thread类实现Runnable接口实现Callable接口通过Thread实现的步骤如下:自定义线程类继承Thread类重写run()方法,编写出线程的执行体创建线程对象,调用start()方法启动执行注意:开启线程的方法是start()方法,线程类里面有run方法,启用start方法时候就会执行run方法了。千万不能用run()方法,这样是顺序执行,而非多线程。package com.company.threadlesson;//创

2020-11-25 09:18:48 176

原创 Udp实现聊天

发送端package com.company.chat;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;public class UdpSenderDemo01 { public static void main(S

2020-11-23 14:51:16 83

原创 简单:两数之和

两数之和题目:解析:class Solution { public int[] twoSum(int[] nums, int target) { int[] result=new int[2]; for(int i=0;i<nums.length;i++){ for(int j=i+1;j<nums.length;j++){ if(target==nums[i]+nums[j]){

2020-11-11 11:24:52 45

原创 Random猜数字

Random的作用和使用步骤作用:产生一个随机数使用步骤:导包import java.util.Random;//导包的动作必须出现在类定义的上面创建对象Random r=new Random();获取随机数int num=r.nextInt(10);//获取数据范围:[0,10)intm=r.nextInt(100)+1;//获取1到100之间的随机数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kzvvjM76-15986675467

2020-08-29 10:20:12 202

原创 匿名内部类实现操作类调用方法

匿名内部类在开发中的使用如果一个方法要的形参是接口,其实他要的是该接口的实现类的对象不采用内部类时,想要实现操作类中方法: 不仅需要定义操作类和接口,还要定义重写接口的实现类接口:package com.oop.demo10;public interface Jumping { void jump();}继承接口的实现类:package com.oop.demo10;/*实现类 */public class Cat implements Jumping{//实现类继

2020-08-27 17:28:16 919 1

原创 Java编写学生管理系统

要注意解决学号不存在和学号重复问题学生类package com.itheima.ArrayList;public class Student { private String sid; private String age; private String name; private String address; public Student(){} public Student(String sid,String name,String

2020-08-27 10:22:38 2647 1

原创 封装

封装高内聚,低耦合:类的内部数据操作细节自己完成,不允许外部干涉。仅暴露少量的方法给外部使用。封装(数据的隐藏):通常应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这就是信息隐藏强调:属性私有 get/set封装一般针对的是对象中的属性,属性前面加上privatealt+insert可以自动生成get和set方法封装作用:提高程序的安全性,保护数据隐藏代码的实现细节统一接口系统可维护增加了定义类:package com.oop.demo03;//类pub

2020-08-27 10:21:00 105

原创 方法的调用

方法的调用调用方式:一个类(A)里面创建的方法,想要在另一个类(B)里面调用有两种方式该方法用static修饰,则在另一个类调用时写为:类名B.方法名(参数)该方法未加static修饰,需要在类B中将A类实例化A类名 对象名=new A类名() //对象类型 对象名=对象的值​ 对象名.方法(参数);方法互相调用时注意项:一个类中,两个方法都是普通方法,可以直接互相调用​ 两个方法都是static修饰的,也可以直接互相调用​

2020-08-08 10:42:21 793

原创 数组的声明

数组数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arrayRefVar;//首选方法数据类型[] 变量名;或dataType arrayRefVar[];//效果相同,但不是首选方法Java语言使用new操作符来创建数组,语法如下:dataType[] arrayRefVar= new dataType[arraySize];数据类型[] 变量名=new 数据类型[数组长度];//这种方式就是声明和创建放在一起了数组的元素是

2020-08-08 10:07:22 5764

原创 可变参数

可变参数JDK1.5开始,Java支持同类型的可变参数给一个方法在方法声明中,在指定参数类型后面加一个省略号(…)一个方法中只能指定一个可变参数,他必须是方法的最后一个参数。任何普通的参数必须在他之前声明package zhang.method;public class Demo05 { public static void main(String[] args) { //调用可变参数的方法 printMax(34,3,3,2,56.5);

2020-08-08 10:01:19 82

原创 冒泡排序

冒泡排序冒牌排序是最出名的排序算法之一,总共有8大排序冒泡排序的算法相对简单,两层循环,外层冒泡轮数,里次依次比较当看到嵌套循环,可以得出算法的时间复杂度为O(n2)冒泡排序由大到小:package zhang.array;import java.util.Arrays;public class Demo06 { public static void main(String[] args) { int[] a={89,75,486,62,55,586,6513,0,

2020-08-06 18:03:24 80

原创 稀疏数组

稀疏数组当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方式:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素和行列及值记录在一个小规模的数组中,从而缩小程序的规模[0]对应的表示这是一个6行7列的数组,只有8个数组元素不是0[1]-[8]通过记录数据的具体位置和值准确描述了该数package zhang.array;import java.util.Arrays;public class Demo08 {

2020-08-06 18:01:21 70

原创 简易计算器

package zhang.method;import java.util.Scanner;public class Demo07 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入操作数和运算符:"); if(scanner.hasNextDouble()){

2020-08-04 00:18:57 132

原创 打印三角形和菱形

三角形package zhang.structure;public class TestDemo { public static void main(String[] args) { //打印三角形 5行 for (int i =1; i <=5; i++) { for (int j = 5; j >= i; j--) { System.out.print(" ");

2020-08-03 23:29:59 210

原创 增强型for循环

增强for循环java 5引入了一种主要用于数组或集合的增强型for循环java增强for循环语法格式如下:for(声明语句:表达式){ //代码句子}声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法package zhang.structure;public class ForDemo05 { public static void main(

2020-08-03 23:27:15 194 1

原创 continue 与标签

标签对Java来说唯一用到标签的地方是在循环体之前,而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方package zhang.structure;public class LabelDemo { public static void main(String[] args) { //打印101-150之间所有的质数 int count=0;

2020-08-03 23:25:24 232

原创 IDEA反编译

反编译步骤:找到project structure2.找到项目输出路径复制:3.文件浏览器的地址栏输入,找到对应的代码位置,可以看到所敲代码的字节码class文件4.在IDEA的结构树中右击文件夹选择show explorer ,即打开代码文件夹,将上图文件夹的class文件拷贝过来5.此时class文件就进到Idea中了此时即为IDEA将class文件反编译得到的内容...

2020-08-03 23:22:02 8678

原创 利用IDEA生成JavaDoc

利用IDEA生成javadoc为了保证生成的doc文件中里面不会出现乱码,需要在Other command中输入:-encoding UTF-8 -charset UTF-8然后在自己选定的directory中找到index.html点开即可

2020-08-03 23:10:43 107

原创 Java幂运算

幂运算:package operator;public class Demo02 { public static void main(String[] args) { //幂运算 2^3 运算利用工具类来操作 double pow=Math.pow(2, 3); System.out.println(pow); }}位运算左移表示×2,右移表示除以2,利用位移代替乘法可以很快的运算如2*8=162<<3=16 后者比

2020-08-03 23:07:08 2460

原创 变量常量作用域

变量类变量:变量类型前面加static实例变量:方法的外面,类的里面,从属于对象局部变量:使用前必须声明和初始化值public class Variable{ static int allClicks=0;//类变量 String str="hello world";//实例变量 public void method(){ int i=0;//局部变量 }}变量区分public class Demo04 { //类变量

2020-08-03 23:05:42 117

原创 生成JavaDoc的方法

找类的文件夹所在位置,右键类然后show explorer,在地址栏前cmd空格进入命令行命令行中 javadoc 表示生成文档,若里面有中文,则写成javadoc -encoding UTF-8 -charset UTF-8上述命令能够避免乱码运行上述代码后,原文件夹里会出现很多文件,其中Index.html打开网址,再点击左侧栏的doc,这就是这个包的docjavaAPI网址...

2020-08-03 23:04:19 140

原创 数据类型转换

数据类型扩展float类型为有限的,离散的,有舍入误差,表示大约,接近但不等于最好完全避免使用浮点数进行比较(尤其是银行等高精度业务)银行业务采用BigDecimal这个数学工具类进行比较,没有误差转义字符:\t表示水平制表,空格\n表示换行类型转换byte,short,char–int–long–float–double (从低容量到高容量)小数的优先级高于整数(类型)变量名-----将该变量强制转换为括号内类型,这个是从高类型转低类型,而低类型到高类型是自动转换的不能对布尔类型转

2020-08-03 22:54:56 96

原创 利用IDEA生成javadoc

利用IDEA生成javadoc为了保证生成的doc文件中里面不会出现乱码,需要在Other command中输入:-encoding UTF-8 -charset UTF-8然后在自己选定的directory中找到index.html点开即可

2020-08-01 11:05:01 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除