java基础知识及详细笔记
第一章:初识java
1.1.java的概述
ü 什么是计算机程序:计算机按照某种顺序而完成的一系列有序指令的集合。
ü Java的作用:1:安装和运行本机上的桌面程序。2:通过浏览器访问面向internet的应用程序
ü Java技术平台:1.java SE是java的核心2.java EE主要用于网络程序和企业应用开发。
1.2.开发一个java程序
n 开发java程序的步骤:
- 编写源程序
- 编译源程序
- 运行程序
n Java程序的结构
- 编写程序框架(public class HelloWorld{})
- 编写main()方法的框架(public static void main(String[] args){})
- 编写代码(Syetem.out.println(“HelloWorld”);)
Java程序的注释
- 单行注释(//开头后面的被视为注释)
- 多行注释(/*、、、内容、、、、、、*/)
- 文档注释(/**、、、、、内容、、、、*/)用于程序开始
n Java编码规范
ü 类名必须是public
ü 一行一条语句
ü 用{}括起来的部分表示层次结构,{一般放在行末,}与该结构首字母对齐,独占一行。
ü 低一层的代码应该比高一层的缩进若干个空格。
ü 类名与文件名一样
ü Viod必不可少
ü 注意大小写
ü ;必须有
ü .必须有
1.3. MyEclipse的基本使用
步骤y:
ü 创建一个java项目
ü 编写java源程序
ü 编译java源程序
ü 运行java程序
第二章:变量、数据类型和运算符
2.1.变量和数据类型
n 变量:是存储数据的基本单元,相互独立
n 数据类型:1.int(整型)2.double(双精度浮点型)3.char(字符型)4.String(字符串)5.boolean布尔类型(判断型)
n 变量必须先声明赋值才能使用 (数据类型 变量名=值)
n 变量命名规则
ü 首字母:小(首字母小写)下(可以含有下划线)美(可以含有$符号)
ü 其它的字母:小、下、美、数字
ü 不能使用java关键字
2.2.运算符
n 赋值运算符
=就是我们所学的赋值运算符
n 算数运算符
+、-、*、/、%(%就是求余)(/就是求商)
n 关系运算符
>/</>=/<=/==/!=/(!=不等于)(==等于)
2.3数据类型转换
n 自动类型转换
² 数据类型要兼容
² 目标类型大于原类型
n 强制类型转换
目标类型小于源类型
\t(缩进)
\n(将光标移到下一行第一格)
运算符的优先级:
最高的优先级:()
最低的优先级:赋值运算符(=)
优先级顺序:算数运算符>关系运算符>逻辑运算符
第三章:选择结构(一)
3.1.if选择结构
3.1.1:为什么需要if结构
有时候需要先判断,再输出,所以会用到if选择结构
3.1.2:什么是if选择结构
更具条件判断再做处理的一种语法结构。
语法: if(条件){
代码块
}
运算符:
&& |
与,并且 |
必须两条同时为真,结果才为真 |
|| |
或,或者 |
只需要一条为真,结果就为真 |
! |
非 |
条件为真,结果为假。(刚好相反) |
3.2.多重if选择结构
语法: if(条件1){
}else if(条件2){
}else if(条件3){
}else{
}(注意空行处,为代码块)
3.3.嵌套if选择结构
语法 if(条件1){
If(条件2){
}else{
}
}else{
}(空行处,为代码块)
第四章:选择结构(二)
4.1.switch选择结构
4.1.1:为什么使用switch选择结构
因为switch选择结构可以方便的解决等值判断的问题
4.1.2:什么是switch选择结构
语法: switch(表达式){
case 1:
(空行处为代码块) break;
case 2:
break;
default:
break;
}
Switch |
表示开关, |
Case |
表示情况,情形 |
Default |
表示默认 |
Break |
表示停止 |
注意:break,不能省略,否则会全部执行程序
4.2.选择结构总结
If选择结构 |
处理单一组合或条件 |
多种if选择结构 |
处理复杂的分支情况 |
If else选择结构 |
处理简单的分支情况 |
嵌套选择结构 |
用于叫复杂的情况 |
第五章:循环结构(一)
5.1循环结构
5.1.1:什么是循环结构
反复进行相同或类似的操作!!
5.2while循环结构
5.2.1什么是while循环结构
While循环结构一般是:先判断,再执行
语法: while(循环条件){
}(上面空行表示代码块)
循环结构执行顺序:
声明初始化循环变量
判断条件是否满足,满足执行操作,否则退出
执行完操作后,再判断循环条件,决定继续执行还是退出
循环结构使用步骤
分析循环条件和循环操作
套用while语法写出代码
检查能否退出
5.3程序调试
什么是程序调试:
满足暂停程序,观察变量和逐条执行语句功能的工具盒方法总称
步骤:
分析错误,设置断点
启动调试,单步执行
观察代码运行情况
5.4 do-while循环结构
什么是do while?
Do 循环关键字在前面,然后是大括号的循环操作,接着是while关键字后的循环条件,do while 一分号结束。。
Do while是先执行一次,再判断、
语法 do{
}while(条件);(中间空行处为代码块)
Do while步骤:
分析循环条件和循环操作
套用do while语法写出代码
检查能否退出
第六章:循环结构(二)
6.1 for循环结构
为什么需要for循环
在解决固定的循环次数,而且看上去更加简洁
For循环结构的结构:
初始部分:循环的初始状态
循环体:重复循环的操作
迭代部分:循环次数的累加,下一次开始需要执行
循环条件:判断是否继续循环操作
语法:
For(表达式1 表达式2 表达式3){
//循环体
}
表达式一 |
赋值语句,循环条件初始部分 |
表达式二 |
条件语句,循环结构的循环条件 |
表达式三 |
赋值语句,通常i++或i--。迭代部分 |
6.2跳转语句
Break语句:
Break语句用于终止某个循环,使程序调到循环体外,在循环体中在break后的语句不在执行,循环停止
使用场合:可以用于任何循环结构,还可以用于switch选择结构中
Continue:
Continue 只用于循环结构中。。
Continue顺序 语句跳出本次循环,进入下一次循环。
6.3循环结构总结
循环结构必不可少的部分:
初始部分
循环条件(缺少一个循环都可能好粗问题)
循环体
迭代部分
执行顺序不同
While:先提条件判断 然后执行循环体 如果不成立,退出
Do while:先执行循环体一遍,再条件判断,循环至少一次
For:先执行初始部分,再 条件判断,然后执行循环体,最后在进行迭代部分计算,如果不成立,跳出循环体
第八章:数组
8.1数组的概述
8.1.1为什么需要数组:
因为数组可以存放许多相同的数据类型!!编写程序时省去了很多代码量!!
8.1.2java中的数组:
在java中,数组就是一个变量,用于将相同的数据类型的数据存储在内存中,数组中每个元素都是相通的数据类型
数组就是在内存中划分一串连续的空间!!
数组的基本要素:
1.标识符:就是数组的名称,用于区分不同的和数组。
2.数组元素:数组中存放的数据。
3. 数组下标:在数组中为了准确的的到下标,我们对数组的元素进行标号,这个编号就是数组下标。
4.元素类型:存储在数组中应该是同一种类型,因此成为元素类型。
8.2如何使用数组
8.2.1使用数组的步骤:
声明数组
分配空间
赋值
对数组进行使用和处理
声明和数组的语法: @数据类型[] 数组名 @数据类型 数组名[]
分配空间的语法: 1数组名=new 数据类型[数组长度] 2数据类型[] 数组名=new 数据类型[数组长度]
赋值的语法: 数据类型[] 数组名={元素1 元素2 元素3}
再循环中,循环变量i从0开始递增直到达到数组的最大长度,每次循环加1.。。
数组的下标是从0开始
数组的下标最大比元素的个数值小1
8.3数组的应用
8.3.1数组的排序
语法:Arrays.Sort数组名)
注意:排序时,必须在类上面导入这个类:import java..util..Arrays
注意:在排序之前加上 Arrays.sort(数组名) 就可以完成升序排列了
8.3.2数组的最大值:
先声明一个变量,然后再数组中随便找一个来把值赋给这个变量,然后再通过循环把其余元素一个一个的和它比较,然后如果这个变量值小于数组中的元素就把这个元素值赋给它,直到循环结束
8.3.3想数组中插入元素:
首先声明一个长度比此前大一的数组,然后给它的元素赋值,把最后面那个空着,输入新增的成绩,通过循环把这个和里面的全部比较一次,入过输入的比他大,就把它的下标值给它,跳出,然后再把它后面的元素通过循环来后移。然后再插入此变量。然后通过循环输出就可以了
第九章:循环结构的进阶
9.1二重循环的结构
9.1.1:为什么使用二次循环
因为循环可以解决很多从回复的动作,达到需求。
9.1.3什么是二重循环:
二重循环就是一个循环体内包含另一个完整的循环结构。循环结构可以随便嵌套!!!!
循环结构外层称为外层循环,内部称为内层循环,二重循环 外层循环一次,内层全部循
环。。。
9.1.4;如何使用二重循环
二重循环打印图形 一般外层循环控制行数,内层循环控制每行的数目
9.2跳转语句的进阶
9.2.1在二重循环中使用continue语句
循环时,continue跳出本次循环,进行下一次循环(还是执行本层循环)
9.2.2在二重循环中使用break语句
跳出本层循环,可能会执行宁外一层循环
9.2.3continue与break的对比
他们在内层时,只会影响到内层循环,对外层没有任何影响,他们不同在于跳转位置不同;
Continue: 跳出本次,进行下一次
Break 跳出本层循环,提前结束本层循环,执型循环下面的语句
第十一章:类和对象
11.1对象
11..1.1身边的对象:
现实世界什么东西都可以看做对象。。。 万物皆对象
11.1.2对象的属性和方法
属性 对象的静态特征可以看做属性
方法 对象的动态特征可以看做方法
对象::是用来描述客观事物的一个实体,由一组属性和方法组成
11.1.3封装
封装就是把一个事物包装起来。并尽可能的隐藏细节
对象也具有封装性
11.2类
11.2.1类核对象 的关系
在java面向对象编程中,类是拿来创建类的实例,这个实例就是对象
他们之间的关系就是具体与抽象的关系,,,类是多个对象综合抽象而成的结果,是实体对象的概念模型!!
11.2.2类是对象的类型|:
类是对象的类型 定义类就可以抽取同类实体的功效自定义一种数据类型!!!
11.3java是面向对象的语言
11.3.1java类模板
语法: public class 类名{
//定义和属性
属性一的类型 属性1
属性二的类型 属性2
定义方法部分
方法1
} 方法2
类的命名规则:
- 不能使用java关键字
- 不能包含任何空格或“.”以及除下划线—和$符号
- 不能以数字开头
类名通常以多个单词组合而成的每个单词的首字母大写
11.3.2如何定义类
类定义了对象将会拥有的属性和方法
定义类语法: public class 类名{
}
定义类的步骤:
定义类名
编写类的属性 (又名 成员变量)
编写类的方法
定义方法的语法:
Public 返回类型 方法名(){
方法体
}
11.3.3如何创建使用对象
用类来创建对象,,,由类生成对象,成为类的实例话过程,一个类可以生成多个对象,一个实例就是一个对象
语法: 类名 对象名=new 类名();
调用方法和属性的方法如下:
对象名.属性(掉用属性)
对象名.方法()(调用方法)
Main方法是程序的入口。没有就不能执行
11.3.5面向对象的优点
与人类思维一致,从人的思维角度出发,用对象来模拟现实的实体
信息隐藏:提高了程序的可维护性和安全性,封装实现了信息的隐藏和模块化。
提高了程序的可重用性:一个类可以创建多个对象实例,增强重用性!!!
第十二章:类的无参方法
12.1类的方法概述
12.1.1什么是类的方法
类是由具有一组相同属性和共同行为的实体抽象而来的
12.1.2如何定义类的方法
方法的名称
方法的返回值
方法的主体
语法:public 返回值类型 方法名(){
} //方法的主体
编写方法的注意事项:
方法体放在一对大括号中,方法体就是一段程序代码,完成一段工作。
方法名主要在调用这个方法时使用,在java中一般采用骆驼命名法。
方法执行后可能返回一个结果,该结果的类型称为返回值类型。使用return返回值。
n Return:打断正在执行的方法,就是说return后面的代码不会执行。
12.1.3:方法的调用
n 在程序中通过使用方法名称从而执行方法中包含的语句,这一过程就叫方法的调用。
语法: 对象名.方法名()!!
当调用其他类的方法时,需要先创建对象,然后再调用方法。。。
当调用本类的方法时,不须创建对象,直接调用对象。。。
Return 后面只能跟一个变量
错误:
- 方法的返回值类型为void时,后面不能用return!!
- 方法不能返回多个值
- 多个方法不能相互嵌套!!
- 不能在方法外部直接写逻辑程序代码!
12.2变量的作用域
在类中定义的变量:叫成员变量 成员变量作用域整个类中
在方法或结构体类定义的变量称为局部变量 局部变量作用域当前结构
初值不同:成员变量有初值 局部变量没有初值 ,必须先赋值在使用
注意:
在同一个方法中,不允许有相同的局部变量。在不同的方法中,可以有同名的局部变量。
局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级
12.3面向对象编程的优点
面向对象编程主要有重要性,灵活性,和扩展性,作用强大!!!
面向对象基本的原则是计算机由单个能起到作用的子程序组合而成的!!
12.4javaDoc的注释
12.4.1javadoc是什么??
它能够崇源代码中抽取类,,方法,,成员等注释!!形成一个和源代码配套的api帮助文档(简单的说就是介绍该类,累的方法,和成员变量的文档)是在编写程序的一套特色的标签作为注释!!javadoc就是可以生成程序的开发文档!
语法:
JavaDoc是以注释/**开头,,以*/结尾的!
每个注释包含一些描述性的文本及若干个javadoc标签!
12.4.2如何生成javaDoc文档
使用命令方式生成!
使用myeclise工具生成!! Flie Export java javadoc
第十四章:带参的方法
14.1带参方法
14.1.1定义带参方法
参数是调用者提供给定义类的这边的!!
语法:《访问修饰符》 返回值类型 《方法名》(参数列表){ 方法的主体
}
注释:访问修饰符:指该方法的权限范围(public protected private)public 的权限最大!!!
返回值类型:方法的返回值的类型,如果没有任何返回值就加void类型!如果有返回的话, 用return来接收!
方法名:就是定义方法的名字!必须是合法的标示符!
参数列表:指传送给方法的参数列表,列表可以是用逗号隔开!
14.1.2:调用带参方法与调用无参方法的语法相同,但是调用带参方法时必须传入实际的参数值。
语法: 对象名.方法名(参数1,参数2,参数3)
形参和实参:形参是在定义的时候对参数的称呼!目的是定义方法需要传入的参数的类型,实参是在调用方法的时候的值参数称呼!
调用方法时,注意:先示例化对象,再调用方法,
实参的类型,数量,顺序要与形参一一对应!!
14.1.3:带多个参数的方法
数据类型和个数和顺序一一对应!!
14.2深入理解带参方法
参数可以是单个参数,还可以是数组,还可以是对象!
14.3包
14.3.1:为什么需要包
为了防止文件名一样引起的冲突!!放在不同的包中就避免了冲突了!
作用:
可以将类组成较小的单元,易于查找和使用相应的文件!
防止命名冲突,可以在不同的包中进行存储!
包允许在更广的范围保护类,数据和方法,在包类定义类,包外的代码可能不能访问。
14.3.2:如何声明包 前面必须包含一个package的命令作为java源文件的第一条语句!
语法: package 包名
14. 3.3:使用myeclipse创建包
1.分别创建包和类 file new package new java package添加!
2.在创建类的过程创建包 首先创建项目,然后直接创建类,然后添加包!
14.3.4:包和目录的关系
包的嵌套反应了文件系统的目录层次!声明包事实上是在文件系统中创建了相应的一层一层文件夹!而类的文件就是存储在最内层的。
14.3.5:如何导入包
关键字:import在最前面+包名.类名/import+包名.*;
第十五章:字符串
15.1字符串的概述
字符串是一系列字符的组成的序列。
步骤:
定义并初始化字符串
使用字符串,对字符进行一一处理。
15.1.2:字符串的长度:
语法: 字符串.length();
15.1.3字符串的比较
语法:
字符串1.equals.字符串2 区分大小写的!!!
返回的是个布尔类型的值(true/false)
==比较的是内存首地址是否相同,equals比较的是具体的值。(更精确)
字符串1.equalsIgnoreCase(字符串2) 不区分大小写的!!
方法:
ü To lowercase(); 转换字符串为小写
ü ToUpperCase(); 转换字符串为大写
15.2复杂的字符串处理
15.2.1:字符串的连接
直接用加号(+)连接
字符串1.concat(字符串2)
15.2.2字符串的提取和查询(方法)
Indexof(int+要搜索的字符) 找到第一个出现此字符的坐标
Indexof(String +变量名) 找到第一个出现此字符的坐标
LastIndexof(int +字符)找到最后一个出现此字符的坐标
LastIndexof(String +字符)找到最后一个出现此字符的坐标
String substring(int index)提取从此位置开始的字符
String substring(index beginindex ,index endindex)提取begin位置到end位置的字符!!
String trim() 返回一个前后不含有任何空格调用的字符(忽略空格和其他符号)
15.2.3:字符串的拆分:
语法: 字符串1.split(””);
步骤:先创建一个数组,要么赋值要么先声明,然后用这个数组来接收这个 源字符串.spilt(“”);
15.3 StringBuffer类
15.3.1:如何使用StringBuffer类
它是String类的增强版,位于java.lang包中
步骤:
声明StringBuffer对象并初始化
使用StringBuffer对象
15.3.2常用的Stringbuffer类的方法
字符串.tostring(); 将StringBuffer类型的字符串转化为String对象并返回! 例:String s1=sb2(Stringbuffer).tostring();
方法; 字符串1.append.(字符串2); 将字符串2链接到字符串一后并返回!!
字符串1. insert() (位置,参数); 将参数插入到字符串1的指定位置后并返回,参数可以包括String的任何类型(什么都可以)
方法:总结
获得字符串长度:length();
比较字符串:equals();
链接字符串:concat();
提取字符串:substring();
搜索字符串:indexof();
拆分字符串:spilt();
Stringbuffer类型:
转换成String类型: tostring();
连接字符串: append();
插入字符串: insert();
java基础知识及详细笔记的更多相关文章
- .net窗体程序的基础知识及详细笔记
第一章:初识Windows程序 1.1:第一个wondows程序 1.1.1:认识windows程序 Form1.cs:窗体文件:程序对窗体编写的代码一般都存放在这个文件(还有拖动控件时的操作和布局, ...
- sql sever 基础知识及详细笔记
第六章:程序数据集散地:数据库 6.1:当今最常用的数据库 sql server:是微软公司的产品 oracle:是甲骨文公司的产品 DB2:数据核心又称DB2通用服务器 Mysql:是一种开发源代 ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
- java基础知识-笔记整理
1.查看已安装jdk文件路径 CMD输入java -verbose. 2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...
- 学习Spring必学的Java基础知识(2)----动态代理
Spring AOP使用动态代理技术在运行期织入增强的代码,为了揭示Spring AOP底层的工作机理,有必要对涉及到的Java知识进行学习.Spring AOP使用了两种代理机制:一种是基于JDK的 ...
- Java基础知识回顾之七 ----- 总结篇
前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...
- java基础知识一览(二)
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...
- 主题:学习Spring必学的Java基础知识(9)----HTTP报文
转: 引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”.以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些 ...
- 黑马毕向东Java基础知识总结
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记 侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...
随机推荐
- 数据库学习任务三:执行数据库操作命令对象SqlCommand
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...
- JSONP的实现流程
在进行AJAX的时候会经常产生这样一个报错: 看红字,这是浏览器的同源策略,使跨域进行的AJAX无效.注意,不是不发送AJAX请求(其实就是HTTP请求),而是请求了,也返回了,但浏览器‘咔擦’一声, ...
- dreamweaver代码提示失效
原文地址:dreamweaver代码提示失效作者:云中雁 2007-03-23 12:19:22| 分类: 编程手记 | 标签:web2.0 javascript |字号大中小 订阅 吴庆民 ...
- 个人作业3--个人总结(Alpha阶段)
一.Alpha阶段总结 这是第一次接触APP的程序设计,在组员的共同努力下实现了不少功能,但功能与界面中都有不少欠缺之处,希望在后续阶段能继续完善 二.提出问题 1.在第二章 2.3 中,通过PSP模 ...
- Matlab生成.exe可执行程序
由于在教学过程中需要演示Matlab程序,而教学机又未安装Matlab程序,因此有必要将Matlab程序生成.exe可执行程序,便于直接执行. 在Matlab中提供了Complier,可直接使用. ( ...
- java--整理下关于static关键字的知识
如果将域定义为static,每个类中只有一个这样的域.而每一个对象对于所有的实例域却都有自己的一份拷贝.--<java核心技术> 使用static的两种情形:1.只想为某特定域分配单一存储 ...
- 201521123022 《Java程序设计》 第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过? ...
- 201521123017 《Java程序设计》第13周学习总结
1. 本周学习总结 2. 书面作业 Q1.网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 te ...
- video标签
Video标签的使用 Video标签含有src.poster.preload.autoplay.loop.controls.width.height等几个属性, 以及一个内部使用的标签<sour ...
- Servlet第四篇【request对象常用方法、应用】
什么是HttpServletRequest HttpServletRequest**对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,**HTTP请求头中的所有信息都封装在这个对象中,开发人 ...