变量:
在内存中开辟空间将常量值进行存储,方便运算。
好处:该空间可以重复使用。
定义格式:
数据类型 变量名 = 初始化值;
使用变量的注意事项:
1,变量没有初始化值,无法进行运算。
int x; x = x + 3;//error;
2,变量都有自己的作用域。
基本数据类型:
byte short int long
float double
char
boolean
引用数据类型:
类 接口 数组
什么时候需要定义变量呢?
当数据不确定时,或者运算后的结果需要参与下一步运算时,
这时就定义一个变量将该不确定的数据进行存储。
-----------------------------------------------
运算符:
1,算数运算符。
+:连接符
%:取余数:可以去数的倍数。开关算法,任何数%2 结果非0即1。
++:自增。x++ <===> x=x+1 技巧:谁在前面谁先运算。
2,赋值运算符。
int a,b,c;
a=b=c=4;
+=,-+....
x+=3; <==> x = x + 3;
3,比较运算符。
特点:运算后结果非true即false。
== : 相等于
4,逻辑运算符。
& | ! ^:这些运算符不仅仅可以连接boolean型的表达式,也可以进行位运算。
位运算无非就是二进制运算。技巧:1为true 0为false。
6 ^ 3 = 5
110
^011
-----
101
00000000 00000000 00000000 01101011
&00000000 00000000 00000000 00000111
---------------------------------------
00000000 00000000 00000000 00000011
&和&&:当左边为false时,&:两边的表达式都参与运算。&&右边的表达式不参与运算。
|和||:当左边为true时,|:两边的表达式都参与运算。||右边的表达式不参与运算。
^:两边一样结果为false。
5,位运算符。
左移:<< 3<<2=12 3<<4 = 48
右移:>> 和 >>> 区别:
>>:右移后,空位按照移位前的最高位来填充。最高位为0,用0补。最高位为1用1补。
>>>:无符号右移,无论最高位是什么,都用0补。
负数的由来:对应的正数取反+1;
6 : 00000000 00000000 00000000 00000110
取反:11111111 11111111 11111111 11111001
+00000000 00000000 00000000 00000001
-------------------------------------
-6 : 11111111 11111111 11111111 11111010
-------------------------------------------------------------------------
语句:
判断:if
1.if(条件表达式){}
2.if(条件表达式){}else{}
3.if(条件表达式){}else if(条件表达式){} .... else{}
对于第二种格式:简化形式:三元运算符。
变量 = (条件表达式)? 表达式一:表达式2;
简化形式和非简化形式的区别:
简化形式虽然简化了书写,但是有前提:它是一个运算符,所以就必须要有结果。
if(x>1)
y = 100;
else
y = 200;
y = (x>1)?100: 200;
注意:条件表达式:无论多简单多复杂,只要有true或者false出现即可,否则表达式错误。//if(x==1)
选择:switch(表达式){}
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
case 取值3:
执行语句;
break;
。。。。
default:
执行语句;
//break;
}
特点:
1,表达式值运算四种类型的值:byte short int char
2,case和default之间没有顺序。但是在运行时,肯定会先读取第一个case,当case不匹配,会继续执行其他的case,当所有case不匹配,才会读到default。
3,switch语句结束的两种方式:a,读取switch语句大括号结束。b,碰到break语句结束。
如果没有碰到break,也没有读到结束,那么程序会一直向下执行,将可以执行的语句执行完。
循环:while do{}while() for
while(条件表达式)
{}
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
}
for(int x=0,y=0;x>3; x++,y++)
{}
do{}while(条件表达式);无论条件是否满足,循环体至少执行一次。
#####################
#什么时候用这些语句呢:
# 当对固定的几个值进行判断的时候,建议使用switch。
# 当对范围进行判断,或者对运算体运算后的真假结果进行判断的时候用if。
#
# 当需要某些语句执行多次的时候,就要用到循环结构。
# while和for是可以互换的。
# 因为变量的作用域,所以在使用两个语句时,要有区分:
# 如果定义变量只为循环的而存在。循环结束该变量就没有意义,那么这是用for语句。
# 如果变量在循环后还要参与其他运算,那么用while。
#
#####################
break:选择结构和循环结构。
continue:循环结构:结束本次循环,继续下次循环。
注意:这两个语句独立存在时,下面不可以写任何语句。
------------------------------------------------------------
函数:
特点:
-- 类中一个独立小程序。
-- 可以实现独立功能。
-- 只有被调用才会执行。
-- 可以被重复使用。
好处:
将代码进行封装,可以提高代码的复用性。
格式:
返回值类型 函数名(参数类型 形式参数1,...)
{
执行语句;
return 返回值;
}
如何定义一个函数呢?
1,明确该功能运算后的结果。(明确返回值类型)
2,明确该功能实现过程中,是否需要未知内容参与运算。(明确函数的参数列表)
要定义一个加法运算功能。
int getSum(int x,int y)
{
return x+y;
}
特性:重载,overload。
当多个函数的功能一致,只是参与运算的参数不同。为了提高代码的阅读性,以及方便调用,
所以将这些函数都定义成一个名字,通过参数列表来进行这些函数的区分。
int getSum(int x,int y,int z)
{
return x+y+z;
}
函数的特点:
有一种情况:函数执行一个功能,但没有具体值被返回。这时返回值类型不可以具体确定,那么用void关键字来表示。
当函数的返回值类型是void时,函数中的return语句可以省略不写。
以后书写代码的,其实就是在不断的实现功能,功能都由函数来体现的。
代码尽量就不要书写到main函数当中。main函数出现可以调用其他函数,以用来测试该功能是否可用。