![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
Liittle-ant
手指在键盘上飞舞,我要把这世界写的明明白白
展开
-
java中this关键字的使用
this:1、意思:当前对象(1)构造器正在被创建的对象(2)方法正在调用该方法的对象2、 用法(1)this.属性当局部变量与成员变量同名时,可以在成员变量的前面加this.(2)this.方法没有非用不可的时候(3)this()或this(实参列表)this()表示调用本类的无参构造this(实参列表)表示调用本类的有参构造this()或this(实参列表)必须在构造器的首行public class TestThis {原创 2021-04-29 17:12:42 · 118 阅读 · 0 评论 -
eclipse中常用的模板
常见的代码模板:1、main + Alt + /2、sysout + Alt + /3、for + Alt + /4、switch自动生成代码:1、构造器2、get/setAlt + Shift + S:或者选Source菜单:(1)构造器 Generate Constructor using Fields…(2)get/set Generate Getters And Setters…多行编辑:Alt + Shift + A原创 2021-04-29 16:49:57 · 403 阅读 · 0 评论 -
eclipse中常用快捷键
/*快捷键:通用的快捷键:Ctrl + A:全选Ctrl + C:复制Ctrl + X:剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + Y:反撤销Ctrl + S:保存eclipse的快捷键 :Alt + /:内容提示Ctrl +1:快速修复Ctrl + Shift + O:快速导包快速复制选中行(块):Ctrl + Alt + ↓Ctrl + Alt + ↑快速删除选中行或光标所在行Ctrl + D快速格式化:Ctrl + Shift + F原创 2021-04-29 15:42:41 · 727 阅读 · 0 评论 -
Java中对象数组举例展示
/*当我们数组中存储了一组对象时,那么我们称为对象数组。 */class Test08_ObjectArray{ public static void main(String[] args){ //要用一个数组,存储5个圆对象,半径分别为1-5 //(1)声明一个数组 //数组的元素的类型是Circle Circle[] arr = new Circle[5];//这个new是创建数组对象 //(2)为数组的元素赋值 for(int i=0; i<arr.lengt原创 2021-04-27 15:42:45 · 166 阅读 · 0 评论 -
Java中可变参数
可变参数:JDK1.5之后引入的出现位置:形参列表中形式: 数据类型… 形参名包含可变参数的调用法则:可变参数的形参部分,可以传入0-n个对应类型的实参,也可以传入对应类型的数组对象。非可变参数的形参部分,原来怎么传还怎么传。可变参数的声明的原则:3. 一个方法只能包含一个可变参数。4. 可变参数必须是形参列表的最后一个。class Test05_VarParam{ public static void main(String[] args){ System.out.print原创 2021-04-27 15:04:49 · 208 阅读 · 0 评论 -
java中方法的参数传递机制
java中方法的参数传递机制传递形式:实参 ——> 形参当形参是基本数据类型时。实参赋值给形参的是数据值,形参值得修改不影响实参,因为实参是“复制”了一份数据给形参数据交换的正确代码:/** * A instance of this class will have a ability to swap two integers.{1} */class Swaper{ int x, y; public Swaper(int x, int y) {原创 2021-04-26 21:02:00 · 99 阅读 · 0 评论 -
数组的存储
首先我们要知道,java程序在JVM中运行,JVM的内存中最主要的两块区域:栈和堆。其中栈存储的是局部变量,堆中存储的是对象。数据类型[] 也是一种数据类型,称之为数组类型,但是是一种引用数据类型。为什么称之为引用数据类型,见如下讲解:变量本质上代表一块内存new表示在堆中新建或者申请一块新的空间,用来存储对象array是引用数据类型表示是引用堆中这个对象的变量数据名中存储的是数组的首地址当遇到数组名时就可以找到数组的首地址然后根据偏移量找到数组中元素数组的存储:数组下标为什么从原创 2021-04-16 15:05:03 · 1244 阅读 · 0 评论 -
java基础—多线程
程序-进程-线程的区别程序是为完成特定任务特定任务、用某种语言编写的一组指令的集合。即一段静态代码,静态对象进程是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生,存在,消亡的过程进程是动态的,程序是静态的。线程,进程可进一步细化为线程,是一个程序内部的一台执行路径,如果一个进程只有一个线程,那么这个线程就是主线程。进程也可以支持多线程什么时候需要多线程原创 2021-03-23 21:33:05 · 46 阅读 · 0 评论 -
字符串的拼接
数据类型转换的特例:字符串类型所有类型与字符串“+”拼接,结果都是字符串class Test04_TypeChange{ public static void main(String[] args){ char c1 = '0'; char c2 = '1'; /* c1 + c2,按照求和运算,char + char结果是int ""代表空字符串, 当int的97与""进行 “+”拼接,结果还是97的字符串 */ System.out.println(c1 +原创 2021-03-23 21:31:40 · 175 阅读 · 0 评论 -
基本数据类型之间的转换
基本数据类型之间的转换:(1)自动类型转换①把存储范围小的类型的值赋值给存储范围大的类型的变量,自动可以完成升级byte->short->int->long->float->doublechar->②boolean不参与③byte,short,char如果进行算术运算都会自动升级为int(2)强制类型转换①把存储范围大的类型的值,赋值给存储范围小的类型变量时,需要强制类型转换double->float->long->int->sh原创 2021-03-23 21:21:28 · 388 阅读 · 0 评论 -
浮点型的float和double在底层如何存储
浮点型的float和double在底层如何存储首先我们来看一下小数由几部分构成:以3.14为例会发现小数由一下四部分组成:1. 正负号2. 整数部分3. 小数点4. 小数部分那么小数是怎么转换为二进制存储的呢?以3.14为例1. 正负号:用一位来保存,0代表正,1代表负。(3.14的正负号为正,则使用二进制的0代替)2. 整数部分:除2取余(3.14整数部分为3,二进制格式为11)3. 小数部分:乘2取整数部分(3.14小数部分为0.14,二进制转换后为:00100.....原创 2021-03-23 20:22:05 · 587 阅读 · 0 评论 -
基本数据类型
Java中的基本数据类型(8种):基本数据类型(8种)一、基本数据类型1、整型系列byte: 字节类型 范围:-128~1271个字节short:短整型2个字节 范围:-32768~32767int:整型4个字节 范围:…long:长整型8个字节说明:对于long类型的常量,需要加大写L(建议用大写)或小写l2、小数类型,浮点型系列float:单精度浮点型,4个字节,大概的精度范围是,把小数用科学记数法表示后,小数点后6~7位说明:float类型的常量,需要在数字后面加原创 2021-03-22 23:35:23 · 1463 阅读 · 0 评论 -
变量
变量使用的原则:(1)先声明后使用包括后面用到的类、方法等,都是遵循先声明后使用(2)变量必须先初始化(第一次赋值)再访问它的值(打印、计算、比较操作)(3)变量的声明,在同一个作用域中,只能声明一次,但是赋值可以很多次作用域:从变量声明处开始,到它所属的{}结束常用的变量的数据类型(刚开始):int(整数)double(小数)char(单个字符)String(字符串)...原创 2021-03-22 23:16:17 · 62 阅读 · 0 评论 -
java中标识符规则
标识符:在Java中对类名、变量名、方法名等这些要素进行命名的字符序列称为标识符。通俗的理解:凡是程序员自己命名的地方都叫做标识符。1、标识符的命名规则(必须遵守,否则编译或运行错误)(1)Java的标识符必须用26个英文字母的大小写、数字0-9,美元符号$,下划线_(2)Java的标识符不能使用关键字(包含保留字)和特殊值例如:class,public,static,void等一共不能用的有50个关键字+3个特殊值(3)不能使用空格(4)数字不能开头(5)Java的标识符严格区分大小写原创 2021-03-22 21:17:31 · 1346 阅读 · 0 评论 -
古老的Java编译运行方式(不借助IDE)
古老的Java编译运行方式(不借助IDE)编写代码Java代码保存为.java后缀(注:可以用记事本直接搞定改步骤)编译代码:.java文件编译为.class文件(电脑需要安装jdk)编译工具:javac.exe编译格式:javac 源文件名.java (在dos命令框中定位到源文件所在位置,然后直接书写便可以)(注意其中空格)运行字节码文件运行工具:java.exe运行格式:Java 字节码文件名(注意其中空格)...原创 2021-03-22 18:33:44 · 110 阅读 · 0 评论 -
java为什么要配置环境变量
java为什么要配置环境变量window等操作系统默认是在当前路径下查找“命令”等工具,如果希望在指定目录下去查找“命令”,那么就要在path这个环境变量中把目录添加上去。也就是说window等操作系统除了在当前目录下查找,还会去path环境变量指定的目录下搜索命令。...原创 2021-03-22 17:25:15 · 69 阅读 · 0 评论 -
蓝桥杯第7届javaA组决赛第二题
蓝桥杯第7届javaA组决赛第二题题目凑平方数把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的。比如:0, 36, 5948721再比如:10985247361, 25, 63907840, 4, 289, 15376等等...注意,0可以作为独立的数字,但不能作为多位数字的开始。分组时,必须用完所有的原创 2017-12-29 21:11:01 · 235 阅读 · 0 评论 -
蓝桥杯第7届javaA决赛第3题
蓝桥杯第7届javaA决赛第3题题目棋子换位有n个棋子A,n个棋子B,在棋盘上排成一行。它们中间隔着一个空位,用“.”表示,比如:AAA.BBB现在需要所有的A棋子和B棋子交换位置。移动棋子的规则是:1. A棋子只能往右边移动,B棋子只能往左边移动。2. 每个棋子可以移动到相邻的空位。3. 每个棋子可以跳过相异的一个棋子落入空位(A跳过B原创 2017-12-31 16:54:27 · 351 阅读 · 0 评论 -
蓝桥杯-第七届蓝桥杯决赛第一题
蓝桥杯-第七届蓝桥杯决赛第一题阶乘位数9的阶乘等于:362880它的二进制表示为:1011000100110000000这个数字共有19位。请你计算,9999 的阶乘的二进制表示一共有多少位?注意:需要提交的是一个整数,不要填写任何无关内容(比如说明解释等)答案为:118445分析:对于本题如果使用int类原创 2017-12-23 19:40:25 · 372 阅读 · 0 评论 -
java基础-多线程的创建
Java多线程的创建和启动原创 2017-05-13 19:56:12 · 433 阅读 · 0 评论 -
Java基础-多线程的同步机制
线程的同步在写关于线程的同步机制前先来分析两个代码此处插入TestThread4package com.atguigu.java1;/** * 模拟火车站售票窗口,开启三个窗口售票,总票数为100张 * 继承方式 * */class Window1 implements Runnable{ int ticket=100; public void ru原创 2017-05-13 21:11:33 · 336 阅读 · 0 评论 -
Java基础-线程的通信
线程的通信实现线程之间的交互用到的方法wait()与notify()和notifyAll()1.wait():令当前线程挂起并放弃CPU、同步资源,使别的线程可访问并修改共享资源,而当前线程排队等候再次对资源的访问2.notify():唤醒正在排队等候同步资源的线程中优先级最高者结束等待notifyAll():唤醒正在排队等待同步资源的所有线程结束等待Java.lang原创 2017-05-13 21:51:21 · 142 阅读 · 0 评论 -
Java多线程-死锁
死锁不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己的需要的同步资源,就形成了线程的死锁解决方法1.专门的算法、原则2.尽量减少同步资源的定义此处插入TestDeadLock//死锁问题,处理线程同步时容易出现public class TestDeadLock { static StringBuffer sb1=new StringBuffer(原创 2017-05-13 21:58:23 · 160 阅读 · 0 评论 -
Java-多线程总结
Java-多线程总结一、所需掌握内容:1.程序-进程-线程的概念2.Java多线程的创建和使用①继承Thread类与实现Runnable接口②Thread类的主要方法③线程的调度与设置优先级3.线程的生命周期4.线程的同步5.线程的通信二、程序-进程-线程的区别程序是为完成特定任务特定任务、用某种语言编写的一组指令的集合。即一段静态代码,静态对象原创 2017-05-13 22:02:09 · 234 阅读 · 0 评论 -
Java基础-网络编程
Java网络编程基础主要内容1.网络编程概述2.通讯要素①IP和端口号②网络通讯协议3.InetAdress类4.TCP网络通信5.UDP网络通信6.URL编程网络编程概述1.Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。2.Java提供网络类库,可以实现无痛的网络连接,联网的原创 2017-05-17 22:14:13 · 507 阅读 · 2 评论 -
Java基础-网络编程之IP和端口号
通讯要素1:IP和端口号1.IP地址:InetAddress①唯一标识Internet上的计算机②本地回环地址(hostAddress):202.198.16.56 主机名(hostName):localhost2.端口号标识正在计算机上运行的进程(程序)①不同的进程有不同的端口号②被规定为一个16位的整数0-65535。其中,0-1023被预先定义的服务通信占用(如M原创 2017-05-17 22:21:03 · 610 阅读 · 0 评论 -
java基础-网络编程之TCP编程
TCP编程步骤使用SeverSocket建立一个简单的服务器步骤如下第一步:创建一个SeverSocket对象ss。第二步:调用ss.accept()监听客户机第三步:获得OutputStream和InputStream对象第四步:服务器和客户机通过OutputStream和InputStream对象处理阶段第五步:如果传输结束,通过调用相关流的close()以及Socke原创 2017-05-17 22:32:10 · 179 阅读 · 0 评论 -
Java基础-网络编程之UDP编程
UDP网络通信1.类DatagramSocket和DatagramPacket实现了基于UDP协议网络程序2.UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不能保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达3.DatagramPacket对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号。4.U原创 2017-05-17 22:35:56 · 166 阅读 · 0 评论 -
java JDBC基础流程
JAVA中使用JDBC,完成查询的基础1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。2 JDBC原理早期SUN公司的天才们想编写一套可以连接天下所有数据库的API,但是当他们刚刚原创 2017-08-16 19:16:22 · 378 阅读 · 0 评论 -
使用工具类完成JDBC
使用工具类完成JDBC工具类1:在对MySQL数据库中表进行操作时“获取连接”和“释放资源”两个代码部分在增删改查所有功能中都存在,开发中遇到此情况将采用工具类的方法进行抽取,从而达到代码的重复利用。此处添加V1 1.获取连接在工具类中书写getConnection()方法来加载驱动和获取连接public static Connection getConne原创 2017-08-16 22:46:11 · 235 阅读 · 0 评论 -
(一)JDBC连接池&DBUtils—自定义连接池
(一)JDBC连接池&DBUtils—自定义连接池1.案例分析在实习开发中“获取链接”或“释放连接”是非常消耗资源的两个过程,为了解决此类性能问题,通常情况下采用连接池技术,来共享连接Connection。 2.用池来管理Connection这样可以重复使用Connection。有了池,所以我们就不用来创建Connection,而是通过池来获取Connection对象。当使原创 2017-08-17 18:02:47 · 305 阅读 · 0 评论 -
(二)JDBC连接池&DBUtils—自定义连接池增强方法
自定义连接池:方法增强自定义连接池中存在严重问题,用户调用getConnection()获得连接后,必须使用backConnection进行连接的归还,如果用户希望调用conn.close()方法将连接真正的释放,连接池中将出现无连接可用。此时我们希望,当用户调用close()方法时可以将连接归还连接池。方法增强总结1.继承,子类继承父类,将父类的方法进行复写,从而进行增强。使原创 2017-08-17 18:13:21 · 297 阅读 · 0 评论 -
(三)JDBC连接池&DBUtils—C3P0的使用
(三)JDBC连接池&DBUtils—C3P0的使用C3P0开源免费的连接池!目前使用他的开源项目有:Spring、Hibernate等。使用第三方工具需要导入jar包,C3P0使用时还需要添加配置文件c3p0-config.xml通过这个配置来加载驱动和获取连接C3P0配置文件需要从官网下载平常可以自己收藏一份来使用 com.mysql.j原创 2017-08-17 18:24:41 · 261 阅读 · 0 评论 -
(四)JDBC连接池&DBUtils—DBCP连接池的使用
(四)JDBC连接池&DBUtils—DBCP连接池的使用DBCP也是一个开源的连接池,是Apache Common成员之一,在企业开发中也比较常见,tomacat内置的连接池用此连接池需要配置文件配置文件名称:*.properties配置文件位置:任意,建议src(classpath/类路径)配置文件内容:properties不能编写中午,不支持在STS中修改,必须使用记原创 2017-08-17 18:36:11 · 268 阅读 · 0 评论 -
(五)JDBC连接池&DBUtils—DBUtils完成CRUD
(五)JDBC连接池&DBUtils—DBUtils完成CRUDDBUtils是Java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了JDBC的操作,简化JDBC操作,可以少些代码1.Dbutils三个 核心功能介绍QueryRunner中提供对sql语句操作的APIResultSetHandler接口,用于定义select操作后,封装结果集DbUtils类原创 2017-08-17 18:47:45 · 329 阅读 · 0 评论 -
Java基础-多线程的中常用方法
java基础多线程中的常用方法原创 2017-05-13 21:07:04 · 217 阅读 · 0 评论