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基础知识点笔记Java是一门非常重要的计算机语言,具有良好的跨平台性和易读性和易学性。

尤其是基于Java开发的移动端和Web端产品,其优秀的性能和可扩展性在行业中得到了广泛的青睐。

作为Java开发工程师,熟练掌握Java的基础知识非常重要。

一、Java基本语法Java程序包含一个或多个类,不同类可以相互调用使用。

每一个Java程序都需要有一个入口点,即main()函数。

在Java中,注释采用“//”或“/*...*/”的形式,可以单行或多行注释。

Java变量需要先声明再使用,可以定义基本类型变量和引用类型变量。

Java中的运算符包括算术运算符、逻辑运算符等。

二、Java面向对象编程Java是一门面向对象的编程语言,对象是Java程序的基本组成单元。

Java中的类封装了数据和方法,可以实现类的继承和多态。

在Java中,使用构造函数实例化对象,可以使用访问控制符来控制类成员的访问权限。

三、Java流程控制语句Java中的流程控制语句有条件语句(if、if-else、switch)、循环语句(while、do-while、for)等。

其中,if语句可以进行嵌套,switch语句可以使用break语句避免case穿透问题。

四、Java数组Java中的数组是一组相同类型的数据序列,从0开始编号,使用方括号表示。

在Java中可以使用foreach来遍历数组,也支持多维数组。

五、Java异常处理Java程序中的异常指的是程序出现的错误。

异常处理是Java程序中的一部分,可以使用try-catch语句来捕获并处理异常。

Java中的异常类型包括运行时异常和受检查异常。

六、Javaio编程Java中的文件和I/O操作称为io编程。

Java的io编程采用字节流和字符流,其中字节流用于处理二进制数据,字符流用于处理文本数据。

Java中的io操作需要进行文件的读取、写入等操作,可以使用File类来操作文件。

七、Java线程Java程序中,线程指的是一条执行序列,Java中的线程可以继承Thread类或实现Runnable接口。

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料
黑马程序员提供的JavaWeb讲义和笔记资料非常详尽,对于学习JavaWeb开发的人来说非常有用。

这些资料涵盖了JavaWeb开发的基础
知识,包括HTML、CSS、JavaScript、Servlet、JSP等方面的内容。

以下是一些黑马程序员提供的JavaWeb讲义和笔记资料的介绍:
1. JavaWeb基础笔记:这是一份详细的笔记,涵盖了JavaWeb开发的基
础知识,包括HTTP协议、Web服务器、Web应用程序架构等方面的内容。

2. JavaWeb进阶笔记:这是一份进阶的笔记,主要介绍了JavaWeb开发
的高级技术,包括多线程、JavaMail、JNDI等方面的内容。

3. JavaWeb实战笔记:这是一份实战的笔记,通过多个案例介绍了JavaWeb开发的实际应用,包括文件上传、在线聊天室、在线购物等方面
的内容。

4. JavaWeb讲义:这是一份详细的讲义,介绍了JavaWeb开发的整个流程,包括开发环境的搭建、HTML/CSS/JavaScript的使用、Servlet/JSP的使用等方面的内容。

这些资料都是黑马程序员精心整理的,非常适合初学者和有一定Java基础的开发者使用。

通过学习这些资料,可以快速掌握JavaWeb开发的基本知识和技能,提高自己的开发能力。

第三章JAVA语言基础笔记

第三章JAVA语言基础笔记

Java语言基础本章的主要目标:1、了解java的主类的结构;2、了解java语言中的基本数据类型;3、了解java语言中的常量和变量;4、了解java语言运算符的使用;5、了解java语言数据类型的转换;6、了解java语言中代码注释与编码规范;Java主类结构Java语言是面向对象的程序设计语言,java的基本组成单元就是类,类体又包括属性和方法,而每一个程序都必须包含一个main()方法,含有main()方法的类称之为主类;我们用一个程序来看一下主类的结构:public class First{static String s1=”java”;public static void main(String args[]){String s2=”学习之旅!”;System.out.println(“s1”);System.out.println(“s2”);}}这就是一个简单的java程序,包含了类的结构;需要注意的是,java代码中所有的标点符号,括号都是需要在英文状态下输入;否则在编译的时候将会报错;通常将类的属性称之为类的全局变量(又叫成员变量),将方法中的属性称之为局部变量;全局变量声明在类体中,局部变量声明在方法体中;Java程序中的main()方法必须声明为public staticvoid 。

main()方法是程序开始执行的位置;Java语言严格区分大小写;基本数据类型Java中的基本数据类型有字符和数字之间可以相互转换;在程序执行过程中,其值不能改变的量称为常量,其值能改变的量称之为变量;Java语言规定标识符由任意顺序的字母、下划线、美元符号、和数字组成,并且第一个字符不能使数字字符;Java中允许使用汉字或其他语言作为变量名,但不建议使用;常量名通常使用大写字母,但这并不是必须的,很多java程序员使用大写字母表示常量,常常是为了清楚的表明正在使用常量;由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点后,该变量会被释放掉,也就是说变量有他的生命周期;在一个方法中,局部变量和成员变量同名时,此时成员变量将被隐藏,即这个成员变量在这个方法中暂时失效;如果从低精度类型向高精度类型转换,则永远不会溢出,并且总是成功的;把高精度类型转换为低精度类型则必然会有信息的丢失;从低精度类型向高精度类型转换,系统自动执行,程序员无需进行任何操作,这种类型的转换又叫隐式转换,从高进度类型向低精度类型转换,则需要强制执行,又叫强制类型转换,又称显示转换;当一个数超过了要转换的类型的最大值,则转会后的数值则会变为最小值,这也可以理解为数据的溢出;代码注释分为单行、多行、和文档注释;编码规范,简言之就是利人利己;。

