自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张艳霞

现在隐匿于人后,以后高处见!

  • 博客(30)
  • 收藏
  • 关注

原创 四步安装JDK及配置环境变量(最简单)

1、JDK jre-8u161-windows-x64.exe 下载在所有平台网页搜索: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html进入JDK官网下载地址选择 “Accept License Agreement”根据系统选择对应的安装文件,64位系统安装64位JDK2、JDK安装过程a、双击运行安装文件 jdk-8u144-windows-x64.exeb、指定

2020-08-01 13:13:16 1668 1

原创 Java基础(十八)Socket网络编程

网络编程(套接字)先解释一下套接字:Socket所谓套接字,实际上是一个通信端点,每个套接字都有一个套接字序号,包括主机的IP地址与一个16位的主机端口号,即形如(主机IP地址:端口号)。例如,如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23)。总之,套接字Socket=(IP地址:端口号),套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。套接字可以看成

2020-08-31 17:07:17 207

原创 Java基础(十七)线程基本概念、创建多线程的方式多线程及并发安全问题的解决方式

线程1.概念进程:操作系统上应用程序拆分成多个小任务线程:进程拆分成多个小任务在某个时刻,CPU的某个核中只能执行一个进程,但是进程可以拆分成多个线程,只能执行其中一个线程,CPU只能执行一个线程,CPU会切换执行线程2.多线程的好处线程要么和CPU进行交互,要么和硬件进行交互,当线程在和硬件进行交互的时候CPU处于空闲时间,引入多线程提高CPU的利用率(理论上可以提高到100%)3.创建多线程的方式1.继承Thread类重写run方法(线程执行任务信息),创建描述线程执行信息的类的对象,调

2020-08-31 14:55:19 130

原创 Java基础测试选择题带答案解析(一)

1、【单选题】对于代码:public void test(int[] arr) {int i, j, note;for (i = 1; i < arr.length; i++) {note = arr[i];j = i - 1;while (j >= 0 && note < arr[j]) {arr[j + 1] = arr[j];j–;}arr[j + 1] = note;}} 所实现的功能是A.获取最大值B.获取最小值C.升序排序D.降

2020-08-28 18:42:20 7240

原创 Java基础(十六)序列化与反序列化概念作用及代码实现

序列化与反序列化概念:序列化:把对象以及相关信息转成字节数组,存储到硬盘上(持久化)反序列化:把字节数转成对应的对象注意:1.类实现Serializable产生的对象才能做序列化2.如果属性被static/transition修饰不会被序列化过去3.serialVersionUID—序列化版本号在序列化之前会根据类里的属性和方法来计算出一个版本号,这个版本号会随着对象一起序列化过去,进行反序列化之前会再次根据类里的属性和方法计算出一个新的版本号,根据原来的版本号和新版本号进行比对,如果相等就

2020-08-26 17:41:18 183

原创 Java编程题-IO流之通过文件字符流和文件字节流两种方式实现文件复制

