java中级学习笔记

合集下载

2014122701_Java学习笔记001

2014122701_Java学习笔记001

Java学习笔记0011、什么叫java?Java是现在最流行的编程语言之一,也是拥有众多厂商支持的编程语言之一,同时Java 已经成为了应用层开发的一个标准;Java之所以能够发展的如此良好,归结于Java的反射机制;Java是一门面向对象的编程语言,提供了垃圾自动收集机制,提供了多线程与反射机制,同时Java具备很强的可移植性;JDK:Java开发工具包;JRE:Java运行时环境,也就是说要运行Java程序,这个环境必须安装;ClassPath:配置类的加载路径;PATH:是操作系统的程序配置路径;单行注释://多行注释:/*…*/文本注释:/**…*/,在Myeclipse之中敲一个杠俩*回车即可;Java的基本数据类型·数值型:byte、short、int 、long 、float、double·字符型:char·布尔型:booleanJava引用数据类型:类、数组、接口;(数据类型的一些默认用法:<·表示整型永恒用int·表示小数永恒用double·在进行数据传输字符的转码过程之中都用byte;·表示日期或者文件大小都是用long;·表示逻辑关系的时候往往都是用boolean ;>)三目运算符:(条件1 逻辑运算符条件2 ) ?结果1:结果2<当前面的条件满足的时候执行结果1的代码,当条件不成立执行结果2的代码>逻辑运算符:&乘| 加;程序的循环结构:顺序结构、循环结构、条件结构;方法:是一段可以重复利用的代码块,利用方法可以对一些重复的功能进行包装,以便重复调用节省代码编写;方法:方法重载、方法的覆写方法重载:方法名称相同,参数类型不同;方法覆写:方法名称、返回值类型、参数类型都相同;2、企业平台结构组成操作系统(windows、linux、unix)+数据库(mysql、sqlserver、oracle)+中间件(tomcat、weblogic)+编程语言(Java、c);<一次面试:面试官问我什么叫中间件:我说是jar包,你说对不?>。

Java学习笔记-继承

Java学习笔记-继承

Java学习笔记-继承继承时⾯向对象的重要特征之⼀,在⾯向对象中,通过继承得到⽗类的属性和⽅法,是的代码得到复⽤概述多个类中存在相同属性和⾏为时,将这些内容抽取到单独⼀个类中,那么多个类⽆需再定义这些属性和⾏为,只要继承单独的那个类即可多个类可以称为⼦类,单独这个类称为⽗类或者超类⼦类可以直接访问⽗类中的⾮私有的属性和⾏为通过extends关键字让类与类之间产⽣继承关系class SubDemo extends Demo{}继承的出现提⾼了代码的复⽤性继承的出现让类与类之间产⽣了关系,提供了多态的前提继承的特点Java只⽀持单继承,不⽀持多继承:⼀个类只能有⼀个⽗类,不可以有多个⽗类class SubDemo extends Demo{} //okclass SubDemo extends Demo1,Demo2...//errorJava⽀持多层继承(继承体系)lass A{}class B extends A{}class C extends B{}定义继承需要注意:不要仅为了获取其他类中某个功能⽽去继承类与类之间要有所属(“is a”)关系,xx1是xx2的⼀种类的继承⾯向对象三⼤特征之⼀,也是实现软件复⽤的重要⼿段。

