一、Java语言基础组成
关键字 运算符
标识符 语句
注释 函数
常量和变量 数组
1、标识符
在程序中自定义的一些名词
由26个英文字母大小写,数字:0-9 符号:_$组成
定义合法标识符规则:
1,数字不可以开头。
2,不可以使用关键字。
Java中严格区分大小写。
注意:在起名字的时,为了提高阅读性,要尽量有意义。
2、Java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个
单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
二、常量与变量
常量表示不能改变的数值。
Java中常量的分类:
1,整数常量。所有整数
2,小数常量。所有小数
3,布尔型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符合有单引号('')标识。
5,字符串常量。将一个或者多个字符用双引号标识。
6,null常量。只有一个数值就是:null。
对于整数:java有三种表现形式。
十进制;0-9,满10进1。
八进制:0-7,满8进1。用0开头表示。
十六进制:0-9,A-F,满16进1。用0x开头表示。
二进制:0-1,满2进1。由8个二进制位,表示1个字节。
变量:就是将不确定的数据进行存储。也就是需要在内存中开辟一个空间。
如何开辟内存空间呢?
就是通过明确数据类型,变量名称数据来完成。
数据类型
|--基础数据类型
| |--数值型
| | |--整数类型:byte(8bit),short(16bit),int(32bit),long(64bit)
| | |--浮点类型:float(32bit),double(64bit)
| |
| |--字符型:char(16bit)
| |--布尔型:boolean
|
|--引用数据类型
|--类:class
|--接口:interface
|--数组:[]
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
整数默认:int 小数默认:double
定义变量的格式:
数据类型 变量名 = 初始化值
例:int x = 4;
什么时候定义变量?
当数据不确定的时候。需要对数据进行存储时。
就定义一个变量来完成存储动作。
类型转换:
任何基本数据类型的运算,如果两者的数据类型不一致,则会出现自动类型提升,小类型自动向大类型靠拢。
如果大类型要想变为小类型,需要强制转换,否则会出现精度损失,编译失败。
三、进制的基本转换
十进制-->二进制 除以2取余数 二进制-->十进制 乘以2的幂数
十进制-->八进制
十进制-->十六进制
负数的二进制表现形式
对应的正数二进制取反加1
四、运算符
算术运算符:
+,-,*,/,%,加减乘除、取模。取模运算要注意,得到的结果要看%的左边的符号。例:1%(-5)=1,-1%5=-1
++,--,自增、自减
+:字符串数据和任何数据使用+都是相连接,最终都会变成字符串。
转义字符:通过\ 来转变后面字母或者符合的含义。
\n:换行。
\b:退格。相当于backspace
\r:按下回车键。Windows系统,回车符是由两个字符来表示\r\n。
\t:制表符。相当于tab键
赋值运算符:
=,+=,-=,/=,%=
比较运算符:
==,!=,<,>,<=,>=,instanceof
注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注2:比较运算符“==”不能误写成“=”。
逻辑运算符:
逻辑运算符用于连接boolean类型的表达式。
&:(与)只要两边的boolean表达式结果,有一个为false。那么结果就是false。
只有两边都为true。结果为true。
|:(或)两边只有一个true,结果为true。
只有两边都是false,结果为false。
^:(异或)两边相同结果是false。
两边不同结果是true。
!:非 !true 结果为 false。
&和&&的特点:
&:无论左边是true是false。右边都运算。
&&:当左边为false,右边不运算。
|:两边都参与运算。
||:当左边为true,右边不运算。
位运算符(左移右移):
<<:左移其实就是乘以2的移动的位数次幂。
>>:右移其实就是除以2的移动的位数次幂。
注意:对于高位补充什么需要根据原来高位值而定,如果原来最高位是1则右移后,高位补充1;
如果原来最高位是0,则右移后,高位补充0
>>>:无论最高位是什么,右移后,都是用0补。
异或运算( ^ ):一个数异或两次同一个数,那么得到的结果还是这个数。
五、语句
if语句
三种格式:
1、if(条件表达式) 2、if(条件表达式) 3、if(条件表达式)
{ { {
执行语句; 执行语句; 执行语句;
} } }
else else if(条件表达式)
{ {
执行语句; 执行语句;
} }
……
else
{
执行语句;
}
if else 结构 简写格式:变量 = (条件表达式)?表达式1:表达式2;
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default;
执行语句;
break;
}
1,switch语句选择的类型只有四种:byte,short,int,char。JDK5.0之后可以接受枚举,
JDK7.0之后可以接受字符串。
2,case之间也default没有顺序。先执行第一个case,没有匹配的case执行default。
3,结束switch语句的两种情况:遇到break,执行到switch语句结束。
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,
运行可以执行的语句,直到遇到break或者switch结尾结束。
5,switch一旦加载,switch大括号的内容都会进入内存。
if和switch语句很像。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用switch语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。