----------------------
android培训、java培训、期待与您交流! ----------------------
写一个程序的基本步骤:先写注释,进行需求分析与设计
如:
/*
需求:*************
思路:
1.********
2.********
步骤:
1.***********
2.***********
...........
*/
注释三种类型:
1.单行注释 //这是单行注释
2.多行注释 /*这是多行注释*/
3.文档注释 /** 这是文档注释 */
标识符组成:26个字母,0~9数字,_和&
标识符定义规则:1.数字不可以开头 2.不可以使用关键字
Java中严格区分大小写
注:main不是关键字,但是在java中被赋予了特殊的意义
Java中的名称规范
包名:多单词组成时所有字母都小写
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母都大写
xxxYyyZzz
常量名:所有的字母都大写,多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
基本数据类型:
数值型:
整数类型:
byte: -2(7)-1~2(7) 占1个八位
short: -2(15)-1~2(15) 占2个八位
int: -2(31)-1~2(31) 占4个八位(默认类型)
long:
-2(63)-1~2(63)
占8个八位
浮点类型:
float: 占4个八位 表示方法: 如:2.3f,
50.88f
double:占8个八位 小数的默认数据类型
字符型:
char:2位 ‘a’ ‘你’ 写中文也是可以的
布尔型
boolean:true,flase
两个值
注:一个汉字占两个八位。
什么时候定义变量?
当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储的动作。
byte b = 3;b=b+2;
编译时会报错,损失精度。
原因:2为默认类型int型,占4个八位,而b为byte型,只占两个8位。相加后的数据为4个八位,不能赋值给两个八位的变量,所以报错。
byte b = 3;b=(byte)(b+2); 进行强制类型转换后不会报错
取模运算时,左边是负数结果就是负数
如:-2/5 = -2 ; 2/-5 =2;
注意:字符串数据和任何数据使用+相连接,最终都会变成字符串。
转义字符:通过 \ 来转变后面字母或者符号的含义。
\n:换行
\b:退格
\r:按下回车键,window系统,回车符是由两个字符来表示 \r\n.
\t:制表符,相当于tab键。
赋值运算知识点:
short s = 4;
s = s+5; (不可行,数据类型不同)
s+=5;(可以,自动完成类型转换)
逻辑运算符用于连接boolean类型的表达式
>> 有符号右移 最高位补什么,由原有数据的最高位值而定
>>> 无符号右移
7^4^4 = 7
结论:一个数异或同一个数两次,结果还是那个数。
异或可用于加密.
不用第三方变量互换两个值:
1. 有局限性,当两个数值相加超出int类型范围,就可能会损失精度
n = 3;m=8;
n = n+m;
m=n-m;
n=n-m;
2. 不会损失精度,效率高
n = 3;m=8;
n = n^m;
m=n^m;//
n=n^m;
常用互换两值方法:
n = 3;m=8;
temp=m;
m=n;
n=temp;
switch 条件表达式里可以接收的数据类型有四种:byte,short,int,char;
default的位置可以随意,没有特殊要求
循环结构:while,dowhile ,for
while语句格式:
while(条件表达式){
执行语句;
}
While特点:先判断条件,只有条件满足才执行循环体。
do while语句格式:
do{
执行语句;
}while(条件表达式);
dowhile特点:条件无论是否满足,循环体至少被执行一次。
for语句格式:
for(初始化表达式:循环条件表达式;循环后的操作表达式){
执行语句;
}
while和 for的区别:
1.变量有自己的作用域,对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放。
2.for和while可以进行互换,如果需要定义循环增量,用for更为合适。
总结:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
小知识点
无限循环的最简单表现形式:
for( ; ;){}
while(true){}
其他流程控制语句:
break:应用于选择结构和循环结构
continue:应用于循环结构 特点:结束本次循环,继续下一次循环。
注:
a.这两个语句离开应用范围,存在是没有意义的
b.这两个语句单独存时,下面都不可以有语句,因为执行不到。
c.continue语句是结束本次循环继续下次循环
d.标号的出现,可以让这两个语句作用于指定的范围
函数:定义在类中的具有特定功能的一段独立小程序,函数也称为方法。
函数的格式:
修饰符 返回值类型函数名(参数类型形式参数1,参数类型形式参数2,...){
执行语句
return返回值;
}
注:参数是有顺序的
返回值类型:函数运行后的结果的数据类型
参数类型:是形式参数的数据类型
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数
实际参数:传递给形式参数的具体数值。
return:用于结束函数
返回值:该值会返回给调用者。
函数特点:
1.定义函数可以将功能代码进行封装。
2.便于对该功能进行复用。
3.函数只有被调用才会被执行。
4.函数的出现在提高了代码的复用性。
5.对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句在最后行可以省略不写。
注:函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
如何定义一个函数呢?
1.既然函数是一个独立的功能,那么该功能的运算结果是什么先明确(明确函数的返回值类型)
2.在明确在定义该功能的过程中是否需要未知的内容参与运算。(明确函数的参数列表)
函数的重载:(重载和返回值类型无关)
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
重载的特点:
与返回值类型无关,只看参数量规。
重载的好处:
方便于阅读,优化了程序设计。
什么时候用重载?
当定义的功能相同,但参与运算的未知内容不同,那么这时就定义同一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
重载小练习(判断以下函数是否与给定函数重载)
void show(int a,char b,double c){}
a.void show(int x,char y,double z){}没有,因为和原函数一样
b.int show(int a,double c,char b){}重载,因为参数类型不同,注意:重载和返回值类型没有关系
c.void show(int a,double c ,char b){}重载,因为参数类型不同,注意:重载和返回值类型没有关系
d.boolean show(int c,char b){}重载了,因为参数个数不同
e.void show(double c){}重载了,因为参数个数不同
f.double show(int x,char y,double z){}没有,这个函数不可以和给定函数同时存在于一个类中。
----------------------
android培训、java培训、期待与您交流! ----------------------