----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
0,Java概述及文件运行原理
Java开发现今就三种版本:JAVASE(标准版)、JAVAEE(企业版)、JAVAME(微小版),这三种版本的面对对象都是不一样的,SE是面对的大众,EE是面对的企业级开发,ME则是面对的手机JAVA开发。一般新手都开始从SE版入手,现在我们开始学习的就是SE版,至于EE我们要在后期学习。
Javase 程序的组成元素主要包括4个层次的内容,包、类、函数、字段、变量。最上层的组成元素是 javase 应用程序系统的话,javase 应用程序系统直接下一层组成元素是包,一个 java 应用程序系统由1个或者多个包构成。包是由一个或者多个类构成,在源码是各个 java 类,在字节码是各个 *.class 文件(ps:接口、枚举、注解我也算在类里面),在jvm中就是各个 Class 类的实例;类的组成元素有字段(ps:包含 final 修饰的变量)、函数、类(成员类);函数的组成元素有局部变量、类(局部类)、语句;变量不能在分(ps:变量是最小的数据单元,函数是最小的行为单元),类是最小的封闭单元。
1,基本格式
Java是严格区分大小写的。
Java是一种*格式的语言。Java代码分为结构定义语句和功能执行语句,功能执行语句最后必须以分号结束。
2,三种注释
/**
*文档注释,用于对文档的详细情况进行标注
*/
/*
*多行注释,用于对程序中的多个相连语句进行注释隐藏
*/
//单行注释,用于对于程序中的一条语句进行注释隐藏
3,标志符
用作给变量、类、方法命名。
Java的标识符必须以字母、下划线_、美元符$开头,不能以数字开头,标识符除开头外的其他部分可以是字母、下划线_、美元符$、以及数字的任意组合,Java标识符大小写敏感,长度无限制,不能是Java中的关键字。
注意:Java不采用通常语言使用的 ASCII 字符集,而是采用 unicode 这样的标准的国际字符集,所以这里的字母的含义:英文、汉字等等,但尽量不要用汉字来定义标识符,更不能用关键字来作为发量名和方法名,但可以是关键字不其他单词的组合形式。
4,关键字
定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写
5,常量
在现实中,事物的属性这种信息在事物的运动发展过程中是变化的,或者是只能在事物发展到某个时刻才能确定这些信息,变量就是用来存储这种信息的对象,并把这种信息保存在内存中,方面我们使用语句来操作这些变量,实现事物运动变化的过程的描述,而常量表示不能改变的数值,是用来给我们向编译器表达数据的方式,人与编译器进行交流时用的数据形式
常量分类:整数常量;小数常量;布尔型常量;字符常量;字符串常量;null常量
整数”
byte 1个字节,最小值:-128,最大值:127
short 2个字节,最小值:-32768,最大值:32767
int 4个字节,最小值:-2147483648,最大值:2147483647
long 8个字节,最小值:-9223372036854775808,最大值:9223372036854775807
浮点数:
float 4个字节,最小值:1.4E-45,最大值:3.4028235E38
double 8个字节,最小值:4.9E-324,最大值:1.7976931348623157E308
字符:
char 2个字节,最小值:0,最大值:65535
布尔:
boolean 1个字节,true或false
6,变量
变量:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化。定义变量的格式:数据类型 变量名= 初始化值;
作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。
相同的作用域中不能定义两个同名变量。
生命周期:变量的生命周期从定义时开始,超出作用域后结束。变量生命周期以外不能使用。
补充:成员变量和局部变量的区别:
(1)作用域:
成员变量:针对整个类有效;
局部变量:只在某个范围内有效(一般只的是方法,语句体内)。
(2)存储位置:
成员变量:随着对象的创建而存在,随着对象的消失而消失,存储在堆内存中;
局部变量:当方法被调用,或者语句被执行的时候存在,存储在栈内存中。当方法调用完,或者语句结束后,就自动释放。
(3)初始值:
成员变量:有默认的初始值;
局部变量:没有默认的初始值,使用前必须赋值。
7,函数
函数:就是一段有名字的代码,可以完成某一特定功能。
如果某个函数在执行的时候需要调用者传入数据,那么可以定义参数列表,用于接收数据。
如果函数运行之后需要返回给调用者数据,那么需要指定返回值类型,并且用关键字return返回。
定义函数的3个必要条件:函数名、参数列表、返回值类型。如果不需要参数也要写小括号,如果没有返回值类型要写void。
参数类型:函数的参数的类型,一旦定义传入时必须匹配。
返回值:函数运行结束后返回的值,使用return关键字返回。
返回值类型:函数运行结束后返回的值的类型,在类型非void情况下必须返回,而且必须类型匹配
形参:在定义函数时小括号中的参数,用来接收数据的参数。
实参:在调用函数时真正传入的参数,传递给函数的数据。
8,运算符
算数运算符
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是3000
“+”除字符串相加功能外,还能把非字符串转换成字符串,
例如:System.out.println("5+5="+5+5);//打印结果是5+5=55
++、--:前缀是使用运算后的值,后缀是使用运算前的值。
比较运算符
逻辑运算符
| :两边都参与运算。
||:当左边为true时,右边不运算
&:无论左边是true还是false,右边都运算
&&:当左边为false时,右边不运算
<<:其实就是乘以2的移动的位数的次幂
>>:就是除以2的移动的位数次幂
>>:最高位补什么由原有数据的最高位值而定。
如果最高位0,右移后,用0补空位
如果最高位1,右移后,用1补空位
>>>:无论最高位是什么,右移后,都用0补
9,语句
1,条件语句
if语句
if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
switch语句switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
注意:
a,switch语句选择的类型只有四种:byte,short,int , char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break;执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以 执行的语句,直到遇到break或者switch结尾结束。
对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广2,循环语句
while语句
while(条件表达式)
{
执行语句;
}
dowhile语句
do
{
执行语句;
}while(条件表达式);
do while特点是条件无论是否满足,循环体至少被执行一次
for语句
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环other语句
break(跳出), continue(继续)
break语句:应用范围:选择结构(switch)和循环结构。
continue语句:应用于循环结构。
w:for(int x=0; x<3; x++)
{
q:for(int y=0; y<4; y++)
{
System.out.println("x="+x);
break w;
}
}
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------