Java读书笔记

Java读书笔记

Java读书笔记第一篇:Java读书笔记读书笔记1、类和对象:类是用来定义一组对象共同具有的状态和行为的模版。

而对象是现实世界中个体或事物的抽象表示,并且封装了它们的属性和行为。

2、为了防止命名冲突,Java采用了管理类文件的机制,即类包机制。

(package)定义包名的语法格式:“package包名;”Java命名规则要求包的命名需要使用小写字母。

3、成员变量和成员方法:1成员变量是在类体中定义的变量即全局变量,○成员变量一般用于定义对象的状态。

成员变量是给对象使用的,每个对象被创建后都会有属于自己的属性,即成员变量。

通过修改这些属性,从而改变对象的某个状态。

2成员方法是对象行为的描述。

○定义成员方法的语法格式:“[修饰符] 返回值类型方法名([形参表]){······//方法体}”修饰符:可以是:publicprivateprotactedstaticfinall等;返回值类型:如果方法需要返回值,必须这里声明方法的返回值类型,可以是基本数据类型(int short double booleanvoid等),也可以是对象类型如:数组、字符串等。

形参表:(可选部分)说明方法被调用时应该向它传递的数据。

形参表可以有一个也可以有多个,当有多个形参时每个形参之间要用“,”隔开。

1创建对象:创建对象使用到new语句。

4、对象:○声明并创建对象的语法格式如下:“类名对象名=new 类构造方法()”构造方法:构造方法是类创建对象是必须执行的方法,用于构造一个新的对象并初始化对象属性。

2访问对象的属性:○语法格式:“对象名.属性”3执行对象的行为:○对象的行为就是对象的成员方法,通常说调用或执行对象的某个方法。

语法格式:“对象名.成员方法名();”4对象的销毁:Java提供了垃圾回收机制,对不再使用的对象会自动销毁,也可○以在程序中显式的为某个对象赋null值,使对象不再被使用。

ACCP6.0_S1_JAVA_第一章_学习笔记

ACCP6.0_S1_JAVA_第一章_学习笔记

第一章初识Java1.1 什么是程序程序一词来自生活,通常指完成某些事务的一种既定方式和过程。

在日常生活中,可以将程序看成对一系列动作的执行过程的描述。

对计算机所下达的每一个命令称为指令,它对应着计算机执行的一个基本动作。

告诉计算机按照某种顺序完成一系列指令,这一系列指令的集合称为程序。

计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。

人与计算机对话使用计算机语言,这样人表达的想法,下达的指令计算机才能够明白。

计算机语言有很多种,它们都有自己的语法规则。

选用其中一种来描述程序,传达给计算机,Java就是多种语言中的一种。

计算机阅读程序,也就是阅读指令集,然后按部就班的严格执行。

编制程序时选用的语言是那种有利于人类读写的语言,俗称高级语言。

但是计算机仅仅明白0和1代码组成的低级语言(即二进制形式的机器语言程序),中间需要一个翻译官进行语言转换(对高级语言进行编译或者解释)。

1.2 为什么学习Java语言Java是Sun Microsystems于1995年推出的高级编程语言。

Java 领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术。

Java技术可以应用在几乎所有类型规模的设备上,小到计算机芯片、蜂窝电话,大到超级计算机,无所不在。

1.3 Java可以做什么在计算机软件应用领域中,可以把Java应用分为两种典型类型。

●开发桌面应用程序:银行软件、商场结算软件。

●开发面向Internet的应用程序:网上数码商城、阿里巴巴、易趣网1.4 Java技术平台简介Java包括编程语言和相关的大量技术。

(1)JavaSE:JavaSE即Java平台标准版,是Java技术的核心,提供基础的Java开发工具,执行环境与应用程序接口(API),主要用于桌面程序的开发。

(2)JavaEE:JavaEE的全称是Java平台企业版,它主要用于网络程序和企业级应用的开发。

狂神说Java--Java学习笔记(基础合集)

狂神说Java--Java学习笔记(基础合集)

狂神说Java--Java学习笔记(基础合集)笔记参考来源狂神说Java视频https:///video/BV12J41137hu 本篇笔记有点长,可以根据⽬录定位,建议配合视频学习。

预科什么是计算机1. 名称:Computer,全称电⼦计算机,俗称电脑。

2. 定义:能够按照程序运⾏,⾃动、⾼速处理海量数据的现代化智能电⼦设备。

3. 组成:由硬件和软件组成。

4. 形式:常见显⽰有台式计算机、笔记本计算机、⼤型计算机等。

5. 应⽤:科学计算、数据处理、⾃动控制、计算机辅助设计、⼈⼯智能、⽹络等领域。

硬件及冯诺依曼结构计算机硬件组成:CPU,主板,内存,电源,主机箱,硬盘,显卡,键盘、⿏标,显⽰器。

冯诺依曼结构软件及软件开发计算机软件Windows常⽤快捷键Alt+f4关闭窗⼝ Shift+Delete永久删除 ctrl+w⾃动保存死机:任务管理器结束进程基本的Dos命令打开CMD的⽅式1. 开始+系统+命令提⽰符2. win键+R+输⼊cmd (推荐使⽤)3. 在任意的⽂件夹下,按住Shift键+⿏标右击,打开命令⾏窗⼝4. 在资源管理器地址栏路径前⾯加 “cmd ”5. 管理员运⾏⽅式:命令提⽰符右键以管理员⾝份运⾏(最⾼权限运⾏)常⽤的Dos命令# 盘符切换 E:# 查看当前⽬录下所有⽂件 dir# 切换⽬录 cd /d E:\idea# 返回上⼀级⽬录 cd ..# 进⼊同级⽬录下的下⼀级⽬录 cd tmp(该⽬录下的⽂件名)# 清屏 cls (clear screen)# 退出终端 exit# 查看电脑当前IP地址 ipconfig# 打开计算器 calc# 打开画图 mspaint# 新建记事本 notepad# 在当前⽬录新建⽂件夹 md test(⽂件夹名)# 新建⽂件 cd> a.txt(⽂件名)# 删除⽂件 del a.txt(⽂件名)# 删除⽬录 rd test(⽬录名)# ping命令(复制链接进⼊Dos直接单击⿏标右键粘贴)ping 计算机语⾔发展史第⼀代语⾔:机器语⾔第⼆代语⾔:汇编语⾔第三代语⾔:⾼级语⾔⾼级语⾔C、C++、Java、C#、Python、PHP、JavaScript …⼤体上分为:⾯向过程与⾯向对象两⼤类C语⾔是典型的⾯向过程的语⾔,C++,Java是典型的⾯向对象的语⾔Java⼊门Java帝国的诞⽣Java特性与优势简单性⾯对对象可移植性⾼性能分布式多态性多线程安全性健壮性Java三⼤版本Write Once,Run AnywhereJavaSE: 标准版 (桌⾯程序,控制台开发…)JavaME: 嵌⼊式开发 (⼿机,⼩家电…),已经凉了JavaEE: E企业级开发 (Web端,服务端开发…),JavaSE为基础JDK JRE JVMJDK:Java Development Kit (Java开发者⼯具,包括 JRE,JVM)JRE:Java Runtime Environment (Java运⾏时环境)JVM:Java Virtual Machine (Java虚拟机,跨平台核⼼)安装开发环境卸载JDk1. 删除Java安装⽬录2. 删除环境变量JAVA_HOME3. 删除path下关于JAVA的⽬录4. Java -version安装JDK1. 百度搜索JDK8,找到下载地址2. 同意协议,下载电脑对应的版本,如64位操作系统下载 jdk-8u281-windows-x64.exe3. 双击安装JDK4. 记住安装路径5. 配置环境变量1. 我的电脑-》属性-》系统⾼级设置-》环境变量2. 系统变量新建–> JAVA_HOME 输⼊对应的jdk安装路径3. path变量–>% JAVA_HOME%\bin6. 测试是否成功 cmd–>Java -versionJava基础注释1. 单⾏注释 //2. 多⾏注释 /* */3. ⽂档注释 /** */标识符和关键字Java 所有的组成部分都需要名字。

(完整版)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代码时,可以采取多种方法来组织和
管理代码片段、注释和相关文档。

以下是一些建议和技巧:
1. 创建笔记本和笔记,首先,在印象笔记中创建一个专门用于
存储Java代码的笔记本。

在该笔记本中创建不同的笔记,用于存储
不同类型或功能的Java代码。

2. 使用标签,为了更好地组织和分类Java代码,可以为每个
代码片段或笔记添加标签。

例如,可以添加标签来表示代码的用途、功能或关联的项目名称。

3. 利用笔记标题和目录,在每个笔记中使用清晰明了的标题,
以便快速浏览和查找特定的代码片段。

另外,可以利用笔记的目录
功能来创建一个结构化的代码索引,便于快速导航和查找。

4. 插入代码块,印象笔记支持插入代码块,可以直接粘贴或输
入Java代码,并选择合适的代码语言格式进行展示。

这样可以使代
码片段更易于阅读和理解。

5. 添加注释和解释,在代码片段的上方或旁边添加注释,解释代码的作用、用法、关联的问题或解决方案等。

这有助于他人理解你的代码,并帮助自己回顾和复习。

6. 使用搜索功能,印象笔记提供了强大的搜索功能,可以通过关键词或标签快速定位和查找特定的Java代码片段,因此可以更轻松地管理大量的代码。

总之,在印象笔记中整理Java代码时,建议充分利用笔记本、标签、标题、目录、代码块和注释等功能,以便清晰、有序地管理和展示你的Java代码,同时也方便自己和他人查阅和使用。

希望这些建议能够帮助你更好地整理和管理Java代码。

第一章-Java基础笔记

第一章-Java基础笔记

第⼀章-Java基础笔记Java语⾔的概述Java是⼀门⾯向对象的语⾔,Java相对于C语⾔来说学习相对简单,它主要的三⼤特点就是:封装、继承、多态,并且只需要进⾏⼀次源码编译,在任何装有对应版本的JVM 虚拟机环境的计算机下运⾏;Java的三个版本JavaSE主要⽤于桌⾯应⽤的开发JavaME主要⽤于嵌⼊式系统的开发JavaEE主要⽤于企业级的WEB端开发和服务器开发Java环境介绍JDK - 提供了开发者的⼀些⼯具包,并包含了[JRE和JVM]JRE - Java的运⾏环境,提供了运⾏时需要的类库,并包含了[JVM]JVM - Java的虚拟⼀块内存区域,⽤于执⾏Java的代码Java跨平台交互图Java代码的运⾏机制后缀点java的⽂件会通过 javac命令进⾏⽂件的编译成⼀个能够被JVM读懂的字节码⽂件,通过加载、校验、初始化的过程都内存中,通过JVM寄存器读取⽂件中的⾏号,进⾏执⾏相关代码;注释注释是为了在编写程序时对某个类、⽅法或是⼀段代码进⾏功能作⽤的说明,它不会被编译成代码执⾏,只是起到⼀个描述作⽤,便于对代码的理解;Java中的注释分为3种:单⾏注释://多⾏注释:/* */⽂档注释:/** */对注解的内容⽣成JavaDoc⽂档DOS命令进⼊到要⽣成Doc⽂档的层级⽬录,执⾏:javadoc -encoding UTF-8 -charset UTF-8 ⽂件名称/*** @Author JavaCat7* @Description 这是⼀个⽂档注释*/public class Demo{/*** @Parameter args 对参数的描述* @Description 这是⼀个⽂档注释*/public static void main(String[] args){//这是⼀个单⾏注释System.out.println("Hello Java");/*这是多⾏注释这是多⾏注释*/}}标识符每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;规范:每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;**规范:**1.严格区分⼤⼩写;2.开头可以是$ 或 _ 或 A-Z a-z的字母组成,也可以汉字(不会这么⼲);3.可以由数字、字母或者是 $ 或 _ 组成,但数字不能⽤于开始;4.不可以包含特殊字符;5.不能以Java语⾔中的保留字作为命名;6.类名采取⼤驼峰命名法;7.⽅法和变量采取⼩驼峰命名法;8.常量采取⼤学加_进⾏命名;基本数据类型Java是强类型计算机语⾔,所有的变量必须先定义才能使⽤,对于强类型⽽⾔主要就是指的数据安全,强类型的语⾔有很多,⽐如C、C++、python...计算机存储单位换算bit(位) - 是计算内部数据存储的最⼩单元,通过8个⼆进制位进⾏表⽰;byte(字节) - 是计算机中数据处理的基本单位,通常使⽤B来表⽰;8个bit(位) = 1B(字节)1024个B(字节) = 1KB1024个KB = 1MB1024个MB = 1GB....//整数类型byte a = 1;short b = 2;int c = 3;long d = 4L;//⼩数类型float e = 5.0f;duble f = 6.0d;//字符类型char g = 'a';//布尔类型boolean h = true;boolean i = false;数据类型的转换各数值相关数据类型⽀持类型上的转换,既可以把排序级别较低的类型转换成排序级别较⼤的类型,也可以把排序级别较⾼的类型转换成级别较低的类型(但会造成数据的丢失);数据的转换强制类型转换 - 在要转换的变量前使⽤:要转换的对应数据类型如- (int)⾃动类型转换 - 在不同的数值数据类型运算中,它会以排序级别较⾼的数据类型作为基础⾃动转换int number1 = 128;//正常byte的值是 -128 - 127,强制把int类型转换成byte会造成数据的不精确byte number2 = (byte)number1;int number3 = 519;float number4 = 1.0f;//在运算过程中因为float的排序级别⽐int⾼,那么它会⾃动转换成float类型在完成运算float number5 = number3 + number4;变量,静态变量,常量及作⽤域变量是指可以变化的值,通过数据类型和变量名可以在内存中申请⼀块存储的空间,通过内存的引⽤地址可以设置改变内存中存储的值或者修改值,所有的变量必须先赋值才可以使⽤;成员变量成员变量是指在类中与⽅法同级的位置中定义的成员变量,在该位置定义的变量可以不⽤设置值就可以使⽤,因为它会对类进⾏初始化,并完成初始化赋值,就算不给他们赋值也会有默认的初始值,他们的默认初始值都是最⼩的单元;作⽤域成员位置的变量,可以在⾮静态⽅法的所有位置使⽤,如果要在静态⽅法中使⽤,需要先创建对象;public class Variable{int a; //默认为:0float b; //默认为:0.0char c; //默认为:''boolean d; //默认为:false}局部变量局部变量是指在⽅法内部定义的变量,必须要先完成初始化后,才可以被使⽤;作⽤域局部位置的变量,外部⽆法使⽤,只能在⽅法内部使⽤,可以和外部的变量名称相同;public class Variable{int number;public void method(){int number = 3;//可以和成员位置的变量名称相同}}静态变量静态变量是指被static关键字修饰的变量,被修饰的变量⼜称为类变量;作⽤域静态变量可以作⽤域与所有⽅法中,静态变量只能定义在类的成员位置;public class Variable{static int number ;public static void main(String[] arags){System.out.println(number);}public void method(){System.out.println(numbe);}}常量常量是指不能被改变的值,它在创建到成员位置必须要先完成赋值,⼀旦被创建它的值是不允许被更改的;作⽤域它的作⽤域和成员变量相同public class Variable{final int NUMBER = 3.1415926;}静态常量静态常量是指从属于类的常量,在完成初始化以后是不可以被修改的,并且被public所进⾏修饰;作⽤域它的作⽤域和静态变量相同运算符算术运算符int a = 5;int b = 2;int number = a + b; //number = 7;int number = b - a; //number = 3;int number = a * b; //number = 10;int number = a / b; //number = 2,只取整数;double number = a / (double)b; //number = 2.5int number = a % b; //number = 1;⾃增⾃减运算符int a = 1;int b;b = a++; //b = 1; 先把a的值赋值给b,后a进⾏ +1 操作;b = a--; //b = 2; a前⾯进⾏了⾃增那么就是2,先把2赋值给b,然后进⾏ -1 操作;b = ++a; //b = 2; 前⾯a进⾏了⾃减那么就是1,先对a进⾏⾃增加1,然后在赋值给b;b = --a; //b = 1; 前⾯a是2,先对a进⾏⾃减1,在赋值给b;赋值运算符int a = 5;//把 5 赋值给 a;int b = 2;//把 2 赋值给 b;a += b; // a = 7(a+b的结果在赋值给a);a -= b; // a = 3;a *= b; // a = 10;a /= b; // a = 2;a %= b; // a = 1;关系运算符int a = 5;int b = 2;a > b; //truea < b; //falsea >= b; //falsea <= b; //truea == b; //falsea != b; //true逻辑运算符boolean a = true;boolean b = false;a &&b = false;//都true则true,第⼀个条件为false就不会在看第⼆个条件,直接返回falsea ||b = true;//⼀个条件为true则true,第⼀个条件为tre就不看第⼆个条件,直接返回true! a = false;//取反a &b = false;//2个条件都要执⾏a |b = true;三元运算符int a = 5;int b = 5;a ==b ? "等于":"不等于"; //为true返回第⼀个,为false返回第⼆个流程控制语句If语句if语句就是判断条件是否成⽴,成⽴就执⾏if中的代码,不成⽴就不进⼊;boolean flag = true;if(flag){System.out.println("...");}if...else语句if...else语句就是根据判断的条件是否成⽴,成⽴⾛if语句,不成⽴⾛else语句;boolean flag = true;if(flag){System.out.println("成⽴");}else{System.out.println("不成⽴");}if...else if语句if...else if⽀持多条件的判断,只会进⼊⼀个匹配的条件;boolean flag = true;boolean fail = false;if(flag){System.out.println("条件匹配");}else if(fail){System.out.println("条件匹配");}else{System.out.println("条件都不匹配");}switch条件控制语句witch语句从JDK1.7开始可以⽀持匹配:String字符串;注意事项:每个case 后⾯必须跟⼀个数值常量或字符串常量⽤于匹配;匹配的语句后⾯需要加上break关键字,防⽌case穿透;String week = "星期⼀";switch(week){case "星期⼀":System.out.println("今天是星期⼀");break;case "星期⼆":System.out.println("今天是星期⼆");break;case "星期三":System.out.println("今天是星期⼆");break;default:System.out.println("今天星期⼏都不是");}循环控制语句for循环语句for(初始值,条件表达式,更新)for(int i = 1 ; i <= 10 ; i++){System.out.println(i);}增强for循环for(接收类型的变量,表达式)int [] arrays = {1,2,3,4,5,6,7,8,9,10};for(int i : arrays){System.out.println(arrays);}while循环语句while(条件表达式)int number = 1;while(number <= 100){System.out.println(number);number ++;}do...while循环语句do{先把语句执⾏⼀遍}while(条件表达式);boolean flag = true;do{System.out.println("先执⾏⼀遍");flag = false;}while(flag);break和continue关键字break关键字结束循环的意思;for(int i = 1; i <= 100; i++){if(i == 10){System.out.println("打印10后结束循环");break;}}continue关键字跳过当前循环,进⼊下⼀次循环;for(int i = 1 ; i <= 10; i ++){if(i % 2 == 1){continue;}System.out.println("打印:"+i);}⽅法概述:⽅法就相当于使⽤多⾏代码进⾏组合去实现的⼀个功能⽚段,对代码进⾏封装利⽤,可实现多次调⽤;⽅法的定义修饰符返回值⽅法名称(形参形参名称){⽅法体}public class Function{public static void main(String[] arags){}public void method1(){}public void method2(String name,int age){}public static void method3(){}public int method03(){int a = 3;return a;}public int method04(int a,int b){if(a == b){System.out.println(a + "和" + b + "相等");return -1;}return a > b ? a : b;}}⽅法的重载⽅法的重载是指⽅法名称相同,传递的参数类型不同,个数不同,顺序不同与返回值⽆关;这样的⽅法被称为⽅法的重载;public class Function{public int max(int a,int b) {return a > b ? a : b;}public double max(double a,double b){return a > b ? a : b;}}形参和实参形参是指在()内部的参数,实参是指被真实传递的参数;public class Function{public static vid main(String[] args){Function function = new Function();function.max(3,5);}public int max(int a,int b) {return a > b ? a : b;}}可变参数在⽅法的()中我们有时候不知道要传递多少参数,那么我们可以传递⼀个数据类型紧跟后⾯加上...来表⽰;但需要注意的是⼀个⽅法中指允许⼀个可变参,如果有其他类型的参数,那么可变参数需要写在最后⾯;可变参数本质上就是⼀个数组;public class Function{public void method(String name,int... numbers){for(int num : numbers){System.out.println(num);}}}递归递归的本质就是⾃⼰调⽤⾃⼰,它可以解决⼀些业务,但效率和开销较⼤,对⼀些⽐较⼩的运算可以使⽤;//递归求3的阶乘public class Founction{public static void main(String[] args){}public int founction(int number){int result = 1;if(number == result){return result;}return number * founction(number - 1);}}数组数组就是⼀组数据的集合,Java中的数组必须存储和数据类型相符合的值,不允许与定义的数据类型不匹配;⼀旦数组被创建出来,它的长度就不允许被改变,数组有下标(索引)的概念,都是从0开始,如果操作的数据超过数组的长度那么就会报出下标索引越界异常[ IndexOutofBoundsException ];数组的定义int[] array = new int[3];int array[] = new int[3];int array[] = {1,2,3};数组的内存模型图数组的遍历⽅式int[] arr = new int[10];//⽅式⼀for (int i = 0; i < arr.length ; i ++) {System.out.println(arr[i]);}//⽅式⼆for (int num : arr) {System.out.println(num);}⼆维数组int[][] arr = new int[3][2];String[][] strArr = {{"hello","hello"},{"hi","hi","hi",{"java","java","java","java"}}Arrays⼯具类Arrays数组的⼯具类,是jdk已经帮我们提供好的⼀套数据⼯具类,⽅便我们对数据相关进⾏⼀些操作;int[] arr = {3,51,1,33,82,22,55,53};Arrays.toString(arr);//把数组变成⼀个字符串Arrays.sort(arr);//对数组内容进⾏升序排列Arrays.fill(arr,0);//把数组的内容全部进⾏替换为0常见算法冒泡排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//冒泡排序算法public static void popArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每次⽐较⼀轮,需要减少1次⽐较的次数for (int j = 0; j < arr.length - i - 1; j++) {//如果前⾯的数据⽐后⾯⼤,那么就交换位置if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}选择排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//选择排序public static void selectOrderArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每⽐较⼀次,需要减少1次⽐较的次数,会把⼩的先往前排for(int j = i+1;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}⼆分查找public static int[] arr = new int[]{1, 2, 3 , 4, 6, 7, 8, 13, 19};//2分查找法public static void branchFind(int [] arr,int number){int startNode = 0;int endNode = arr.length-1;int middle = 0;while (startNode <= endNode){//中间的指针由开始节点和结束节点计算得来middle = (startNode+endNode)/2;if(number == arr[middle]){System.out.println("找到了");break;}else if(number < arr[middle]){endNode=middle-1;System.out.println(number+"⼩于中间值,结束节点变更为中间节点-1"); }else if(number > arr[middle]){startNode = middle+1;System.out.println(number+"⼤于中间值,开始节点变更为中间节点+1"); }else{System.out.println("没有找到该元素");break;}}}。

传智播客刘意老师JAVA全面学习笔记

传智播客刘意老师JAVA全面学习笔记
10:classpath 环境变量(理解) (1)classpath 环境变量的作用 保证 class 文件可以在任意目录下运行 (2)classpath 环境变量的配置 找到环境变量的位置,在系统变量里面 新建: 变量名:classpath 变量值:E:\JavaSE\day01\code\HelloWorld 案例
第十一天
1:Eclipse 的概述使用(掌握)40 2:API 的概述(了解)40 3:Object 类(掌握)40
第十二天
1:Scanner 的使用(了解)41 2:String 类的概述和使用(掌握)41
第十三天
1:StringBuffer(掌握)44 2:数组高级以及 Arrays(掌握)44
1:异常(理解)64 2:File(掌握)65
第二十天
第四页
传智播客 JAVA 学习笔记
1:递归(理解)66 2:IO 流(掌握)66 3:自学字符流
第二十一天
1:字符流(掌握)69
第二十一天
1:字符流(掌握)69 2:IO 流小结(掌握)70 3:案例(理解 练习一遍)71
第二十二天
1:登录注册 IO 版本案例(掌握)72 2:数据操作流(操作基本类型数据的流)(理解)72 3:内存操作流(理解)72 4:打印流(掌握)72 5:标准输入输出流(理解)73 6:随机访问流(理解)73 7:合并流(理解)73 8:序列化流(理解)73 9:Properties(理解)74 10:NIO(了解)74
7:第一个程序:HelloWorld 案例(掌握) class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } (1)程序解释: A:Java 程序的最基本单位是类,所以我们要定义一个类。 格式:class 类名 举例:class HelloWorld B:在类中写内容的时候,用大括号括起来。 C:Java 程序要想执行,必须有 main 方法。 格式:public static void main(String[] args) D:要指向那些东西呢,也用大括号括起来。 E:你要做什么呢?今天我们仅仅做了一个简单的输出 格式:System.out.println("HelloWorld"); 注意:""里面的内容是可以改动的。

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高级学习笔记

