- 博客(79)
- 收藏
- 关注
原创 JDBC模拟用户登录并防止SQL注入
import java.sql.*;import java.util.HashMap;import java.util.Map;import java.util.ResourceBundle;import java.util.Scanner;/** * 解决sql注入问题 * 只要用户的信息不参与编译即可 * 使用PreparedStatement预编译 */public class JDBCTest07 { public static void main(
2020-11-17 21:23:22
361
原创 JDBC模拟用户登录
import java.sql.*;import java.util.HashMap;import java.util.Map;import java.util.ResourceBundle;import java.util.Scanner;/* 模拟用户登录*/public class JDBCTest06 { public static void main(String[] args) { //初始化用户界面 Map<String,S
2020-11-16 21:08:36
359
原创 JDBC代码5
import java.sql.*;import java.lang.*;import java.util.*;public class JDBCTest02{ public static void main(String[] args){ Statement stmt = null; Connection conn = null; ResultSet rs = null; //获取资源绑定器对象绑定配置文件 ResourceBundle bundle = Reso
2020-11-15 19:07:20
274
原创 JDBC代码4
//使用配置文件完成第一第二步import java.sql.*;import java.lang.*;import java.util.*;public class JDBCTest02{ public static void main(String[] args){ Statement stmt = null; Connection conn = null; //获取资源绑定器对象绑定配置文件 ResourceBundle bundle = ResourceBundle
2020-11-15 19:06:49
162
原创 JDBC代码3
//另一种方式注册驱动import java.sql.*;import java.lang.*;public class JDBCTest02{ public static void main(String[] args){ Statement stmt = null; Connection conn = null; try{ //1.注册驱动 //第一种方法:DriverManager.registerDriver(new com.mysql.cj.jdbc.Drive
2020-11-15 19:06:15
115
原创 JDBC代码2
import java.sql.*;public class JDBCTest02{ public static void main(String[] args){ Statement stmt = null; Connection conn = null; try{ //1.注册驱动 DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); //2.获取连接 String url = "jdbc
2020-11-15 19:05:47
135
原创 JDBC代码1
import java.sql.*;public class JDBCTest01{ public static void main(String[] args){ Connection conn = null; Statement stmt = null; try{ //1.注册驱动 DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); //2.获取连接 /* url:统一资源定位符(
2020-11-15 19:05:12
146
原创 多线程并发简单实现100人购票
package com.harenmu.homework;public class CustomerRunable implements Runnable{ private Tickets tickets; public CustomerRunable(Tickets tickets) { this.tickets = tickets; } @Override public void run() { tickets.buyTic
2020-11-07 15:39:07
548
2
原创 死锁
package com.harenmu;public class DeadLock { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); Thread t1 = new MyThread1(o1,o2); Thread t2 = new MyThread2(o1,o2); t1.s
2020-11-07 15:37:16
161
原创 使用FileInputStream + FileOutputStream 拷贝一个文件
package com.harenmu.io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;//使用FileInputStream + FileOutputStreampublic class Copy { public static void main(String[] arg
2020-11-04 16:47:43
367
1
原创 FileInputStream及FileOutputStream初步
package com.harenmu.io;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class FileInputStreamTest { public static void main(String[] args) { FileInputStream fis = null; try {
2020-11-04 16:17:05
199
2
原创 BigDecimal、DecimalFormat、生成随机数
import java.math.BigDecimal;public class BigDecimalTest { public static void main(String[] args) { /* * BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于java对象 * 由sun公司提供的一个类。专门用在财务软件当中 * */ BigDecimal v1 = new BigDecimal(10
2020-10-14 23:07:17
528
原创 Java中的日期类Date
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** 1.怎么获取系统当前时间* 2.String转换成Date* 3.Date转换成String* */public class DateTest01 { public static void main(String[] args) throws ParseException { //获取当
2020-10-14 21:43:21
220
原创 包装类Integer,以及parseInt()等常用方法
public class IntegerTest01 { public static void main(String[] args) { //8中基本数据类型对象8种包装类 //基本数据类型转换为引用数据类型---->装箱 Integer integer = new Integer(1); float f = integer.floatValue(); System.out.println(f);
2020-10-14 19:59:12
464
原创 String类中的常用方法介绍,以及StringBuffer和StringBuilder进行字符串拼接
public class Test { public static void main(String[] args) { String s1 = "abc"; String s2 = "abc"; //s1 s2 都是指向方法区字符串常量池中的“abc” System.out.println(s1 == s2);//true //分析下面两条代码创建了几个对象 //3个 s3 s4 "xyz"
2020-10-14 15:48:46
315
原创 查找数组中的元素,不使用二分法和使用二分法
import java.util.Arrays;import static java.util.Arrays.binarySearch;public class ArraySearch { public static void main(String[] args) { int[] array = {1,5,7,8,4}; //找出元素8的下标 //第一种方式,一个个挨着找 int index = arraySearch(a
2020-10-14 00:35:25
224
原创 Java选择排序算法
public class SelectSortTest { public static void main(String[] args) { int[] a = {156,41,3,41,6,353,563,46,65,86,856,89}; //选择排序 for (int i = 0; i < a.length - 1; i++) { int min = i;//假设最小值的下标是i fo
2020-10-13 23:06:58
150
原创 Java冒泡排序算法
import java.util.Arrays;public class BubbleSortTest { public static void main(String[] args) { int[] array = {5,4,1,98,79,65,4165,416,3,16,84,9}; int count = 0; //冒泡排序算法代码 for (int i = array.length - 1; i > 0; i--)
2020-10-13 22:21:22
279
原创 新手编程 初次使用面向对象编程,对象、构造方法、实例方法
1.写一个名为Account的类模拟账户。该类的属性和方法如下所示。该类包括的属性:账户id,余额balance,年利率annualInterestRate;包含的方法:各属性的set和get方法。取款方法withdraw(),存款方法deposit()2.写一个测试程序(1)创建一个Customer,名字叫Jane Smith,他有一个账号为1000,余额为2000,年利率为1.23%的账户(2)对Jane Smith操作:存入100元,再取出960元,再取出2000。打印Jane Smi
2020-09-13 21:54:46
265
原创 Java中this关键字初步认识
/* this: 1、this是一个关键字,全部小写 2、this是什么,在内存方面是怎么样的? 一个对象一个this。 this是一个变量,是一个引用。this保存当前对象的内存地址,指向自身。 所以,严格意义上来说,this代表的就是“当前对象”。 this存储在堆内存当中对象的内部。 3、this只能使用在实例方法中。谁调用这个实例方法,this就是谁。*/public class ThisTest01{ public static void mai
2020-09-13 21:48:32
218
原创 Java中的实例代码块及代码执行顺序
/* 实例语句块: { java语句; } 实例语句块在构造方法执行之前自动执行 对象构建时机*/public class InstanceCode{ public static void main(String[] args){ new InstanceCode(); new InstanceCode(); } { System.out.println("实例语句块"); } //Constructor public InstanceCode(){
2020-09-13 21:47:37
157
原创 Java中的静态代码块及代码执行顺序
/* 1、使用static关键字可以定义静态代码块 2、什么是静态代码块,语法是什么? static{ java语句; } 3、静态代码块的特征:在类加载时执行。并且只执行一次。 4、静态代码块在main方法之前执行,并且依照自上而下的顺序。 5、静态代码块的作用 第一:不常用,不是每一个类当中都要写 第二:记录类加载时机(什么时候类加载),记录日志信息*/public class StaticTest04{ static{ System.out.pri
2020-09-13 21:46:59
250
原创 Java中的static关键字的初步认识3
/* 关于方法,什么时候定义为实例方法?什么时候定义为静态方法? 实例方法一般都是描述一个行为,如果说该行为必须由对象去触发。 那么该方法定义为实例方法。 参考标准: 当这个方法体当中,直接访问了实例变量,这个方法一定是实例方法。 我们以后的开发中,大部分情况下,如果是工具类的话,工具类当中的方法 一般都是静态的。*/public class StaticTest03{ public static void main(String[] args){ Us
2020-09-13 21:45:39
130
原创 Java中的static关键字的初步认识2
/* 什么时候变量声明为实例的,什么时候变量声明为静态的? 当这个类型的所有对象的某个属性值都是一样的, 不建议定义为实例变量,浪费内存空间。建议定 义为类级别特征,静态变量,在方法区中只保存 一份,减少内存开销。 *//*public class StaticTest02{ public static void main(String[] args){ Chinese c1 = new Chinese("486",18,"中国"); Chinese c2 = new Ch
2020-09-13 21:44:36
125
原创 Java中的static关键字的初步认识1
1.`/* static 1、static翻译为静态的 2、所有static关键字修饰的都是类相关的,类级别的。 3、所有static修饰的,都是采用“类名.”的方式访问。使用“引用.”访问也行。但是建议使用前者 4、static修饰的变量:静态变量 5、static修饰的方法:静态方法 成员变量可以分为实例变量和静态变量*/public class StaticTest01{ public static void main(String[] args){ }}
2020-09-13 21:43:46
135
原创 Java中的封装机制初步认识
Person.java/* 先不使用封装机制会出现什么问题? Person类中的age属性对外暴露,外部程序可以随意访问,导致了不安全 可以进行封装,解决这个问题*//*public class Person{ //年龄 int age;}*///封装起来,对外只提供简单的操作入口。//数据安全 调用者方便/* 怎么进行封装? 第一: 属性私有化(使用private关键字进行修饰) 第二: 提供对外的操作入口*/public clas
2020-09-12 20:50:17
241
原创 Java中的构造方法
ConstructorTest01.java/* 构造方法 1、什么是构造方法,有什么用? 构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建, 以及实例变量的初始化。 构造方法是用来创建对象,并且同时给对象的属性进行赋值的。 2、重点: 第一:当一个类没有提供任何构造方法,系统会默认提供一个无参数的构造方法, 这个构造方法被称为缺省构造器。 第二:当一个类中提供了构造方法,系统不会默认提供无参数构造方法。 第三:构造方法支持方法重
2020-09-12 20:45:55
160
原创 Java中的空指针异常NullPointerException
/* 空指针异常NullPointerException 关于垃圾回收器:GC 主要针对的是堆内存。 当一个java对象没有任何引用指向该对象的时候, GC会考虑将该垃圾数据释放回收掉。 出现空指针异常的前提条件是什么? “空引用”访问实例(对象)相关的数据时,都会出现空指针异常。*/public class NullPointerTest{ public static void main(String[] args){ //创建客户对象 Customer c =
2020-09-12 20:42:24
243
原创 面向对象初步认识
1、面向过程和面向对象有什么区别?从语言方面出发:对于c语言来说,是完全面向过程的对于c++语言来说,时一半面向过程的,一半面向对象的。(c++是半面向对象的)对于java语言来说,是完全面向对象的。1.1、什么是面向过程的开发方式?面向过程的开发方式主要的特点是注重步骤。每一步做什么。。。。另外面向过程也注重实现功能的因果关系。因为A所以B因为B所以C。。。。。面向过程中没有对象的概念,只是实现这个功能的步骤以及因果关系 面向过程的缺点: 面向过程最主要是每一步与每一步的因
2020-09-12 20:40:07
131
原创 新手编程 使用方法递归实现求1到n的和以及n的阶乘
public class RecursionTest02{ public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入一个整数n:"); int n = s.nextInt();//,sum = 0; int result = sum(n); System.out.println(result); int r
2020-09-10 16:17:44
1391
原创 Java中的方法递归的初步认识
/* 方法递归 1、什么是方法递归? 方法自己调用自己就是方法递归。 2、当递归时程序没有结束条件,一定会发生: 栈内存溢出错误:StackOverflowError 所以:递归必须要有结束条件。(重要) JVM发生错误之后只有一个结果,就是退出JVM。 3、递归假设是有结束条件的,就一定不会发生栈内存溢出错误吗? 不一定。 假设结束条件是对的,是合法的,递归有的时候也会出现栈内存溢出错误。 因为可能递归的太深了,栈内存不够了。因为一直在
2020-09-10 16:15:29
210
原创 Java中的方法重载机制的初步认识
/* 方法重载(overload): 什么时候需要考虑使用方法重载? 在同一个类当中,如果“功能1”和“功能2”它们的功能是相似的, 那么可以考虑将它们的方法名一致,这样代码既美观,又便于 后期的代码编写(容易记忆方便使用)。 注意:方法重载overload不能随便使用,如果两个功能压根不相干, 不相似,根本没关系,此时两个方法使用重载机制的话,会导致 编码更麻烦。无法进行方法功能的区分。 什么时候代码会发生方法重载? 条件1:在同一类当中 条件
2020-09-10 13:52:36
213
原创 新手编程 编写一个方法,输出大于某个正整数n的最小的质数。
public class Excise02{ public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入一个整数n:"); int n = s.nextInt(); primeFind(n); } public static void primeFind(int n){ for(int i = 2;i &g
2020-09-08 11:53:03
3187
2
原创 Java中定义了方法之后代码的执行顺序
//任何一个方法体中的代码都是自上而下依次执行的/* 运行结果: main begin m1 begin m2 begin m3 begin a m3 over m2 over m1 over main over 从main开始从main结束。*/public class MethodTest04{ public static void main(String[] args){ System.out.println("main begin");
2020-09-07 18:18:00
210
原创 Java中方法如何定义以及语法机制
/* 1、方法怎么定义,语法机制是什么? [修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体;(java语句) } 注意:[]是中括号,以上括号[]里面的内容表示不是必须的,是可选的。 1.1、关于修饰符列表 修饰符列表不是必选项,是可选的。目前为止,我们统一写成:public static 后面就会理解该怎么写。 1.2、关于返回值类型 第一:返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据类型 包括基
2020-09-07 18:16:12
545
原创 Java程序代码中为什么要有方法?
/* 对于一个java程序来说,如果没有“方法”会出现什么问题? 代码无法得到复用。*/public class MethodTest01{ //入口主方法 public static void main(String[] args){ // 需求1:请编写程序计算100和200的求和 int x = 100; int y = 200; int z = x + y; System.out.println(x + "+"+ y + "=" + z); //
2020-09-07 18:13:33
521
原创 新手编程 一个数如果恰好等于它的因子之和,这个数就是完数,例如 6 = 1 + 2 + 3,编程找出1000内所有的完数。
一个数如果恰好等于它的因子之和,这个数就是完数,例如 6 = 1 + 2 + 3,编程找出1000内所有的完数。 步骤1.定义一个sum为因子之和2.找出这个数字所有的因子并求和3.当和等于本身时 输出该数字public class Excise09{ public static void main(String[] args){ for(int i = 1;i <= 1000;i++){ int sum = 0; // for(int j = 1;j <
2020-09-05 22:34:11
588
原创 新手编程 判断一个五位数是不是回文数
要求:键入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同public class Excise11{ public static void main(String[] args){ // 键入一个五位数 java.util.Scanner s = new java.util.Scanner(System.in); System.out.print("请输入一个五位数:"); int num = s.nextInt(); // 判断个位与万位是否
2020-08-31 20:34:23
1596
原创 新手编程 输出以下菱形
/* 编写程序输出下图菱形。 * *** ***** ******* ********* ******* ***** *** **/public class Excise04{ public static void main(String[] args){ int k = 9; for(int i = 1;i <= (k + 1)/2;i++){ // System.out.print('*'); fo
2020-08-29 16:45:33
1396
原创 新手编程 找出2至10000的所有素数并且每行只输出8个
/* 打印 2 到 10000 的所有素数,每行显示 8 个素数。*/public class Excise02{ public static void main(String[] args){ int count = 0; for(int i = 2;i < 10001;i++){ boolean isPrimeNum = true; for(int j = 2;j < i;j++){ if(i % j == 0){ isPrimeNum = fa
2020-08-29 16:43:26
1255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人