Java的继承只允许单继承Java的继承由关键字extends来实现:修饰符 class SubClass extends SuperClass{//类定义部分}⼦类可以获得⽗类全部的成员变量和⽅法,⽽不能获得⽗类的构造器。

如果没有显⽰指定⼀个类的⽗类,那么这个类默认继承ng.Object类,因此所有类都直接或间接继承⾃ng.Object,故可以调⽤ng.Object所定义的实例和⽅法在继承过程中,⼦类获得了⽗类的成员变量和⽅法,但有时⽗类的⽅法并不适合⼦类,此时⼦类可以重写⽗类的⽅法,这种现象称之为⽅法重写(override)。

重写遵循 “两同两⼩⼀⼤”:⽅法名相同,参数列表相同;返回值类型⽐⽗类更⼩或相等,声明抛出的异常⽐⽗类更⼩或相同;访问权限⽐⽗类更⼤或相等。

Java学习笔记之switch循环语句

Java学习笔记之switch循环语句

Java学习笔记之switch循环语句0x00 概述本篇内容包括switch语句,for循环,while循环,random函数。

0x01 switch语句1.1 switch语句结构格式switch(表达式) {case 1:语句体1;break;case 2:语句体2;break;...default:语句体n+1;break;}执⾏流程/*1. ⾸先计算出表达式的值2. 其次,和case依次⽐较,⼀旦有对应的值,就会执⾏相应的语句,在执⾏过程中,遇到break就会结束3. 最后,如果所有的case都和表达式的值不匹配,就会执⾏default语句体部分,然后程序结束*//*switch语句格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;…default:语句体n+1;[break;]}格式说明:表达式:取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。

case:后⾯跟的是要和表达式进⾏⽐较的值。

break:表⽰中断,结束的意思,⽤来结束switch语句。

default:表⽰所有情况都不匹配的时候,就执⾏该处的内容,和if语句的else相似。

执⾏流程:⾸先计算表达式的值。

依次和case后⾯的值进⾏⽐较,如果有对应的值,就会执⾏相应的语句,在执⾏的过程中,遇到break就会结束。

如果所有的case后⾯的值和表达式的值都不匹配,就会执⾏default⾥⾯的语句体,然后程序结束掉。

*/import java.util.Scanner;public class SwitchDemo {public static void main(String[] args) {System.out.println("开始");//需求:键盘录⼊⼀个星期数(1,2,...7),输出对应的星期⼀,星期⼆,...星期⽇Scanner sc = new Scanner(System.in);System.out.println("请输⼊⼀个星期数(1-7):");int week = sc.nextInt();switch(week) {case 1:System.out.println("星期⼀");break;case 2:System.out.println("星期⼆");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7:System.out.println("星期⽇");break;default:System.out.println("你输⼊的星期数有误");break;}System.out.println("结束");}}1.2 switch语句联系-春夏秋冬需求:⼀年有12个⽉,分属于春夏秋冬4个季节,键盘录⼊⽉份,请⽤程序实现判断该⽉份属于哪个季节,并输出。

JAVA(J2SEJ2EE)学习笔记090911

JAVA(J2SEJ2EE)学习笔记090911

JAVA(J2SE/J2EE)JAVA(J2SE/J2EE)学习笔记学习笔记/kv2004Java Paradise 群号:81556987,欢迎传播!JA V A(J2SE)基础一、JAVA 语法基础标识符-date:0908111.什么叫标识符?就是一个名字2.在JAVA 中,遇见的标识符有类名、方法名和变量名。

3.标识符的命名规则:i.标识符有字母、数字、下划线(_)以及美元($)符号组成。

ii.标识符不能以数字开头iii.不能和JAV A 中的关键字或者保留字重名4.标识符的命名规范:i.最好不要一下划线(_)或者美元($)符号开头ii.如果有多个单词组成,那么每个字符的首字符都大写。

例如:class Student{}class HelloWorld{}iii.如果标识符是方法名或者变量名:首字母应该小写;如果有多个单词组成,那么从第二个单词开始,首字母大写。

例如:String name;//用户名int stuAge;//学生的年龄iv.标识符最好有一定的意义。

int 整数=1;v.如果是常量名,那么全部字母都大写。

final double PI=3.1415926;关键字-date:0908111.什么叫关键字?具有特殊意义的一些单词。

2.举例说出几个关键字byte short int long float double char booleanpublic private protectedvoidreturntrue falsestatic final abstractif elseswitch caseforwhiledotry catchcontinuebreak数据类型的转换-date:0908111.基本数据类型可以相互转换(除boolean)2.可以将低精度的数据类型直接赋值给高精度的数据类型int i=1;short s=1;i=s;//可以自动进行转换3.当把高精度的数据类型赋值给低精度的数据类型时,必须强制类型转换。

【Java学习笔记之二十七】Java8中传多个参数时的方法

【Java学习笔记之二十七】Java8中传多个参数时的方法

【Java学习笔记之⼆⼗七】Java8中传多个参数时的⽅法java中传参数时,在类型后⾯跟"..."的使⽤:public static void main(String[] args){testStringArgs();//⽆参数传⼊testStringArgs("one");//⼀个参数传⼊testStringArgs("one","two","three");//3个String参数传⼊testStringArgs(new String[]{"one","two","three"});//可以看到传⼊三个String参数和传⼊⼀个长度为3的数组结果⼀样,再看例⼦// testStringArgs(new String[]{"one","two","three"},new String[]{"one","two","three"});//这样写会提⽰错误。

testIntegerArgs();testIntegerArgs(1);testIntegerArgs(1,2,3);testIntegerArgs(new Integer[]{1,2,3});}//有点类似于 () 和 (String s1,String s2......) 和 (String[] s) 3个合在⼀起的功能。

public static void testStringArgs(String... s){if(s.length==0){System.out.println("0个参数传⼊");}else if(s.length==1){System.out.println("1个参数传⼊");}else{System.out.println("多个参数传⼊,每个参数如下:");for(int i=0;i<s.length;i++){System.out.println("第"+(i+1)+"个参数是"+s[i]+";");}System.out.println();}}public static void testIntegerArgs(Integer... ints){if(ints.length==0){System.out.println("0个Integer参数传⼊");}else if(ints.length==1){System.out.println("1个Integer参数传⼊");}else{System.out.println("多个参数传⼊,每个参数如下:");for(int i=0;i<ints.length;i++){System.out.println("第"+(i+1)+"个Integer参数是"+ints[i]+";");}System.out.println();}}运⾏结果:// 0个参数传⼊// 1个参数传⼊// 多个参数传⼊,每个参数如下:// 第1个参数是one;// 第2个参数是two;// 第3个参数是three;//// 多个参数传⼊,每个参数如下:// 第1个参数是one;// 第2个参数是two;// 第3个参数是three;//// 0个Integer参数传⼊// 1个Integer参数传⼊// 多个参数传⼊,每个参数如下:// 第1个Integer参数是1;// 第2个Integer参数是2;// 第3个Integer参数是3;//// 多个参数传⼊,每个参数如下:// 第1个Integer参数是1;// 第2个Integer参数是2;// 第3个Integer参数是3;。

(完整版)Java学习笔记(必看经典)

(完整版)Java学习笔记(必看经典)

诚信、创新、开放、合作JAVA的面向对象编程--------课堂笔记面向对象主要针对面向过程。

面向过程的基本单元是函数。

什么是对象:EVERYTHING IS OBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。

能够做什么(方法):告诉外界对象有那些功能。

后者以前者为基础。

大的对象的属性也可以是一个对象。

为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。

对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。

方法的定义非常重要。

方法有参数,也可能有返回值。

注意区分:对象(本身)、对象的实现者、对象的调用者。

分析对象主要从方法开始。

我们通过类来看待对象,类是对象的抽象。

其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。

对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。

这样才能使每个对象本身做成最好的。

对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。

实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。

可复用性是OOP的基础。

比较面向过程的思想和面向对象的思想:面向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。

面向过程是先有算法,后有数据结构。

面向对象是先有数据结构,然后再有算法。

在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。

开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。

从语法上来看,一个类是一个新的数据类型。

在面向对象编程中,除了简单数据类型,就是对象类型。

定义类的格式:class Student{代码}注意类名中单词的首字母大写。

局部变量:定义在方法之中的变量。

局部变量要先赋值,再进行运算,而实例变量均已经赋初值。

这是局部变量和实例变量的一大区别。

实例变量的对象赋值为null。

Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)

Java相关课程系列笔记之一Java学习笔记(建议用WPS打开)

Java学习笔记Java相关课程系列笔记之一笔记内容说明4月18日的五天Java训练营(刘英谦老师主讲,占笔记内容10%);Java基础和面向对象(刘苍松老师主讲,占笔记内容40%);Java SE核心I 和Java SE 核心II(范传奇老师主讲,占笔记内容40%);其他视频及书籍资料(占笔记内容10%)目录一、Java技术基础 (1)1.1编程语言 (1)1.2 Java的特点 (1)1.3 Java开发环境 (1)1.4 Java开发环境配置 (2)1.5 Linux命令与相关知识 (2)1.6 Eclipse/Myeclipse程序结构 (3)二、Java语言基础 (4)2.1基础语言要素 (4)2.2八种基本数据类型 (4)2.3常量和变量 (5)2.4运算符与表达式 (5)2.5编程风格 (6)2.6流程控制语句 (7)2.7数组 (8)2.8字符串 (8)2.9方法三要素 (9)2.10插入排序 (9)2.11冒泡排序 (9)2.12冒泡排序:轻气泡上浮的方式 (10)2.13二分法查找 (10)2.14 Java系统API方法调用 (11)2.15二进制基础 (11)2.16 Java基础其他注意事项 (11)三、面向对象 (13)3.1类 (13)3.2对象 (13)3.3包 (14)3.4方法及其调用 (14)3.5引用 (14)3.6访问控制(封装) (14)3.7构造器 (14)3.8 super()、super.和this()、this. (15)3.9重载和重写 (16)3.10继承 (17)3.11 static (20)3.12 final (21)3.13多态 (22)3.14抽象类 (22)3.15接口 (22)3.16内部类 (23)3.17匿名类 (24)3.18二维数组和对象数组 (25)13.19其他注意事项 (25)四、Java SE核心I (27)4.1 Object类 (27)4.2 String类 (28)4.3 StringUtils类 (30)4.4 StringBuilder类 (30)4.5正则表达式 (31)4.6 Date类 (32)4.7 Calendar类 (32)4.8 SimpleDateFormat类 (33)4.9 DateFormat类 (33)4.10包装类 (34)4.11 BigDecimal类 (34)4.12 BigInteger类 (35)4.13 Collection集合框架 (35)4.14 List集合的实现类ArrayList和LinkedList (36)4.15 Iterator迭代器 (39)4.16泛型 (39)4.17增强型for循环 (40)4.18 List高级-数据结构:Queue队列 (40)4.19 List高级-数据结构:Deque栈 (41)4.20 Set集合的实现类HashSet (41)4.21 Map集合的实现类HashMap (43)4.22单例模式和模版方法模式 (45)五、Java SE核心II (46)5.1 Java异常处理机制 (46)5.2 File文件类 (48)5.3 RandomAccessFile类 (50)5.4基本流:FIS和FOS (52)5.5缓冲字节高级流:BIS和BOS (53)5.6基本数据类型高级流:DIS和DOS (53)5.7字符高级流:ISR和OSW (54)5.8缓冲字符高级流:BR和BW (55)5.9文件字符高级流:FR和FW (56)5.10 PrintWriter (57)5.11对象序列化 (57)5.12 Thread线程类及多线程 (58)5.13 Socket网络编程 (61)5.14线程池 (64)5.15双缓冲队列 (64)2一、Java技术基础1.1编程语言机器语言:0 1 在硬件直接执行汇编语言:助记符高级语言:(Java运行比C/C++慢)1)面向过程的高级语言:程序设计的基本单位为函数,如:C/C++语言。

廖雪峰Java教程学习笔记(一)——Java程序基础

廖雪峰Java教程学习笔记(一)——Java程序基础

廖雪峰Java教程学习笔记(⼀)——Java程序基础(⼀)Java程序基本结构Java是⾯向对象的语⾔,⼀个程序的基本单位就是class。

在class内部,可定义若⼲⽅法。

类名要求:类名必须以英⽂字母开头,后接字母,数字和下划线的组合习惯以⼤写字母开头⽅法名要求:⽅法名必须以英⽂字母开头,后接字母,数字和下划线的组合习惯以⼩写字母开头(⼆)变量和数据类型在Java中,变量分为基本类型的变量和引⽤类型的变量。

例如:int x = 1; //定义了⼀个整型int类型的变量,名为x,初始值为1变量的⼀个特点是可以重新赋值,也可以赋值给其他变量。

值得注意的是,在第⼀次定义变量时需要指定变量类型,⽽第⼆次重新赋值时,该变量已经存在了,不⽤再指定变量类型。

基本数据类型整数类型:byte, short, int, long浮点数类型:float, double字符类型:char布尔类型:boolean计算机内存的最⼩存储单元是字节(byte),⼀个字节就是⼀个8位⼆进制数,即8个bit,字节的⼆进制表⽰范围为00000000~11111111,换算成⼆进制是0~255,换算成⼗六进制是00~ff。

Java基本数据类型占⽤的字节数类型byte short int long float double char字节 1 2 4 8 4 8 2定义基本数据类型时的注意事项整型最⾼位的bit表⽰符号位(0表⽰正数,1表⽰负数)long型的结尾需要加L(int l = 9000000000000000000L;)float型的结尾需要加f(float f = 3.14f;)char类型使⽤单引号‘ ’,且仅有⼀个字符,字符串使⽤双引号“ ”引⽤类型常量:定义变量的时候,如果加上final修饰符,这个变量就变成了常量。

常量名通常全部⼤写var关键字:省略变量类型可使⽤var关键字(三)整数运算Java的整数运算遵循四则运算规则,可以使⽤任意嵌套的⼩括号。

java课堂笔记(全部基础知识)

java课堂笔记(全部基础知识)

Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。

JAVA学习完整版详细笔记

JAVA学习完整版详细笔记

Java基础知识总结Java基础知识总结写代码:1,明确需求。

我要做什么?2,分析思路。

我要怎么做?1,2,3。

3,确定步骤。

每一个思路部分用到哪些语句,方法,和对象。

4,代码实现。

用具体的java语言代码把思路体现出来。

学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。

demo4,该技术什么时候用?test。

-----------------------------------------------------------------------------------------------一:java概述:1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言更名为Java;Java的三种技术架构:JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。

2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。

环境变量的配置:1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdkpath=%JAVA_HOME%\bin2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输入

java学习笔记(5)控制语句、键盘输⼊控制语句:java控制可以分为7种:*控制选择结构语句: *if if else *switch*控制循环结构语句: *for *while *do while*改变控制语句顺序: *break *continueif控制语句:/*关于java语⾔当中的if语句,属于选择结构,if语句⼜被称为分⽀语句/条件控制语句;1、if语句的运发结构:包含4中编写⽅式第⼀种:if(布尔表达式){java语句;...};第⼆种:if(布尔表达式){java语句;...}else{java语句;...}第三种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}...第四种:if(布尔表达式){java语句;...}else if(布尔表达式){java语句;...}else{java语句;...}重点:只要有⼀个if分⽀执⾏,整个if语句结束;注意:所有控制语句都是可以互相嵌套的。

注意:嵌套使⽤的时候,代码格式要保证完美。

注意:if语句中,只有⼀条java语句的话,⼤括号可以省略;if(true/false){java语句;}if(true/false) java语句;//但是不推荐使⽤,这种代码风格不好。

不容易看清。

*/public class ifTest01{public static void main(String[] args){// 需求,所在位置的5公⾥范围内有肯德基的话,去KFC吃午饭。

// 公⾥数double distance = 6.0;//单位KM// 判断语句if(distance<=5){System.out.println("⾛着去KFC吃午饭");}else if(distance<=7.0&&distance>5){System.out.println("跑着去KFC吃午饭");}else{System.out.println("在附近吃别的");}}}接收⽤户键盘输⼊:/*System.out.println() 负责向控制台输出,【从内存到控制台,输出的过程,这是从内存中出来了】接收⽤户键盘输⼊,从"键盘"到"内存"。

java学习笔记第四章面向对象(上)

java学习笔记第四章面向对象(上)

第四章:面向对象(上) (2)1.面向对象和面向过程 (2)2.面向对象的特点 (2)3.类和对象 (2)4.成员变量与局部变量的区别 (2)5.匿名对象的使用 (3)6.封装 (3)7.private(私有) (3)8.构造方法 (4)9.this关键字 (4)10.this的作用 (4)11.创建对象在内存中的详细步骤 (6)12.static(静态)特点 (7)13.方法区 (7)14.静态的使用 (8)15.单例设计模式应用 (9)16.final关键字 (11)17.final和private区别 (11)第四章:面向对象(上)1.面向对象和面向过程334157810这群每日java技术分享教程和定期资料更新(1)面向过程强调过程,执行者:它是一种更符合人们思考习惯的思想;(2)面向对象强调对象,指挥者:它使复杂的内容简单化;(3)面向对象思想的特点:它使我们从执行者变成了指挥;2.面向对象的特点封装;继承;多态3.类和对象(1)类对现实世界中同一类事物的描述(成员变量和方法);(2)对象现实世界中实际存在具体的个体;4.成员变量与局部变量的区别1.作用域:成员变量的作用域是整个类中都可以访问;局部变量是的作用域是定义它的{}内,{}中的语句执行完它就被回收;2.初始值:局部变量使用前必须手动赋值,系统不会赋默认值;成员变量系统会赋默认初始值.3.所在内存区域:局部变量在方法运行的栈内存里,在栈里,会自动释放;成员变量在对象里,对象在堆里,成员变量也在堆里,不使用的对象会被垃圾回收机制在不确定的时候回收.334157810这群每日java技术分享教程和定期资料更新5.匿名对象的使用(1)当对对象中的功能只执行一次的时候使用。

(2)用于作为实际参数进行传递。

(3)可以用匿名对象调用属性,没意义.6.封装(1)封装的好处:便于重复使用,安全性高。

(2)private(私有的)权限修饰符。

7.private(私有)334157810这群每日java技术分享教程和定期资料更新private修饰成员变量和成员不能在其他类中直接访问.注意:私有仅仅是封装的一种体现形式,封装是一种思想,就是将具体实现隐藏,仅对外暴露访问方式.8.构造方法(1)用途:用于给对象中属性进行初始化。

传智播客刘意老师JAVA全面学习笔记(word文档良心出品)

传智播客刘意老师JAVA全面学习笔记(word文档良心出品)

JAVA 学习路线第一天1:计算机概述(了解)22:键盘功能键的认识和快捷键(掌握)2 3:常见的DOS命令(掌握)34:Java语言概述(了解)35:JDK,JRE,JVM的作用及关系(掌握) 3 6:JDK的下载,安装,卸载(掌握)47:第一个程序:HelloWorld案例(掌握)4 8:常见的问题(掌握)59:path环境变量(掌握)510:classpath环境变量(理解)5第二天1:关键字(掌握)62:标识符(掌握)63:注释(掌握)74:常量(掌握)75:进制转换(了解)76:变量(掌握)87:数据类型(掌握)88:数据类型转换(掌握)8第三天1:运算符(掌握)102:键盘录入(掌握)113:流程控制语句124:if语句(掌握)12第四天1:switch语句(掌握)142:循环语句(掌握)153:控制跳转语句(掌握)17第五天1:方法(掌握)182:数组(掌握)19第六天1:二维数组(理解)232:两个思考题(理解)233:面向对象(掌握)23第七天1:成员变量和局部变量的区别(理解)252:类作为形式参数的问题?(理解)253:匿名对象(理解)254:封装(理解)255:private关键字(掌握)256:this关键字(掌握)267:构造方法(掌握)268:代码:Student s = new Student();做了哪些事情?(理解)27 9:面向对象的练习题(掌握)27第八天1:如何制作帮助文档(了解)282:通过JDK提供的API学习了Math类(掌握)283:代码块(理解)284:继承(掌握)28第九天1:final关键字(掌握)302:多态(掌握)303:抽象类(掌握)324:接口(掌握)33第十天1:形式参数和返回值的问题(理解)352:包(理解)353:导包(掌握)354:权限修饰符(掌握)365:常见的修饰符(理解)366:内部类(理解)37第十一天1:Eclipse的概述使用(掌握)402:API的概述(了解)403:Object类(掌握)40第十二天1:Scanner的使用(了解)412:String类的概述和使用(掌握)41第十三天1:StringBuffer(掌握)442:数组高级以及Arrays(掌握)443:Integer(掌握)464:Character(了解)47第十四天1:正则表达式(理解)472:Math(掌握)493:Random(理解)494:System(掌握)495:BigInteger(理解)506:BigDecimal(理解)507:Date/DateFormat(掌握)508:Calendar(掌握)51第十五天1:对象数组(掌握)522:集合(Collection)(掌握)523:集合(List)(掌握)55第十六天1:List的子类(掌握)572:泛型(掌握)583:增强for循环(掌握)584:静态导入(了解)585:可变参数(掌握)596:练习(掌握)597:要掌握的代码59第十七天1:登录注册案例(理解)602:Set集合(理解)603:Collection集合总结(掌握)604:针对Collection集合我们到底使用谁呢?(掌握)61 5:在集合中常见的数据结构(掌握)61第十八天1:Map(掌握)622:Collections(理解)63第十九天1:异常(理解)642:File(掌握)65第二十天1:递归(理解)662:IO流(掌握)663:自学字符流第二十一天1:字符流(掌握)69第二十一天1:字符流(掌握)692:IO流小结(掌握)703:案例(理解练习一遍)71第二十二天1:登录注册IO版本案例(掌握)722:数据操作流(操作基本类型数据的流)(理解)72 3:内存操作流(理解)724:打印流(掌握)725:标准输入输出流(理解)736:随机访问流(理解)737:合并流(理解)738:序列化流(理解)739:Properties(理解)7410:NIO(了解)74第二十三天1:多线程(理解)75第二十四天1:多线程(理解)772:设计模式(理解)77第二十五天1:如何让Netbeans的东西Eclipse能访问79 2:GUI(了解)79第二十六天1:网络编程(理解)80第二十七天1:反射(理解)822:设计模式823:JDK新特性82JA V A学习总结姓名:陈鑫第一天1:计算机概述(了解)(1)计算机(2)计算机硬件(3)计算机软件系统软件:window,linux,mac应用软件:qq,yy,飞秋(4)软件开发(理解)软件:是由数据和指令组成的。

Java学习笔记之线程isAlive方法

Java学习笔记之线程isAlive方法

Java学习笔记之线程isAlive⽅法isAlive⽅法:⽅法isAlive()功能是判断当前线程是否处于活动状态。

活动状态就是线程启动且尚未终⽌,⽐如正在运⾏或准备开始运⾏。

public class IsAliveThread extends Thread {public IsAliveThread() {System.out.println("begin");System.out.println("Thread.currentThread().getName() : " + Thread.currentThread().getName());System.out.println("Thread.currentThread().isAlive() : " + Thread.currentThread().isAlive());System.out.println("this.getName() : " + this.getName());System.out.println("this.isAlive() : " + this.isAlive());System.out.println("end");}@Overridepublic void run() {System.out.println("run begin");System.out.println("Thread.currentThread().getName() : " + Thread.currentThread().getName());System.out.println("Thread.currentThread().isAlive() : " + Thread.currentThread().isAlive());System.out.println("this.getName() : " + this.getName());System.out.println("this.isAlive() : " + this.isAlive());System.out.println("run end");}}public class ThreadRunMain {public static void main(String[] args) {testIsAliveThread();}public static void testIsAliveThread(){IsAliveThread ist = new IsAliveThread();Thread th = new Thread(ist);System.out.println("Main begin th isAlive = " + th.isAlive());th.start();System.out.println("Main end th isAlive = " + th.isAlive());}}运⾏结果:。

java从入门到精通学习笔记

java从入门到精通学习笔记

Java内容介绍一、Java编程可以分成三个方向:1.Java se(j2se)桌面开发2.Java ee(j2ee)web开发3.Java me(j2me)手机开发二、Java se课程介绍1.Java面向对象编程2.Java图形界面3.Java数据库变成4.Java文件io流5.Java网络编程6.Java多线程三、Java语言的特点:1.Java语言是简单的2.Java语言是面向对象的3.Java语言是跨平台(操作系统)的,一次编译,到处运行。

4.Java语言是高性能的Jdk的配置:Jdk的全程是java development kit中卫java开发工具包Jdk是sun公司开发的Jdk包括jre(java runtime envirnment)java运行环境,一堆java工具和java基础类库。

Jdk的配置:添加环境变量即可。

变量值安装目录的bin文件夹目录如何运行你的java程序1、将hello.java编译成hello.class使用命令:javac hello.java2、运行hello.class使用命令:java hello//作者:hoochon//功能:在控制台显示hello world!//日期:2013.4.9//public:表示这个类是公共类,一个java文件中只能有一个public类//class:表示这是一个类//hello:类名(公共类的类名必须和文件名一致)public class hello{//一个主函数,相当于程序的入口public static void main(String[] args){System.out.println("Hello World!");}}Hello,world程序改进,让它成为一个简单的加法运算程序。

//作者:hoochon//功能:在控制台显示hello world!//日期:2013.4.9//public:表示这个类是公共类,一个java文件中只能有一个public类//class:表示这是一个类//hello:类名(公共类的类名必须和文件名一致)public class hello{//一个主函数,相当于程序的入口public static void main(String args[]){//执行语句//System.out.println("Hello World!");int a=10;int b=20;int result=a+b;System.out.println("结果是"+result);}}Java基本数据类型1.整数型:可以表示一个整数,常用的整数类型有:byte ,short,int,long;主要的区别是数据大小的范围:Byte 一个字节-128至127Short 二个字节-32768至32767Int 四个字节-2147483648至2147483647Long 八个字节范围公式:-2字节*8-1至2字节*8-1-12.浮点型:可以表示一个小数,常用的浮点型有float,double区别也是数据大小范围:3.布尔型:可以表示真或假4.字符型:可以表示单个字符。

Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围

Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围

Java学习笔记10---访问权限修饰符如何控制成员变量、成员⽅法及类的访问范围1.Java有三种访问权限修饰符,分别为public、protected、private,还有⼀种为缺省权限修饰符的情况,记为default。

其中,可以由public 和default来修饰类;这四种修饰符都可以修饰成员变量和成员⽅法。

每⼀种修饰符对应不同的访问范围,下⾯以下图为例详细说明。

图1private只可以覆盖圆1,即只有本类可以访问;default可以覆盖到圆3,即本类、同包⼦类、同包其他类都可以访问,简单说就是与本类同包的所有类都可以访问;protected可以覆盖到圆4,即本类、同包⼦类、同包其他类、其他包中的⼦类都可以访问,简单说就是与本类同包的类及其他包中的⼦类都可以访问;public可以覆盖到圆5,即本类、同包⼦类、同包其他类、其他包⼦类、其他包其他类都可以访问,简单说就是所有类都可以访问;注:在与⽗类不同包的⼦类中,如果通过⼦类对象访问和调⽤⽗类中由protected修饰的变量和⽅法,确实可以;但如果通过⽗类的对象访问和调⽤的话,则不可以访问protected修饰的变量和⽅法,具体见下⽂的(6)和(7)。

具体原因还未了解。

2.下⾯以简单的程序验证上述结论。

前提:包human中定义了类Person,Student,DustMan;其中,Student是Person的⼦类,DustMan不是Person的⼦类。

包teacher中定义了类Teacher,GateMan;其中,Teacher是Person的⼦类,GateMan不是Person的⼦类。

Person中定义了四个成员变量和四个成员⽅法,分别以public,protected,缺省,private修饰,详见下⾯代码:String name;public String education;private String hobby;protected String residence;public void testModifierPublic() {System.out.println("Public");}protected void testModifierProtected() {System.out.println("Protected");}void testModifierDefault() {System.out.println("Default");}private void testModifierPrivate() {System.out.println("Private");}(1),在Person类中定义Person类对象pOwn,分别访问和调⽤这些成员变量和成员⽅法,详见下⾯的代码:public static void main(String[] args) {Person pOwn = new Person("xi",20,"female","bachelor","recite","NJ");System.out.println("public education: " + cation);System.out.println("protected residence: " + pOwn.residence);System.out.println("default name: " + );System.out.println("private hobby: "+ pOwn.hobby);pOwn.testModifierPublic();pOwn.testModifierProtected();pOwn.testModifierDefault();pOwn.testModifierPrivate();}输出结果为:public education: bachelorprotected residence: NJdefault name: xiprivate hobby: recitePublicProtected结果分析:Person类对象可以在本类中访问和调⽤由public、protected、default、private修饰的成员变量和成员⽅法。

java从入门到精通读书笔记(一)

java从入门到精通读书笔记(一)

java从入门到精通读书笔记(一)Java从入门到精通笔记入门篇•熟悉Java发展历史•安装JDK、Eclipse•编写Hello World程序•了解Java基本语法•掌握变量、数据类型、运算符、控制语句面向对象编程•了解面向对象的特点•掌握类和对象的概念•学习继承、封装、多态等基本概念•实现类的定义和对象的创建•学习重载和重写集合和IO•学习Java中的容器类•掌握ArrayList、HashSet、HashMap等集合的使用•熟悉Java中的IO操作•了解文件操作、序列化等内容网络编程•掌握socket通信•理解TCP/IP协议•学习HTTP协议•实现客户端和服务器高级Java特性•学习反射、注解等高级特性•掌握多线程编程•熟悉JVM架构•学习异常处理JavaWeb编程•掌握Servlet、JSP等技术•学习MVC框架•熟悉Web应用服务器•学习数据库编程总结•学习Java需要不断积累•遇到问题可以通过搜索引擎解决•不断实践,多写代码•持续学习新技术,保持竞争力入门篇Java语言是面向对象的编程语言,是一种广泛使用的计算机编程语言。

Java语言从1996年开始被发布,现在已被广泛应用于客户端和服务器端程序的开发。

在学习Java之前,需要先了解Java的发展历史。

安装JDK、EclipseJava的开发需要安装JDK和Eclipse。

JDK是Java开发工具包,其中包含了Java编译器等工具。

Eclipse是一款常用的Java IDE(集成开发环境),可以用于编写,调试和运行Java代码。

编写Hello World程序在学习Java语言之前,需要先学会编写Hello World程序,这是一个非常简单的程序,可以帮助初学者快速上手Java编程。

public class HelloWorld {public static void main(String[] args){System.out.println("Hello World!");}}了解Java基本语法Java是一种强类型的语言,需要对数据类型进行明确的定义。

Java学习笔记89——Object类—equals方法

Java学习笔记89——Object类—equals方法

Java学习笔记89——Object类—equals⽅法Object类——equals⽅法public boolean equals(Object obj)指⽰⼀些其他对象是否等于此。

今后想要弄明⽩⼀个类中的⽅法是如何实现的时候,API也没告诉我们怎么办呢?看源码。

将⿏标光标放在⽅法名上 ctrl+⿏标左键通过观察源码发现:Object类中的equals⽅法实现底层依旧是== public boolean equals(Object obj) { return (this == obj); } ⽽==⽐较引⽤数据类型⽐较的是地址值,当地址值不⼀样的时候返回的是false==:基本类型:⽐较的是值是否相同引⽤类型:⽐较的地址值是否相同equals:引⽤数据类型:不需要我们⾃⼰重写,⾃动⽣成即可重写之前,默认调⽤的是Object类中的equals⽅法,默认⽐较的是地址值重写之后,⽐较的是对象成员变量值import java.util.Objects;public class Student4 {private String name;private int age;public Student4() {}public Student4(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}// @Override// public String toString() {// return "姓名:" + name + ",年龄:" + age;// }@Overridepublic String toString() {return "Student3{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic boolean equals(Object o) { //s3.equals(s4)//this -- s3//o -- s4if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student4 student4 = (Student4) o;return age == student4.age &&Objects.equals(name, );}}public class StudentTest3 {public static void main(String[] args) {Student4 s1 = new Student4("阿伟", 18);Student4 s2 = new Student4("阿伟", 18);System.out.println(s1==s2);Student4 s3 = s1;System.out.println(s1==s3);System.out.println("***************************");System.out.println(s1.equals(s2)); //false //trueSystem.out.println(s1.equals(s3)); //trueSystem.out.println(s1.equals(s1)); //true//但是,我们两个对象的成员变量值都⼀样,从现实⽣活⾓度出发,我们应该创建的是同⼀个学⽣ Student4 s4 = new Student4("⼩朱", 18);System.out.println(s3.equals(s4)); //false}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在页面上弹出一个输入框://javascript程序设计<html><head><title>js输入对话框</title></head><body><script language="javascript"><!--age = prompt("请输入你的年龄:","20");if(age != null){alert("你今年"+ age +"岁了!");}else{alert("你按了[取消]按钮");}//--></script></body></html>js点击修改按钮后,要修改的地方出现文本框<button id="click">改变内容</button><div id="t">要改变的内容</div><script type="text/javascript">document.getElementById("click").onclick=function(){var text=document.getElementById("t");var val=text.innerHTML;text.innerHTML="<input type='text' id='n' value="+val+" />";document.getElementById("n").addEventListener("blur",function (e){text.innerHTML=document.getElementById("n").value;});};</script>(1)通过<a>标签跳到后台:(有个后台叫“chabiao”)链接跳转<a href="#" onclick="window.location.href='chabiao'">动漫</a> (2)通过<form>表单跳到后台:(有个后台叫“chabiao”)按钮跳转后台多为Servlet:其中<%=request.getContextPath() %>是获取工程路径<form action="<%=request.getContextPath() %>/chabiao"method="post" id="chabiao"></form>●通过EL表达式可以在没有登录的情况下进入首页user us = (user) session.getAttribute("us");//获取登录时页面输入并传到后台的用户名会员中心欢迎: ${us.getUsername() },您的登录!⏹通过c库可以设置登录按钮的隐藏(登录后隐藏,未登录就显示出来)<c:if test="${empty .getUsername() }"> <input type="submit" value="登录"></c:if>◆浏览器缩小页面被压缩:在外面做个《div》标签设置为相对路径,里面的《div》设置绝对路径,然后调整位置:<div style="position: relative;"><div style="position: absolute;"></div></div>先有个查询mysql的查询语句的方法:--查询数据放入结果集查bank用于查发表帖子的表,存入集合中------- public ResultSet selectAll(){ 这是一个结果集的方法String sql="select * from bank "; 这是sql查询语句ResultSet rs= Query(sql); 调用组件的查询方法return rs; 返回一个结果集}这个方法下有个查询的组件(组件:一个条令框架,使用这个方法的,只能根据我这个方法的规定来执行)//查询方法public ResultSet Query(String sql){ 这是一个结果集的方法ResultSet rs=null;try{rs=stm.executeQuery(sql);}catch(Exception e){e.printStackTrace();}return rs;}Dopost方法的书写:doPost(HttpServletRequest request, HttpServletResponserespons{FaBiao fb=new FaBiao();ResultSet rs=fb.selectAll();//调用FaBiao类的selectAll()方法ArrayList fblist=new ArrayList();//大集合System.out.println("读取数据开始");try {ResultSetMetaData rsmd = rs.getMetaData();int columncount =rsmd.getColumnCount();//获取列数while(rs.next()){ArrayList rowdata=new ArrayList();//小集合for(int i=1;i<=columncount;i++){rowdata.add(rs.getObject(i));}fblist.add(rowdata);//小集合放入大集合中}} catch (SQLException e) {e.printStackTrace();}System.out.println("读取数据完成");request.getSession(false).setAttribute("fblist",fblist);response.sendRedirect("tiezi.jsp");}在页面上通过输出集合的下标,可以输出数据库的值:通过C库的循环标签:循环出集合的数据<c:forEach items="${fblist }"var="user"varStatus="s">通过EL表达式${user.get(5) }输出集合中下标为5的字段通过<a>标签可以在循环输出的时候,直接做成连接跳转:<a href="chahuifu?id=${user.get(0) }">${user.get(3) }</a>其中(id=${user.get(0) }是把id传过去)在页面上通过<% %>写java代码获取集合:<%if(session.getAttribute("fblist")!=null){ArrayList fblist=(ArrayList)session.getAttribute("fblist");String id=(String)session.getAttribute("id");pageContext.setAttribute("id", id);//存入pageContext中才可以参与运算System.out.print("我是获取的id"+id);//用于测试是否获取到id}%>删除功能的实现:(通过form点击到后台,但是要把相关字段传到后台)<form action="shanchu"method="post"><input type="submit"value="删除"onclick="b()"><input type="hidden"value="${cfblist.get(0) }"name="hfid">传id<input type="hidden"value="${us.getUsername() }"name="us">传名字<input type="hidden"value="${id }"name="bid"></form>在后台dopost页面运行这个,在里面调用mohu这个方法。

执行删除数据mohu(HttpServletRequest request, HttpServletResponseresponse){String hfid= request.getParameter("hfid");Connection con;try{con=DriverManager.getConnection("jdbc:mysql://localhost:3306/"+"user?useSSL=false&characterEncoding=utf-8","root","1234");Statement st1=con.createStatement();String sql="delete from huifu where id='"+hfid+"'";st1.executeUpdate(sql); //删除数据执行} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} }1、搜索到图片的路径2、读取图片并将图片转换成二进制流格式3、sql语句保存到数据库中。

相关文档
最新文档