7.泛型<T>
(1)在没有泛型的时候,只要是对象,不管是什么类型,都可以放到一个集合中;使用了泛型以后,可以限定集合中放入元素的类型,只能在集合中存储指定的类型,这样更安全,并且当取一个对象时,编译器可以知道这个对象的类型,不需要在对类型进行强制转换。
(1)BeanUtils通过字符串的方式给属性赋值,内部会自动类型转换,支持复合属性的操作以及javaBean与Map的相互转换,等。
(2)PropertyUtils通过指定具体属性的类型给属性赋值。
Hale Waihona Puke java1.5新特性: 1.静态导入
2.增强for循环(iterable)
3.参数列表(...)
b、class文件: 即经过a阶段后,字节码中还存在的注解,但是在被类加载器加载之前,还需要做一些校验,这时可能需要根据这个注解做出相应的事,
到真正加载到内存中的字节码时,这个注解已经不存在了。所以用反射是等不到这个事先加过的注解。
c、即在内存中还存在的注解。(eg:@Deprecated)
看你加的是什么标记,就去执行相应动作。标记可以加在包、类、字段、方法、方法的参数以及局部的变量上。
(2)你一旦在某个地方加上了@xxx注解,就等于new了一个这个注解的实例对象。我们可以通过反射获得这个注解,结果是一个具体的实例。
(3)注解的结构定义顺序:定义注解@interface----》程序使用定义好的注解-----》解释注解的程序。
10.关于数组的反射:
用Array工具类操作,但是不能直接得到数组元素的类型。
int len = Array.getLength(数组对象);得到数组的长度
Array.get(数组对象, 元素索引).getClass().getName();得到数组里面元素的全包名,从而可得到类型;

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全面学习笔记(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全部内容笔记

韩顺平java全部内容笔记

韩顺平java全部内容笔记韩顺平是一位伟大的计算机科学家,他的Java全部内容笔记,是学习Java的非常好的资料。

该笔记共有近1000页,内容全面详细,涵盖了Java的各个方面,以下是简单介绍:第一部分:Java基础1. Java入门:简介、JDK、Java开发环境的搭建、Hello World程序等。

2. 变量与常量:Java的数据类型、变量的定义与使用、常量的定义与使用等。

3. 运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符等。

4. 控制流程:if语句、switch语句、for循环、while循环、do-while循环等。

5. 数组:一维数组、二维数组、数组排序、数组查找等。

6. 方法:方法的定义与使用、传递参数、返回值等。

7. 面向对象:面向对象的基本概念、类的定义与使用、封装、继承、多态等。

8. 类与对象:类与对象的关系、构造方法、对象成员变量、对象的引用等。

9. 抽象类与接口:抽象类的定义与使用、抽象类与普通类的区别、接口的定义与使用、接口的实现等。

10. 异常处理:异常的概念、异常的分类、异常处理的机制、自定义异常等。

11. 泛型:泛型的定义与使用、泛型类、泛型方法、泛型限定等。

12. 多线程:线程的概念、线程的创建与启动、线程的生命周期、线程的同步、线程通信等。

13. 反射:反射的概念、反射的使用、反射的用途、动态代理等。

14. 注解:注解的概念、注解的使用、自定义注解等。

15. 枚举:枚举的概念、枚举的使用、枚举的用途等。

16. IO流:IO流的基本概念、字节流、字符流、文件读写、序列化等。

17. 网络编程:网络编程的基本概念、Socket编程、服务器与客户端、TCP/UDP等。

18. 数据库编程:数据库的基本概念、JDBC编程、SQL语句、事务等。

19. 集合框架:集合框架的基本概念、ArrayList、LinkedList、HashSet、HashMap 等。

20. JavaWeb编程:Servlet编程、JSP编程、Struts框架、Spring框架、Hibernate 框架等。

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 guide 自己的笔记

java guide 自己的笔记

java guide 自己的笔记这只是一个基本的大纲,涵盖了Java编程的一些核心概念。

**Java编程指南笔记****1. 基础语法*** **变量与数据类型**: 基本的数据类型(如int, double, char等)和变量的声明与初始化。

* **运算符**: 基本的算术运算符(如+,-,*,/),比较运算符和逻辑运算符。

* **控制结构**: if-else语句,switch语句,循环(for,while)。

* **函数/方法**: 函数的定义,参数传递(按值传递和按引用传递),返回值。

**2. 面向对象编程*** **类与对象**: 类的定义,对象的创建。

* **封装**: 属性和方法的封装。

* **继承**: 类的继承,继承的方法和属性。

* **多态**: 方法的重载和方法的重写。

* **抽象类与接口**: 抽象类的定义,接口的定义和实现。

**3. 异常处理*** **异常的分类**: Checked异常和Unchecked异常。

* **try-catch块**: 异常的捕获和处理。

* **finally块**: 无论是否发生异常都会执行的代码块。

* **throw与throws关键字**: 抛出异常和声明可能抛出的异常。

**4. 集合框架*** **数组**: 数组的定义与使用。

* **List, Set, Map**: 常用集合接口及其实现类(如ArrayList, HashSet, HashMap)。

* **泛型**: 集合中的元素可以有相同的类型。

* **迭代器**: 遍历集合的方法。

**5. 多线程编程*** **线程的生命周期**: 新建线程,启动线程,等待线程,唤醒线程,终止线程。

* **线程同步**: 防止多个线程同时访问某一共享资源造成的数据不一致。

* **线程间通信**: 使用wait()和notify()方法实现线程间通信。

**6. 网络编程*** **Socket编程**: 建立Socket连接,发送和接收数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引用是一个地址,指明了对象的变量和方法存储的位置。当把一个对象赋给一个(对象)变量或者作为方法的参数时,使用的并不是对象本身,也不是它的拷贝而是它的地址。因此使用引用和数组,
接口名与类名相似
方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如balanceAccount
变量名:全小写,一般为名词 例如length
常量名:基本数据类型的常量名为全部大写,如果由多个单词构成,可以用下划线隔开,例如int YEAR,int WEEK_OF_MONTH;如果是对对象类型
Circle obj1=new Circle();
Circle obj2=obj1;
则obj1和obj2将引用同样的对象,obj2并不是obj1的一个拷贝,事实上也没有为obj2分配任何内存。因为它们是一个对象,因此改变obj2的状态同时也会改变obj1的状态。
创建对象:ClassName ObjectName=new ClassName(parameter);
在创建对象时,new运算符用于为对象ObjectName动态的分配内存空间。new调用对象的构造函数,返回对该对象的一个引用(即该对象在内存中的地址);
共同完成整个程序的任务和功能。类必须实例化(instance)生成对象才能使用。
6/类是同种对象的集合与抽象,任何一个对象的所有行为可用方法描述,通过消息机制就可以完全实现对象之间的交互。消息就是面向对象发出的
服务请求,服务通常被称为方法或函数
7/抽象是科学研究中常用使用的方法,抽象是指去掉被研究对象中与当前无关的部分,或暂时不用考虑的部分,仅求取与当前需求有直接关系的因素
开辟空间,存储对象的属性;
对象通过消息传递进行交互。消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为。对象也有生命周期,一个对象的生命周期包括三个阶段:生成/使用和清除;
对象的声明:ClassName ObjectName;//声明对象后,并不为其分配内存空间,对象还不能使用,仅将它作为ClassName类型的对象的引用,ObjectName包含的值为空,表示没有引用对象。
主要作用是对象的初始化;
在创建对象时系统自动调用,不能在代码中显式地调用;
一个类中可定义多个构造函数(参数序列应有明显地区别);
类中不定义构造函数时,系统会自动为该类生成一个默认的没有参数的构造函数;
23/对象:定义类的目的是使用类,类必须通过实例化生成对象才能使用,类是对象的抽象集合,是创建对象的模板(template)。对象是类的一个实例(instance),类的实例化即是在内存中为对象
1/package 提供包来管理类名空间,包实际提供了一种命名机制和可见行限制机制(包名全小写)
2/import 编译时通知编译器在编译时找到相应的类文件
3/编程规范
类名,首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如class HelloWorldApp
使之与外部发生联系;
10/面向对象的继承:优点在于:继承性实现了代码的重用,加速了编程速度,提高了效率,减少了代码的冗余;
当一个类拥有另一个类的所有属性和行为时,就称这个类是继承而来的类;
11/面向对象的多态:是指在一般类中定义的属性或动作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使同一个属性或动作在一般类及其各个特殊类中具有不同的语义;
是基本类型的数据,也可以是对象。
20/构造函数用于类的实例化(创建对象),构造函数也是一个方法,但它是一个特殊的方法,它没有任何返回值,即使是void型的值也不能返回,构造函数的任务就是为对象初始化内部状态。
【public】构造函数名(【形式参数列表】)
{
4/ static 声明一个静态变量(类变量),也可声明一个静态的方法。(常用于声明一个计数器变量)
static int nCounter;
5/ transient 声明一个暂时性变量,指示Java虚拟机(JVM)忽略保存。
方法的返回值(如果有)应在方法体中每个分支的结尾用return语句返回
17/ 执行方法的两种方式:
程序调用:
系统自动调用:例如Applet程序中,paint(),init(),start(),destroy(),stop(),还有构造函数的调用
19/按值传递(拷贝),按值传递的方式并不改变原来变量(实参)的值。对基本的数据类型,Java中只有一种传递方法。即通过值传递。
按引用传递,当给一个方法传递一个对象或一个数组时,则是按引用传递的。因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。数组中的元素即可
实现方法:(1)通过子类对父类方法的覆盖(override)实现多态
(2)同一类中定义同名方法即重载(overloading)实现多态
12/类的定义:包含两个部分:类的声明和类的实现(类的主体即类体)。主体部分是有关类的属性的声明和方法的定义;
new用来创建一个对象的过程可总结如下:
执行父类的构造函数(constructor);
设置数据成员的初始值;
为对象分配内存;
执行本类的构造函数;
24/对象的引用:
15/对象变量定义格式
【Identifier】 ClassName ObjectVariableName=new ClassName(parameterList);
16/方法用来规定对类数据的操作,实现类的内部功能,是类与外界(其他类)交互的窗口。
方法包含两部分:一是方法头(声明方法),二是方法体(操作代码)。方法即是C/C++中的函数。
18/实参和形参
一般我们把调用方法语句的参数称为实参,实参可以是常量,变量,对象或表达式;
而把方法声明中的参数称为形参。
方法调用执行的过程其实就是将实参的数据传递给方法的形参,以这些数据为基础,执行方法完成所要达到的功能。
因此在实参和形参的结合上必须保持“三个一致”,即实参与形参的个数一致,对应的数据类型一致,对应顺序一致,实参与形参按顺序一一对应传递数据。
即实质内容。
8/数据抽象是指把系统中需要处理的数据和对数据的操作结合起来。它是OOP的基础,OOP就是在数据抽象的基础上进行
9/面向对象的封装:把对象的全部属性和全部动作结合在一起,形成一个不可分割的独立单位(即对象);隐藏信息,即尽可能隐藏对象的内部细节,对外形成一个边界,只保留有限的对外接口
//方法体
}
注意:构造函数的名字与类的名字相同,字母的大小写也必须一致
不能有返回类型声明,在构造函数里无返回值类型不等于返回值类型是“void”。
一般将构造函数的访问控制权限声明为public,如果使用缺省的访问控制权限,则只能在同一个包中创建该类的对象;
一般格式:
【modifier】returnDataType|void methodName(parametersList) throws exceptionList
{
//方法内用的变量,即局部变量;
//方法的主体代码;
13/成员变量:表明类的特征。成员变量可以是简单的数据类型,也可以是对象(变量)和数组(变量)。
一般格式:
【public|private|protectd|private protected】【static】【final】【transient】【volatile】 DataType variableName【=initializationValue】;
transient int TransientVar;
6/ transient限定的变量,不属于对象的永久变量而成员变量是类对象的一部分,与对象一起被保存。
7/ volatile异步保护,在多线程环境中,一个成员变量可能被多个线程修改,如何保持变量的一致性呢?那就是可以用volatile声明,来维护在并发进程中的前后一致性。
}
returnDataType返回类型:int/float/double/boolean/long以及抽象的数据类型(即返回一个对象),不需要返回值时,可用void指定,是Java的缺省类型
throw exceptionList定义方法的抛出异常对象的列表
//成员方法的定义
}
抽象类说明符——abstract(抽象类),说明类的抽象性。抽象类不能直接生成对象。
最终类说明符——final(最终类),说明类的非继承性。最终类是不能被继承的。
1/ DataType指明了所定义变量的数据类型;
2/ initializationValue为所定义的变量赋初始值;
3/ final 用来声明一个最终变量(即常量),也可以用来声明一个最终方法。
final int CONSTANT=50;
14/ 字符串变量声明的格式:
【Identifier】String StringariableName[=初始值]; //将字符串作为一种抽象的或扩展的数据类型
【Identifier(标识变量访问权限)】String StringObjectVariableName=new String(string); //将字符串作为一个类,定义类的对象
【public】【abstract|final】class ClassName 【extends(继承父类) SuperClassName(父类)】【implements(实现接口) InterfaceNameList(接口列表)】
{
//成员变量的声明
在构造函数方法体中也不能用return语句返回一个值;
பைடு நூலகம்
相关文档
最新文档