------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
语法基础
标示符
组成:a-z A-Z 0-9 _$
规则:1、数字不可以开头,不可值用关键字命名(如:this public)
注意:Java中严格区分大小写
名称命名规范:
1、包名:xxxyyyzzz(多单词组成都小写)
2、类名接口名:XxxYyyZzz(多单词首个字母大写)
3、变量名、函数名:xxxYyyZzz(多单词首个单词小写,后面单词首字母大写)
4、常量名:XXX_YYY_ZZZ(多个单词所有字母大写并用_连接)
注释
单行注释://(单行注释内容)
多行注释:/*(多行注释内容)*/
文档注释:/**(注释内容)*/--->文档注释可用于帮助文档的制作被JDK工具javadoc解析,生成一套网页文件
常量和变量
常量:顾名思义,平常的量既不可以改变其数值的量
变量:
1、整数常量
2、小数常量
3、布尔型常量-->只有两个数值:true false
4、字符常量-->将数字,字母符号用单引号标识,如:'a' '3' '%'
5、字符串常量-->讲一个或多个字符用双引号标识,如:"safa" "23sfd" "sdf&*"
6、null常量-->只有一个数值:null
数据类型
1、基本数据类型
a、数值型
①整数类型(byte,short,int,long)
②浮点类型(float,double)
b、字符型(char)
c、布尔型(boolean)
2、引用数据类型
a、类(class)
b、接口(interface)
c、数组([])
注意:整数默认的是int 小数默认的是double
类型转换
自动类型转换(隐式类型转换)
·所有的byte,char,short的值都将被提升到int型(通俗解释byte,char,short就像大小不同的碗,而int就是一个锅.碗能装的下的量,变成了锅以后还能装的下,而锅能装得下的量变成碗就不够装)
byte b=3;
int x=6;
x=x+b;//此时b会自动提升为int型
b=x+b;//此时编译不同过
强制类型转换
b=byte(x+b);//这样就可以
运算符
算术运算符
+ --> 用在整数之间是相加功能,如:5+5=10 用在字符串之间是把非字符串转换成字符串连接,如:"5+5="+5+5 打印结果是5+5=55
- *
/ --> (注意它的整数除和小数除是有区别的:整数之间除只保留整数部分,如:int x=3151;x=x/1000*1000);当x/1000后结果是3,3*1000结果是3000;
% ++ --
赋值运算符
= += -= *= /= %=
比较运算符
== != < > <= >= instanceof 返回true false
逻辑运算符
&(与) |(或) ^(异或) !(非) &&(双与) ||(双或)只要前面的条件不符合则后面的便不判断
位运算符:是直接对二进制进行运算
<<左移
3<<2=12-->3*2*2=12
0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
0000-0000 0000-0000 0000-0000 0000-1100 3左移两位后的二进制12
>>右移
6>>2=1-->6/2/2=1
0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
0000-0000 0000-0000 0000-0000 0000-0001 6右移两位后的二进制1
>>>无符号右移:被移动二进制最高位无论是0或1,空缺位都用0补
&与运算
6&3=2
0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
&0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
0000-0000 0000-0000 0000-0000 0000-0010 2的二进制
|或运算
6|3=2
0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
|0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
0000-0000 0000-0000 0000-0000 0000-0111 7的二进制
^异或运算
6^3=2
0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
^0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
0000-0000 0000-0000 0000-0000 0000-0101 5的二进制
~反码
三元运算符
格式:(条件表达式)?表达式1:表达式2;
条件表达式为true执行表达式1,为false执行表达式2
int x=3,y=4,z;
z=(x>y)?x:y;
流程控制
1、判断结构
if(条件)
{
代码块
}
if(条件)
{
代码块
}else
{
代码块
}
if(条件)
{
代码块
}else if(条件)
{
代码块
}...
else
{
代码块
}
2、选择结构
switch(表达式)
{
case num1:
代码块;
break;
case num:2
代码块;
break;
......
default:
代码块;
break;
}
3、循环结构
while(表达式)
{
代码块;
}
do
{
代码块;
}while(表达式)
for(初始化表达式;循环表达式;循环后表达式)
{
代码块;
}
小结: 在if和switch之间,如果需要判断的条件在区间之间则选择if,如果是具体的确定数值选用switch。在for和while之间当循环的次数不限定时用while当循环次数需要控制时用while。do while和while的却别是do while是无论是否满足条件都会先执行一次代码块。而while则只有满足条件才会开始执行。
break(跳出)和continue(继续)
break应用于:选择结构和循环结构
continue应用于:循环结构
区别:break是直接跳出循环相当结束当前这层循环,而continue则是跳过本次循环执行下次循环,但任然在循环内。
如果有多层循环嵌套,要跳出除多层循环则需要用到标号(标号只用于循环),如
w:for(int x=0;x<3;x++)
{
q:for(int y=0;y<5;y++)
{
System.out.println("sdfs");
break w;
}
}