文件字符流(FileWriter、FileReader)实现复制:package cn.tedu.text;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class FileCopyText { public static void main(String[] args) throws

2020-08-26 17:32:44 499

原创 Java基础(十五)IO流---字符流(Reader、Writer)、字节流(InputStream、OutputStream)

IO流(应用广泛)1.概念与三要素本质是一套用于数据传输的机制分类:根据传输的方向(参照物–内存)输入流:往内存传输数据输出流:从内存往外传输数据根据数据传输方式:字符流:底层以字符形式进行传输字节流:底层以字节形式进行传输根据数据存放/获取的位置:硬盘、内存、网络、外设设备四大基本流(对于的四个类都是抽象类)...

2020-08-26 16:33:49 225

原创 报错:Exception in thread “main“ java.io.FileNotFoundException: D:\a.txt (系统找不到指定的路径。)

IO流学习中,在从硬盘.txt文件读取内容时,遇到了报错问题:代码如下:package cn.tedu.text;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileReaderDemo { public static void main(String[] args) throws IOException {

2020-08-26 11:06:40 11832 2

原创 Java基础(十四)File类常规方法及操作代码演示

File类:代表文件和文件夹的类1.创建file实例对象//创建对象的过程中没有去检测路径信息是否存在//把路径信息放到对象身上File f=new File("F:\\a.txt"); System.out.println(f);2.新建文件//如果路径信息指定文件已经存在就会返回falseboolean b=f.createNewFile();//true 运行两次为false,因为文件已经创建 System.out.println(b);3.创建文件夹(多级)boolea

2020-08-25 15:19:37 171

原创 Java基础(十三)集合-迭代器(Iterator)、泛型、映射(Map<k,v>)

一、迭代器(Iterator接口)(不属于集合,帮助实现类产生对象)a.底层根据指针挪动进行迭代遍历b.在遍历期间不能直接增删原集合元素c.iterator方法定义在Iterable接口里d.类实现Iterable接口产生的对象就能被增强for循环来进行操作—增强for循环底层由迭代器实现—增强for循环是jdk1.5新特性代码演示:packagecn.tedu.collection.list; importjava.util.ArrayList;importjava.util.I

2020-08-25 10:39:29 357

原创 Java-当场景里增删操作和查询操作相当,选用ArrayList还是LinkedList?

从时间和空间两个维度去综合判定效率问题。1.从时间上考虑ArrayList查询效率高,但是增删效率低,LinkedList查询效率低但是增删效率高。举个栗子:当50个操作进行增删和查询时,增删LinkedList效率高,查询ArrayList效率高,但是整体耗费时间相当总结:从时间这个维度考虑,ArrayList和LinkedList没有太大区别2.从空间上考虑(看内存)同样举个栗子:存100万个数据直接一张内存图带你秒懂显而易见,ArrayList占用总内存比LinkedList要小,但

2020-08-24 19:57:43 563

原创 Java基础(十二)集合(Collection)容器及Collection子接口:List(列表)、Set(散列)、Queue(队列)及实现类重点详解

集合(Collection)1.概念:可以存储多个数据(对象)且长度可变的容器<E>---泛型,限定元素的数据类型,由于泛型的限定结婚元素类型只支持引用数据类型。int[] arr;---arr的类型是数组类型(引用类型),元素类型是int类型Collection<String> c;//c的数据类型是引用数据类型,元素类型是String类型Collection<Integer>c1;//可以直接存储int类型数据 1 23 782.Collection

2020-08-24 15:55:08 271

原创 Java编程题---List列表之底层实现ArrayList源代码(全)

package cn.tedu.collection.list;import java.util.Arrays;public class ListText { public static void main(String[] args) { }}//实现ArrayListclass ListArray { //声明数组存储元素 String[] data; //定义一个变量代表数组下标/代表元素个数 int size = 0; //

2020-08-22 10:00:44 209

原创 Java基础(十一)异常:Error和Exception(重点) 异常、捕获方式、重载和重写、finally块

异常用于发现问题、反馈问题以及解决问题的一套机制Throwable类—异常的顶级父类子类:1.Error:是一个合理的应用程序,不应该试图抓住的严重问题(改变外部需求、环境、资源等等)2.Exception:是一个合理的应用程序可以处理也可以不处理处理方式:(1.抛出 2.捕获)异常分类:1.编译时异常在编译时期出错一定要处理除了RuntimeException类以及子类以外其他的异常类都是编译时异常2.运行时异常在运行时期出错可以处理也可以不处理RuntimeExcept

2020-08-21 14:12:46 528

原创 Java编程题-实现两个整数相乘的过程(详细解析)

Java实现两个整数相乘的过程Java代码:package cn.tedu.cheng;//实现两个整数的相乘public class Xiangcheng { public static void main(String[] args) { //提供两个数组表示要相乘的两个整数 //为了表示出相乘的效果,整数值需要倒着存放在数组里 int[] arr1={5,4};//45 int[] arr2={9,8};//89

2020-08-21 10:30:45 3282

原创 Java基础(十)API之包装类(封箱、自动封箱及自动拆箱)、数学类(Math)和时间类(Date)

包装类1.概念为了提高操作基本数据类型的数据便捷性,给基本数据类型提供对应的类,类里定义丰富的信息以及功能,只要创建出类对象就能更加方便和快捷的去操作基本类型数据。注意:1.除了Character以及Integer之外其他包装类都是首字母大写2.由基本类型数据来构建包装类对象—封箱3.基本数据类型直接赋值给包装类的对象—自动封箱包装类.valueOf(基本数据类型)包装类对象直接赋值给基本数据类型—自动拆箱包装类对象.xxxValue()4.自动封箱/拆箱是jdk1.5新特性5.当整

2020-08-19 15:25:22 164

原创 Java基础(九)API之String类中的一些重要方法及应用(使用频率极高!)

String类1.概念最终类Java中所有的字符串常量都是String类的对象String类底层是根据不可改变的字符数组来实现数据存储,String类对象的内容就无法改变(常量)Java中所有的常量存储在方法区的运行时常量池当常量池中已经存在引用,如果后续有同名的引用那么共享同一个引用package cn.tedu.string;public class StringDemo1 { public static void main(String[] args) { //

2020-08-17 16:11:25 181

原创 Java编程题-给定一个字符串,返回字符串中小写英文字母、数字以及其他字符出现的个数

Java代码:package cn.tedu.string;public class StringTest { public static void main(String[] args) { //给定字符串 String str ="z8 y1 x1.zyx 811^"; //给定统计变量 int Letter=0;//统计小写英文字母 int Number=0;//统计数字 int Other

2020-08-17 14:04:51 3815

原创 Java基础(八)API之Object类( jdk1.8中文 百度翻译版 帮助文档)

API–Application Programming Interface(提供一系列的接口以及接口下的类)快速查找步骤指引:1.点击索引,输入object(输入自己需要查看的类名即可),回车2.默认选择第一个,点击显示3.这边关于object类里的所有方法都会显示出来了API里提供的所有方法要么被protected修饰要么被默认的public来修饰Object类1.概念Object类是Java的顶级父类,每个类默认继承Object类。2.重要方法1)Clone():把原对象的属性

2020-08-15 16:59:10 321

原创 Java基础(七)内部类(方法内部类、成员内部类、静态内部类、匿名内部类)、包

内部类类/接口中再次定义类1.类里再次定义类1)方法内部类在方法内定义类可以定义所有的非静态信息以及静态常量可以正常的继承和实现不能被访问权限符来修饰但是可以被abstract以及final来修饰可以获取外部类所有的信息只能获取当前方法的常量信息代码:package cn.tedu.inner;public class InnerDemo1 { public static void main(String[] args) { //创建外部类的对象调用方法执行

2020-08-15 10:44:57 181

原创 Java基础(六)static(静态)、final(最终)、abstract(抽象)、interface(接口)

static(静态)关键字、修饰符 变量、方法、代码块、内部类1.静态变量静态变量随着类的加载(方法区的静态常量值)而加载到方法区的静态区,与类同级也叫类变量,通过类名.形式来调用静态变量也可以通过对象来调用静态变量。存储在方法区静态区时会默认给静态变量赋予系统默认初始值。类产生的对象共享一个静态变量(属性),看静态变量是否需要被所有的对象来共享,如果需要共享就设置成静态变量。方法里可以定义静态变量?静态变量与类同级,只有方法被调用时里面的内容才能出现,前后矛盾,不能定义内存图:代码:p

2020-08-14 18:12:01 295

原创 Java编程题---图形类(两个私有化属性(长和宽),通过有参构造赋值,提供求周长和面积的方法)、矩形类(通过有参构造赋值,提供求周长和面积的方法)、正方形类(通过有参构造赋值,提供求周长和面积

题目:图形类(两个私有化属性(长和宽),通过有参构造赋值,提供求周长和面积的方法)、矩形类(通过有参构造赋值,提供求周长和面积的方法)、正方形类(通过有参构造赋值,提供求周长和面积的方法)、圆形类(通过有参构造赋值,提供求周长和面积的方法)Java代码:package cn.tedu.Extends;public class ZCDemo { public static void main(String[] args) { //向上造型 Shape s1=new R

2020-08-10 17:19:25 517

原创 Java基础(五)面向对象的特征:封装、继承、多态(抽象)

面向对象特征:封装、继承、多态(抽象)1.封装体现形式—方法、属性私有化,提供公共访问方式来保证可以进行正常取值和赋值,提高数据安全性package cn.tedu.fengzhuang; public class FZDemo{public static void main(String[]args){//创建对象--具体英雄Hero h=new Hero();//给对象属性进行赋值/*h.name="亚索";h.level=1;*///调用方法来间接给私有化属性

2020-08-10 16:39:11 222

原创 Java基础(四)面向对象、面向过程的引入(对象、类、构造方法、this、构造代码块、局部代码块、成员变量及局部变量)

1.概念面向对象本质是一种编程范式(一种思考方式)面向过程:关注的是代码的实现细节面向对象:先把代码实现细节整合到对象中,找到这个对象就能拥有对象的功能面向对象基于面向过程,面向对象优于面向过程?如果场景比较简单优先推荐面向过程,如果场景很复杂优先推荐面向对象2.对象和类之间的关系对一类对象来进行抽取,把共有的特征信息抽取成了属性,把共有的行为信息抽取成了方法,把这一类对象抽取成了类。类是对对象的概括,对象是对类的具体实现。3.构造方法a.构建对象b.1.与类同名 2.没有返回值类型

2020-08-10 15:53:45 189

原创 Java基础(三)-数组及数组的应用-遍历、最值、查找、排序、扩容

数组:可以存储多个相同数据类型元素的容器定义格式:1.数据类型[] 数组名=new 数据类型[元素个数/数组长度];int[] arr=new int[3]; //指定长度数据类型 名称=初始化; //定义变量class ArrayDemo{ public static void main(String[] args) { //1,定义数组 int[] arr=new int[3]; //声明 int[] arr1; //初始化 arr1=new int[5];

2020-08-05 17:11:37 298

原创 Java基础(二)Java-流程控制语句-顺序结构、选择结构、循环结构

流程控制语句-顺序结构、选择结构、循环结构一.顺序结构绝大部分代码从上往下从左往右依次编译和执行二.选择结构1.if语句(提供三种格式的语句 范围)/*if语句格式1(提供一个选项,可能有结果也可能没有结果)if(判断条件){语句体;}执行流程首先进行判断,如果判断的结果是true,执行语句体当语句体执行完毕,则if语句结束。如果判断结果是false,则直接跳过if语句不执行*//*if语句格式2if(判断条件){语句体1;}else{语句体2;}执行流程

2020-08-05 15:10:52 345 1

原创 java编程题-总结高频率出现的考试必考编程题类型经典

水仙花数:1.三位数、abc=aaa+bbb+ccc2.恒久不变的规律:任意位整数%10结果是个位数class ForTest{ public static void main(String[] args) { int count=0; //定义次数 for(int i=100;i<1000;i++){//所有的三位数 //获取每次三位数的每位数 int g=i%10; int s=i/10%10; int b=

2020-08-04 15:55:59 373

原创 Java报错-Exception in thread “main“ java.lang.UnsupportedClassVersionError : unsupported major.minor

在java运行过程中若出现以下问题:Exception in thread “main” java.lang.UnsupportedClassVersionError: … :Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.S

2020-08-04 13:12:42 1653

原创 Java基础(一)Java语言中的六种运算符-算数、赋值、关系、逻辑、位、三目(元)运算符

运算符:一.算术运算符:算数运算符:+、-、*、%、++、–++和 --: 使用方式;单独使用,参与运算当++、–出现在操作数的后面时,先传值再自加1/自减1当++、–出现在操作数的前面时,先自加1/自减1再传值class SuanShu{ public static void main(String[] args) { //1.操作+; int a=3; int b=4; //+(求和、字符串连接符) System.out.println(a+b);//求和 7

2020-08-03 17:04:07 485

原创 Java编程题-总结Java中三种交换两个整数变量的值的方式-中间变量、按位异或、求和

需求:两个数值交换一.中间变量class WeiTest2{ public static void main(String[] args) { //定义变量 int a=4; int b=5; System.out.println("a的值:"+a+","+"b的值:"+b); //1.中间变量 int temp=a; a=b; b=temp; System.out.println("a的值:"+a+","+"b的值:"+b); 二.按位异或//2.按位

2020-08-03 16:08:21 306

空空如也

空空如也

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

TA关注的人

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