JAVA 总结.docx
- 文档编号:5988969
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:26.81KB
JAVA 总结.docx
《JAVA 总结.docx》由会员分享,可在线阅读,更多相关《JAVA 总结.docx(21页珍藏版)》请在冰豆网上搜索。
JAVA总结
第一天
1:
前提
(1)明确目标,多请教,多交流。
(2)你可以放弃选择,但是不要选择放弃。
(3)兴趣和自信。
2:
基础知识
(1)计算机
(2)计算机硬件
(3)计算机软件
(4)软件开发
(5)人机交互
A:
图形化界面方式
B:
命令行方式
(6)DOS命令
注意:
打开DOS窗口的方式:
*开始--程序--附件--命令提示符
*开始--运行--cmd--回车
*Win+R--cmd--回车
A:
dir
B:
md
C:
rd
D:
cd..
E:
cd\
F:
deldela.txt/*.txt
G:
exit
H:
清屏cls
I:
盘符切换d:
(7)键盘的认识和快捷键
A:
键盘的认识tab,shift,windows,空格键,ctrl,alt,enter,上下左右键
B:
常用文本操作的快捷键
A:
全选Ctrl+A
B:
复制Ctrl+C
C:
粘贴Ctrl+V
D:
剪切Ctrl+X
E:
保存Ctrl+S
F:
撤销Ctrl+Z
3:
java语言的概述
(1)计算机语言
(2)Java语言的体系结构JavaSE,JavaEE,JavaMEAndroid
(3)JDK和JRE以及JVM
A:
JVMjava虚拟机,用于保证java语言的跨平台特性。
(小霸王游戏机模拟器)
B:
JREjava语言的运行环境,包括JVM+classlibrary
C:
JDKjava语言的开发环境,包括JRE+tools
总结:
java程序通过jdk来开发,通过jre来运行。
(4)JDK获取
A:
官网
B:
XX,谷歌搜索一般我建议概念性内容用XX。
技术性内容用谷歌。
C:
最简单的方式直接从我这拷贝。
(5)JDK的安装
注意:
一路下一步即可搞定。
但是按照的路径名不要还有特殊字符,空格和中文。
4:
JDK环境变量的配
(1)环境变量执行环境,指向灯。
pathwindows会自动到这个路径中去找你输入的命令存不存在。
exe文件的目录
(2)配置方式
A:
临时环境变量的配置了解setpath=D:
\develop\Java\jdk1.6.0_30\bin;%path%;
B:
永久性配置
*找到我的电脑--属性--高级--环境变量--系统变量
*新建JAVA_HOMED:
\develop\Java\jdk1.6.0_30
*编辑path%JAVA_HOME%\bin;其后跟的是以前的环境变量信息;
5:
体验程序HelloWorld
(1)开发工具记事本,EditPlus;Eclipse,MyEclipse(集成开发环境)
(2)开发步骤:
编写源文件--编译源文件--执行字节码
A:
打开记事本,在里面输入以下内容
classDemo
{
publicstaticvoidmain(String[]args)
{
System.out.println("HelloWorld");
}
}
B:
class是java的关键字,而且java开发的基本组成部分就是class
C:
Demo是类名,可以任意起。
D:
publicstaticvoidmain(String[]args)
*要想类能够独立运行,就必须有主函数。
*没有主方法可能出错Exceptioninthread"main"java.lang.NoSuchMethodError:
main
E:
System.out.println("HelloWorld");
*把()里的内容在控制台进行输出。
F:
通过javac命令对.java的源文件进行编译,生成字节码文件。
G:
通过java命令执行字节码文件。
6:
运行时常见的问题
(1)找不到文件的错误文件名或者路径有问题。
特殊情况:
扩展名被隐藏。
*更改扩展名被隐藏的问题工具--文件夹选项--查看--把隐藏已知文件扩展名前面的对勾去掉。
(2)System写成了systemjava语言严格区分大小写。
(3)需要";"java语句是以分号结束。
(4)非法字符:
\65307标点符号的中英文出错。
(5)Exceptioninthread"main"java.lang.NoSuchMethodError:
main程序没有main函数,或者main函数的名字写错了。
(6)Exceptioninthread"main"java.lang.NoClassDefFoundError:
Demo名字写错了,或者不在当前路径下。
7:
classpath
(1)classpath变量值是java类文件的目录;path变量是windows程序文件的目录
(2)如果配置了classpath,我们呢就执行classpath指定目录下的东西。
(3)如果没有配置classpath,我们就在当前目录下执行程序。
如果找不到程序,报错。
(4)如果配置了classpath并且末尾处加了";"号,这个时候,classpath目录下没有的东西,会继续在当前目录下找,如果还没
找到则报错。
建议,不要添加";"号。
8:
关键字
(1)被java语言赋予了特殊含义的单词。
(2)关键字的特点:
全部是小写字母。
(3)goto和const虽然从未别使用,但是被用作java的关键字保留。
9:
标识符
(1)就是起名字。
Java语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
(2)Java标识符有如下命名规则:
A:
标识符由字母、下划线“_”、美元符“$”或数字组成。
B:
标识符应以字母、下划线、美元符开头。
(3)Java中标识符的规范:
见名知意,驼峰命名。
A:
包包名全部小写。
*例如xxx.yyy.zzz
*开发中,他们的包名com.baidu.www/cn.itcast.www
B:
类和接口
*如果是单个单词,首字母大写。
例如:
Student
*如果是多个单词组成,每个单词的首字母大写。
例如:
HelloWorld
C:
变量和函数
*如果是单个单词,小写即可。
例如:
main
*如果是多个单词组成,首字母小写,从第二个单词开始,每个单词的首字母大写。
例如:
makeMoney
*变量是名词组成。
函数是由动词+名词组成。
D:
常量
*如果是单个单词,全部大写即可。
例如:
MONEY
*如果是多个单词组成,每个单词大写,用_连接。
例如:
MAKE_MONEY
第二天
1:
注释
(1)概念:
注解说明文字,给人看的。
(2)注释的分类
A:
单行注释
B:
多行注释
C:
文档注释
(3)注释的用途
A:
提高代码阅读性
B:
调试代码
注意:
面试写代码?
A:
格式是否规范
B:
注释是否详细
(4)注释的应用规范。
2:
常量
(1)在程序的运行过程中,其值不能改变的量。
(2)在java中,常量的分类:
A:
整数
B:
小数(实数)
C:
布尔
D:
字符
E:
字符串
F:
null
3:
进制
(1)就是计数的方式。
就是进位制,是人们规定的一种进位方法。
对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。
(2)二进制的特点。
有电信号演变而来,并且计算机中所有的数据都是以二进制表示。
(3)四种进制:
A:
二进制0,1
B:
八进制0-7用0开头;例如:
056
C:
十进制0-9
D:
十六进制0-9,A-F();用0x或者0X开头;例如:
0xF4
*ABCDEF
*101112131415
(4)进制转换:
A:
二进制--十进制例如:
1101--13
B:
八进制--十进制例如:
056--46
C:
十六进制--十进制例如:
0xF4--244
系数:
基数:
权:
总结:
用系数*基数的权次幂相加之和,就是该数据在十进制中的数据值。
D:
十进制--二进制
*除以2取余,直到商为0,最后余数反转。
*例如:
13--1101
E:
十进制--八进制
*第一种:
除以8取余,直到商为0,最后余数反转。
*第二种:
十进制--二进制--八进制
*例如:
13--015
F:
十进制--十六进制
*第一种:
除以16取余,直到商为0,最后余数反转。
*第二种:
十进制--二进制--十六进制
*例如:
13--D
(5)有符号数的表示方式:
原码,反码,补码:
A:
原码最高位是符号位,1表示负数,0表示正数
*+7原码:
00000111
*-7原码:
10000111
B:
反码正数的反码和原码相同;负数的反码是原码的符号位不变,数据位取反,就是1变0,0变1
*+7反码:
00000111
*-7反码:
11111000
C:
补码正数的补码和原码相同;负数的补码是反码+1;
*+7补码:
00000111
*-7补码:
11111001
练习:
求60的八进制,十六进制。
根据原码求反码,补码。
4:
变量
(1)在程序的运行过程中,其值可以改变的量。
变量其实就是内存中的一小块区域。
用于存储数据。
(2)格式:
数据类型变量名=初始化值;
(3)什么时候使用变量?
当数据不确定的时候。
(4)数据类型
A:
基本数据类型基本数据类型不同在于在内存中所占用的空间不同。
(4类8种)
*整数
**字节byte占用1个字节
**短整型short占用2个字节
**整型int占用4个字节
**长整型long占用8个字节赋值的时候末尾加l或者L
*实数
**单精度类型float占用4个字节,赋值的时候末尾加f或者F
**双精度类型double占用8个字节
*字符
**字符型char占用2个字节
*布尔
**布尔型boolean占用一个字节
注意:
整型默认是int,实数默认是dobule。
B:
引用数据类型(类,接口,数组)
C:
类型转换
*boolean类型不可以转换为其他的数据类型。
*整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
**容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序
第三天
1:
运算符
(1)算数运算符+,-,*,/,%,++,--
A:
%
*当左边大于右边,取余数。
*当左边等于右边,值为0。
*当左边小于右边,值为左边。
*余数的正负号取决被除数的正负。
*用途:
任何数%2,值要么是1,要么是0。
用于切换判断。
B:
++,--
*作为语句单独使用,就是本身加或者减1。
先加后加都一样。
*参与运算时,放在操作数前,先自增,然后在运算。
放在操作数后面,先运算,在自增。
C:
+
*正负号
*加号
*字符串连接符
(2)赋值运算符=,+=,-=,*=,/=,%=
A:
=把赋值号右边的内容赋给左边的变量。
B:
intx=3;
*x=x+3
*x+=3;//把左右的和赋给左边。
赋值运算符有一个自动转换的过程。
(3)比较运算符==,!
=,>,>=,<,<=
A:
运算结果是boolean类型。
(4)逻辑运算符&,|,!
^,&&,||
A:
&与运算符:
当左右都是true的时候,结果才是true。
左边右边结果
truetruetrue
falsetruefalse
truefalsefalse
falsefalsefalse
B:
|或运算符:
当左右都是false的时候,结果才是false。
左边右边结果
truetruetrue
falsetruetrue
truefalsetrue
falsefalsefalse
C:
^异或运算符:
当左右相同的时候结果为false;当左右不相同的时候结果为true;
左边右边结果
truetruefalse
falsetruetrue
truefalsetrue
falsefalsefalse
D:
!
true则false
!
false则true
!
!
true结果true
E:
&&:
短路与
区别:
&:
无论左右是true还是false。
它都要运算下去。
&&:
当左边为false,右边就不运算了。
F:
||:
短路或
区别:
|:
无论左右是true还是false。
它都要运算下去。
||:
当左边为true,右边就不运算了。
(5)位运算符&,|,^,~,<<,>>,>>>
A:
&:
当对应位上都是1的时候,结果才为1。
B:
|:
当对应位上都是0的时候,结果才为0。
C:
^:
对应为上相同为0,不同为1。
*规律:
任何数对同一个数异或两次,结果为本身。
*应用:
加密。
D:
~:
按位取反,1变0,0变1。
E:
<<:
就是将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,
右边被移空的部分补0。
相当于乘以2的次幂
F:
>>:
右移稍微复杂一点,如果最高位是0,左边被移空的位就填入0;如果最高位是1,
左边被移空的位就填入1。
相当于除以2的次幂
**应用局限性要乘以或者除以的数必须是2的次幂。
G:
>>>:
无论最高位是1还是0,左边被移空的高位都填入0。
讲一个应用。
通过10进制获取十六进制的数。
(十进制60-十六进制0x3C)
(6)条件运算符
A:
(条件表达式)?
表达式1:
表达式2;举例:
x=(100==100)?
100:
200;
B:
计算完后必须有结果。
练习:
1.最有效率的方式算出2乘以8等于几?
2.对两个整数变量的值进行互换(不需要第三方变量)
2;语句
一、If语句第一种格式:
格式:
if(条件表达式)
{
执行语句;
}
1:
无论条件表达式是简单还是复杂,最终他的计算结果应该是boolean类型。
2:
如果条件表达式为true,就执行if控制的执行语句。
否则,不执行。
注意:
1:
if语句的执行语句如果只有一条语句,我们可以不写大括号;
如果if控制的执行语句是多条语句,必须加大括号。
不加大括号的情况下,if只能控制离他最近的那条语句。
建议:
什么什么都加上大括号。
2:
if(条件表达式)不能加";"。
虽然不出错,但是不能理解。
If语句的第二种格式:
if(条件表达式)
{
执行语句1;
}
else//那么,或者,否则
{
执行语句2;
}
1:
发现了if语句的第二种格式和条件运算符有点类似。
其实条件表达式是if语句的简写形式。
区别:
条件运算符是一个运算符。
它必须有结果。
而ifelse的形式不一定有结果。
条件运算符可以改写为if...else语句。
而if...else语句不一定能改写成条件运算符。
2:
写法的特点;
if后面有条件表达式。
else后没有条件表达式。
If语句的第三种格式:
if(条件表达式)
{
执行语句;
}
elseif(条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
1:
最后的else可以省略不写。
但是不建议:
A:
它是if的组成部分,不写有可能规则出问题。
B:
你不能保证你把所有的情况都能考虑清楚了。
所有给一个条件都不满足时的提示。
2:
if的嵌套:
if语句里面的执行语句还是if语句。
选择结构
二、switch语句格式:
switch(表达式)
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
1:
switch用于定义选择的范围,内部定义的是备选答案。
***表达式被选择的结果。
该表达式只有四种类型byte,short,int,char。
***JDK5.0以后出现了一个枚举enum。
JDK7.0以后可以支持字符串String。
2:
case用于定于答案。
下面有执行语句;
3:
break用于结束switch语句。
4:
default默认的意思。
用于当所有的case都不匹配答案时。
相当于else。
注意:
1:
case和default有没有先后顺序。
没有顺序。
建议,default写最后。
2:
default在最后的时候,最后一个break可以去掉吗?
可以。
3:
忘写break了,会有问题吗?
程序的编译和运行没有问题,但是结果有问题。
有可能不是想要的。
switch语句结束的两种情况:
第一种遇到break;第二种就是执行到结尾。
循环结构
三、while语句的格式:
while(条件表达式)
{
执行语句;
}
1:
执行流程先判断条件表达式的值。
若=true.则执行其后面的语句,
然后再次判断条件并反复执行,直到条件不成立为止。
做循环要明确的内容:
1:
循环条件
2:
循环次数
注意:
if判断条件只判断一次,while判断多次。
do...while格式:
do
{
执行语句;
}while(条件表达式);
1:
执行流程:
先执行语句,再判断条件表达式的值,若为true,再执行语句,否则结束循环。
2:
与while的区别:
A:
do...while至少执行一次循环体。
B:
do...while后有个分号。
不要在while后加分号。
否则,结果有问题。
四、for循环的基本格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
执行流程:
(1)首先进行初始化表达式,一般是一个赋值的过程。
(2)其次进行循环条件表达式判断,如果条件为ture,则执行循环体;
(3)最后进行循环后的操作表达式的执行,一般用于改变控制条件,在按照继续
(2)的步骤。
强调问题:
初始化表达式只执行一次。
循环条件表达式执行一次以上。
循环后的操作表达式执行0次以上。
通过分析,可知while循环和for循环可以进行等价转换。
有一个小问题要注意:
他们所控制的变量的作用域不一样,for循环的变量离开了for,则从内存中释放。
while的变量还可以继续使用。
语句总结:
什么情况下,使用哪个语句?
1:
当对某几个值进行判断的时候,可以使用if语句,或者switch语句。
建议使用switch。
但是,使用switch要注意,它只能操作四种类型的值,byte,short,int,char。
如果是四种以外的值,需要使用if。
2:
如果对数据区间进行判断,或者对运算结果是boolean类型的进行判断,用if语句。
3:
当需要某些语句执行很多次的时候,使用循环结构。
如果定义变量只为循环增量存在时,可以使用for语句。
如果对一个条件进行一次判断使用if,如果对该条件进行多次判断,使用while
4:
如果要结束循环,可以控制循环条件,或者通过break语句完成。
如果要控制循环的流程,是否该继续执行,
可以通过continue或者break来完成。
5:
break结束当前所在循环。
continue结束本次循环,进入下一次循环。
第四天
函数
1、函数:
定义在类中的具有特定功能的独立代码,也称方法
2、函数的格式:
修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,...)
{
执行语句;
return返回值;
}
返回值类型:
函数运行后的结果的数据类型。
参数类型:
是形式参数的数据类型。
形式参数:
是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:
传递给形式参数的具体数值。
return:
用于结束函数。
返回值:
该函数运算后的结果,该结果会返回给调用者。
3、函数的特点:
定义函数可以将功能代码进行封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
注意:
函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
4.、函数的重载
重载的概念
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
重载的特点:
与返回值类型无关,只看参数列表。
重载的好处:
方便于阅读,优化了程序设计。
重载示例:
//返回两个整数的和
intadd(intx,inty){returnx+y;}
//返回三个整数的和
intadd(intx,inty,intz){returnx+y+z;}
//返回两个小数的和
doubleadd(doublex,doubley){returnx+y;}
数组
概念:
同一种数据的集合。
其实数组就是一个容器。
好处:
可以自动给数组中的元素从0开始编号,方便阅读。
格式1:
元素类型[]数组名=new元素类型[元素个数或者数组长度]
Int[]arr=newint[5];
格式2:
元素类型[]数组名=new元素类型[]{元素,元素,元素,}
int[]arr=newint[]{3,5,1,7};
int[]arr={3,5,1,7};
内存结构:
Java程序在运行时,需要在内存中的分配空间。
为了提高运算效率,有对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 总结