core java总结.docx
- 文档编号:16913374
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:54
- 大小:44.26KB
core java总结.docx
《core java总结.docx》由会员分享,可在线阅读,更多相关《core java总结.docx(54页珍藏版)》请在冰豆网上搜索。
corejava总结
corejavaday01总结
1、Java之父Golsling
1995年5月23日Java诞生
1998年12月1.2版本Java2J2SEJ2EEJ2ME
2004年12月1.5版本(5.0)JavaJavaSEJavaEEJavaME
2、JavaSE---Java标准平台
JavaEE---企业级平台
JavaME---微小平台,用在资源受限的平台上
JavaSE和JAVAEE是我们主修的
3、环境变量的设置
Linux下:
/etc/.profile这是所有用户的全局的文件
主目录下的vi.bashrc这是当前的用户
exportJAVA_HOME=/opt/jdk1.5.0_06指向java的安装目录
exportPATH=$JAVA_HOME/bin:
$PATH指向安装目录下的bin子目录
exportCLASSPATH=.:
$JAVA_HOME/lib类路径
用source.bashrc生效或注销
主目录下vi.bash_profile
JAVA_HOME=/opt/jdk1.5.0_06指向java的安装目录
PATH=$JAVA_HOME/bin:
$PATH指向安装目录下的bin子目录
CLASSPATH=.:
$JAVA_HOME/lib类路径
exportJAVA_HOMECLASSSPATHPATH
在以上两个文件配置都可以,只配置一个文件就可以
配置完以后用source.bash_profile生效或注销
windows下:
我的电脑(右键)--->属性---->高级----->环境变量
用户变量针对的是当前用户
系统变量针对所有的用户
在用户变量和系统变量这两个里面只配一个
JAVA_HOME=c:
\ProgramFiles\Java\jdk1.5.0_09(不是JRE)
path=%JAVA_HOME%\bin(可执行文件)(path里原有的内容不要改变,只在其后进行添加即可)
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
验证是否配置成功:
在cmd后,输入javac就可以了,看是否有帮助信息
Linux下:
在命令行输入javac就行了
4、java的特点:
1、java是一种纯面向对象的编程语言
2、跨平台:
一次编译,到处运行(writeonce,runanywhere)
编译(javac)
.java(源文件)---------------->.class(字节码--与平台无关)
解释(java)
.class------------------------->可执行文件
java虚拟机(JVM):
由虚拟机处理操作系统之间的差异,实现跨平台
_________
||
|解释器|
|_________|
|JVM|
|_________|
|OS|
|_________|
3、简单高效
5、第一个程序
文件名:
HelloWorld.java
packagemypack;//package是关键字,在这代表一个目录,mypack是包名
publicclassHelloWorld//public也是关键字,代表这个类是公共的。
class也是关键字,代表类。
HelloWorld是类名。
文件名要与公开的类名完全相同
{
publicstaticvoidmain(String[]args)
{
//public与static的位置可以交换,其它的不可以换位也不可以省略,static是关键字,静态的意思,是全局的。
//void是返回类型,表示无返回值,main是方法名。
//String[]代表字符串数组,args代表数组名。
System.out.println("HelloWorld");//System是系统,out是输出,println是换行打印
}
}
编译:
javac-d.HelloWorld.javajavac文件名,-d是按照包结构生成.class文件,若目录不存在,会自动创建
解释:
javamypack.HelloWorldjava类名
注意:
一个源程序可以有多个类,一个类对应一个.class文件
如果一个源文件中有公开类,则源文件的文件名必须与公开类的类名完全同名(大小写也要相同)
一个源文件中至多只能有一个公开类
**6、包的概念:
文件多了用文件夹管理,类多了用包来管理,包和目录的结构一一对应
关键字packagemypack;mypack是包名
编译时javac-d.HelloWorld.java-d是按照包结构生成.class文件,若目录不存在,会自动创建,.代表当前
运行时javamypack.HelloWorld注意:
运行时要使当前目录在mypack的上一级,不能进入mypack目录下运行
常用的包:
java.lang核心类都放在这个包里,例:
System,Object
java.awt/javax.swing/java.awt.eventGUI所用的类都在这几个包里
java.applet动态网页所需要的包,被javascript,ajax代替
java.io输入、输出流所用的包
网络编程时所用的包
java.util工具包(日期,集合...),除了lang包以外用的最多的包
java.sql操作数据库的包
引入哪个包里的哪个类:
关键字import
注意:
package
import
class
这三个顺序是不可改变的
习惯上:
加包,加注释,换行,缩进
7、注释
单行注释:
//从双斜线开始到本行结束被注释掉
多行注释:
/*
.....在这个范围之内的都是注释
*/
一般为了美观这样写:
/*
*comments
*/
若想在关键字中间使用注释可以使用多行注释
/**
.....
*/这个也是多行注释,但编译时会把这种注释抽出来放在html中做成帮助文档
有这种注释的程序在编译时要用:
javadoc-ddoc源文件名
把生成的帮助文档放在doc目录下,生成的帮助文档就是doc目录下的index.html文件
这种注释在包前面,import前面,类前面,方法前面,属性前,构造器前才能被被抽取
8、标识符
只能包括字母,下划线,$,数字,但数字不能开头,区分大小写,关键字不能做标识符
一个汉字就是一个字母,汉字也可做标识符,但习惯上不用,而且尽可能回避中文
包名也是标识符
java的关键字都是小写字母,幻灯片44的关键字
关键字strictfp1.2添加
严格的浮点数
在类或方法前加上这个,表示精确的浮点数
assert1.4添加的
enum1.5添加的
goto,const是保留字,java中不能使用
true,false,null不是关键字,是预留字
命名规范习惯上:
包名-----------------全是小写字母
类名、接口名----------每个单词的首字母大写,其它的都是小写
变量名、方法名--------第一个单词都是小写,第二个单词及以后的每个单词首字母大写
常量------------------全大写,不同单词间用下划线隔开
9、变量
局部变量:
在方法内定义的变量
(1)一定要先赋值后使用
(2)作用范围:
从定义开始到定义它的代码块结束
(3)在重合范围不允许两个局部变量命名冲突
10、数据类型
一、基本类型(原始类型):
8种
(1)与整型相关的:
byte1B-128~127若bytei=128超出范围就会报错
bytea=1;byteb=2;bytec=a+b;//error!
!
!
1默认为int类型。
因为a+b后自动把类型提升为int,
正确写法:
bytec=(byte)a+b;//把高字节数值赋值给低字节变量时要强制类型转换
short2B-32768~32767
int4B-2147483648~2147483647
long8B-2的63次方---2的63次方-1字面值+l或L
(2)与浮点数相关的:
float4B赋值时加f
double8B赋值时加d
floatf=1.3;//error!
默认为double,应为floatf=1.3f;
(3)布尔值:
boolean1B字面值true,false意味着布尔值和整数不能转换if
(1)//error!
!
!
!
(4)字符型:
char2B采用16位unicode编码
charc='a';charc=97;
charc='\u0061'-----unicode码值(16进制)1个16进制表示2个字节,即使是在注释里面用\u也要规矩的写四个数字,不能随便写
二、对象类型(引用类型):
3种:
数组(字符串),类,接口
字符串:
Stringstr="abc";
a+b若有一方为字符串,则为字符串连接
"1"+2+3结果是"123"
1+2+"3"结果是"33"
类:
类是对象共性的抽象,是客观事物在人脑中的主观反映,类是对象的模板
对象:
现实生活中一切客观存在的事物(万物皆对象)
成员:
凡是写在类体括号内的都叫成员
11、基本类型和引用类型的内存分配
栈:
后进先出,简单类型入栈,引用类型变量入栈(给以在堆空间的内容的首地址)
堆:
引用类型内容放入堆空间。
池:
static类型的对象
栈空间堆空间
|||-----------------|
||||
t|内存地址|------|-->|-------||
i|2|||name||
------------||-------||
||age||
||-------||
||salary||
||-------||
|-----------------|
corejavaday02总结
1、变量
实例变量:
声明在类体内的变量都是实例变量。
例:
类的属性
(1)实例变量有默认的初始值,声明后就可使用
实例变量默认值列表:
byteshortintlongfloatdoublecharbooleanAllreferencetypes
0000L0.0f0.0d‘\u0000’falsenull
\u0000是空格
局部变量:
在方法内声明的变量,既凡是不在类体内声明的变量都是局部变量
(1)一定要先赋值后使用,即必须由程序员进行显示初始化
(2)作用范围:
从定义开始到定义它的代码块结束
(3)在重合范围不允许两个局部变量命名冲突
默认值使用范围命名冲突
实例变量系统赋初始值本类的内部使用允许实例变量和局部变量发生命名冲突,在命名冲突的时候变量的值-->局部优先
局部变量先赋值后使用定义他的代码块同范围内不允许两个局部变量发生命名冲突
2、值传递
基本类型传值,引用类型传地址。
3、运算符:
java的运算符的优先级和结合性和c++相同
计算机采用的是补码,既取反加1。
符点数是不能进行移位运算的。
有符号右移:
>>=前面是零补零,前面是一补一;右移一位比除以2效率高
正数移完后还是正数,负数移完后还是负数
所有的非长整型,都是先取32的余数,再移位
所有长整型的数据都是先取64的余数,再移位
负数用二进制表示是取反加1
对于移动负数位都是+32再移位
右移一位等于除以2,左移一位等于乘以2
例:
12>>1等价于12/2的1次方--->6
12>>33等价于12/2的(33%32)次方---->12/2的一次方--->6
-12>>2等价于-12/2的2次方---->-3
-12>>66等价于-12/2的(66%32)---->-12/2的2次方--->-3
无符号右移:
>>>=不管是正数还是负数,移完后都是正数
>>=和>>>=对于负数不一样
正数:
右移n位等于除以2的n次方
负数:
变成正数。
&&短路与,前面为假,表达式为假,后面的操作不会进行,&非短路运算符,会对所有条件进行判断。
例:
inta=4;
if(a<3&(b=a)==0)b赋值
if(a<3&&(b=a)==0)b不赋值
||短路或,前面为真,表达式为真,后面的操作不会进行,|会对所有条件进行判断。
instanceof,是用于判断一个对象是否属于某个类型
java中的求余运算符“%”可以对两个实型变量求余5%2=1
4、字符串连接:
两个操作的对象都是数字时,是加法
若有一个是字符串,就是字符中连接
例:
Stringstr="abc";
4+str=4abc
4+str+5=4abc5
4+5+str=9abc
s+4+5=abc45
5、流程控制
(1)控制流
if()
if()…else
if()…elseif()…else
注意:
else只是和其上面的同层的最近的if()来配对。
(2)switch(s){
case'a':
……break;
case1:
……break;
default:
....break;---default后面的break可有可无
}
注意:
switch()内数据类型为byteshortcharint和枚举类型,只有以上四种类型的才可以在switch()中使用。
case块中不加break时顺序执行下面的语句。
switch只能用于有限的条件。
能用switch写的分支语句都能用if--else来写,故switch不常用
(3)循环语句
每一种循环都有的四要素:
条件初始化
条件定义
条件变量的变化
循环体
for(inti=0;i outer: for(;;){ if() breakouter; }//这种很少用 不知道次数只知道循环条件最好用以下两个 while(){}----循环0或多次 do{}while();-----------注意加分号循环1次或多次 6、数组 (1)数组的定义 数组是内存中的一块连续的存储空间 数组是一次性定义多个相同类型的变量 (2)定义一个数组: int[]a;//定义一个数组,变量名就是指向数组首地址的指针 a=newint[10];//为数组分配空间,分配了长度为10,int类型的数组空间,把首地址赋值给a,数组长度一旦确定不能改变 一个数组在java中就是一个对象,数组是一个没有方法,只有属性的对象。 a.length;//得到数组的长度 访问数组元素: for(inti=0;i System.out.println(a[i]); } 数组元素有默认值: 默认值是各式各样的0 数组元素默认值规则: int0 long0l float0f double0d booleanfalse 对象数组null(空指针) (3)初始化、创建、和声明在同一时间 int[]i={0,1};//显示初始化 int[]i=newint[]{0,1};//注意: 这样显示的初始化的时候,newint[]中括号中必须是空的,不能填数字 Car[]c={newCar(),newCar()}; (4)二维数组: 定义二维数组: int[][]a=newint[3][4]3行4列 java中的二维数组其实是一维数组,一维数组的元素又是个一维数组 1)有效定义 int[][]a=newint[2][3];(同时给定一维,二维的空间) 遍历二维数组:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- core java总结 java 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)