目录
第一章:
java的核心优势:
java的三个版本:
1.javaSE(Java Standard Edition):标准版,定位于个人计算机上的应用。
2.javaEE(Java Enterprise Edition):企业版,定位于服务器端的应用。
3.javaME(Java Micro Edition):微型版,定位于消费性电子产品的应用上。例如微波炉系统。它与安卓开发与ME是两个完全不同的东西。
ME是SE的内伸,包含J2SE的一部分核心类,也有自己的扩展类,增加了适合微小装置的类库,javax.microedotion.io.*等。
JIT:
java提高运行效率的一个发展技术:JIT(just in time),即时编译技术,将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。
Java程序的运行机制:
Java首先利用文本编辑器编写java源程序,源文件的后缀是.java,再利用编译器javac将源程序编译成字节码文件,后最是.class,最后利用虚拟机(解释器,java)解释执行。
jre:
(java runtime environment)包含java虚拟机、库函数、运行java应用程序所必须的文件。
jdk:
(java development kit)包含了jre,以及增加编译器和调试器等用于程序开发的文件。
第二章
注释:
文档注释:/** ... */,后期写项目时,可以生成项目的api,则个在eclips中打 /** 然后回车就可以了。
public class 类名称 {文件名必须与类名一样,一个文件中只能有一个类}
class 类名称 {可有多个类,编译出来后会将多个类编译出不同的文件}。严格上标准中一个文件中只有一个类。
public static void main(String[] args){主方法}
标识符:
使用来给变量、类、方法以及包进行命名的,使用规范:1.标识符必须以字母、下划线、美元符号$开头。2.标识符其他部分可以是字母、下划线、美元符号和数字的任意组合。3.java标识符大小写敏感且长度无限制。4.标识符不可以是java的关键字。
建议:
标识类名的标识符:
表示方法和变量的标识符:
第一个单词小写,从第二个单词开始首字母大写,称为“驼峰原则”。
变量的本质:
代表一个“可操作的存储空间”,空间位置是确定的,但是里面放置了什么值是不确定的,我们可以通过变量名来访问“对应的存储空间”,从而操作这个存储空间所存储的值。
java是一个强类型语言,每个变量都必须声明其数据类型,变量的数据类型决定了变量占据存储空间的大小。
变量作为程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。变量在使用前必须对其进行声明,,声明后才会为其分配相应长度的存储空间。
变量的三类:
1.局部变量local variable,方法或语句块内部定义的变量,生命周期是从声明位置开始到方法或语句块执行完毕位置。
2.成员变量也叫做实例变量member variable,方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。
3.静态变量,也称之为类变量static variable,使用static定义,从属于类,生命周期伴随类始终,从类加载到类卸载。
常量:
constant,通常指一个固定的值,例如1,2,3,‘a’,'b',true,false等等。在java中通常利用关键字去定义一个常量,常量一旦被初始化之后不能更改其值。final type varName = varValue;
一般来讲,1,2,3,‘a’,'b',true,false等等这种称之为字面常量,用final定义的称之为符号常量。
内存区分为四块:
1.栈:先进先出,存普通属性,基本数据类型如”int i=1;“这种即局部变量,方法参数等。
2.堆:存地址,对象占的内存,一般为new的对象,但是class的引用在栈上。
基本数据类型:
引用数据类型用来代表对象的地址。基本数据类型不牵扯到内存分配,引用数据类型要开发者为其分配空间。
选择数据类型的原则:
整数就使用int,小数就用double,描述时间日期数字或者表示文件或内存大小使用long,要实现内容传递或编码转换使用byte,实现逻辑控制就用boolean,描述中文就使用char可避免乱码。
整形常量、整型变量:
整形的最大:Integer.MAX.VALUE,最小:Integer.MIN.VALUE,最大值加一等于最小值,最小值减一等于最大值。
浮点类型:
如果要比较,java.math包下面有两个有用的类,BigInteger与BigDecimal,这两个类可以处理任意长度的数值,BigInteger实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点运算。
字符型:
算术运算符:
int res = ++a;与int res = a++的区别,++a是先自增再赋值给res,a++是先赋值,再自增。
关系运算符:
> ,>= ,< ,<=仅针对数值类型,即:byte,short,int,long,float,double和char。
逻辑运算符:
位运算符:
字符串连接符就是+号,当加号两边有一个为String,它就变成了字符串连接符。
条件运算符:
运算符的优先级:
自动类型转换:
指的是容量小的数据类型自动转为容量大的数据类型。这里的容量大小指的不是字节大小。
强制类型转换:
操作比较大的数时,特别是整数操作,要留意是否溢出。long类型时最好使用大写的L。在会有溢出的时候,一定要在计算结果前就先转换一个的类型。
简单使用Scanner类获取键盘输入:
第三章
流程控制语句:
流程控制语句时用来控制程序中各语句执行的顺序的语句。它分为三类:1.顺序结构:先执行a,再执行b。2.选择结构:如果。。。,则,,,。3. 循环结构:如果。。。,则再继续,,,。
if单选择结构与Math类的使用:
if else双选择结果:
switch多选择结构:
循环结构:
循环结构分为两大类:当型:当boolean条件为true时,反复执行某语句,当boolean为false时才停止循环,例如while与for循环。直到型:先执行某语句,再判断boolean条件,如果为true,再执行某语句,如此反复,直到条件为false时才停止循环,例如do-while循环。
while:
do-while:
for循环:
无限循环:
嵌套循环:
break:
在任何循环语句的主题部分,均可使用break来控制循环的流程,break用于强行推出循环,不执行循环中剩余的语句。
带标签的break与continue:
goto关键字很早之前就在程序设计语言之中存在,在java中只作为一个保留的关键字,并没有使用它。
语句块:
方法:
方法的调用:
方法里return的作用:
方法的重载:
overload,在一个类里面有多个方法的名称相同。重载的方法,实际上是完全不同的方法,只是名称相同而已。