Java语言基础:关键字、标识符、注释、常量和变量、运算符、语言、函数、数组
一、关键字
关键字是指被Java赋予了特殊含义的单词。包括:
(1)用于定义数据类型的关键字:byte short int long、float double、char、boolean、class、 interface
(2)定义数据类型值的关键字:true(真) false(假) null(空)
(3)用于定义流程控制的关键字:判断:if else switch case default、循环:for while do、continue、break、return
(4)定义访问权限修饰符的关键字: private(私有的) protected(受保护的) public(公有的)
(5) 用于定义类、函数,变量修饰符的关键字:abstract(抽象的) final(最终的) static(静态的) synchronized(同步的) enum(枚举)
(6)定义类与类之间关系的关键字: extends(继承) implements(实现)
(7)定义建立实例及引用实例,判断实例的关键字:new(建立实例) this(当前引用) super(父类引用) instanceof(判断对象类型)
(8)异常处理的关键字:try(检查异常) catch(捕获异常) finally(最终执行) throw throws:抛出异常,使用位置不同
(9)包的关键字: package(创建包) imp
main不是关键字,但是是可以被虚拟机识别的入口
二、标识符
在程序中自定义的一些名称,由26个英文字母大小写,数字0-9,符号_$组成
定义合法标识符规则:1,数字不可以开头。2,不可以使用关键字。
书写规范:
包名:多单词组成时所有字母都小写。xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。XXX_YYY_ZZZ
三、常量和变量
1、常量表示不改变的数值
(1)Java中常量的分类:
a,整数常量。所有整数 有四中表现形式:二进制、八进制、十进制、十六进制
进制间的转换:
十进制转化为二进制:对数进行除2运算,把结果倒序写
二进制转化为十进制:对数进行乘2运算,各部分相加
b,小数常量。所有小数
c,布尔型常量。较为特有,只有两个数值。true false
d,字符常量。将一个数字字母或者符号用单引号(‘’)标识,引号里只能是单个字符。
e,字符串常量。将一个或者多个字符用双引号标识。
f,null常量。只有一个数值就是null
(2)变量
变量就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
什么时候需要定义变量?当数据不确定的时候,需要对数据存储时,就定义一个变量完成存储动作。
定义变量的格式:数据类型 变量名=数据(初始化值)
其中数据类型可以分为以下几种:
byte 字节:JAVA中最小的数据类型,它在内存中占8位(1个字节,8bits)
short 短整型:在内存中占2个字节(16bits)
int 整型:在内存中占4个字节(32bits)。
long 长整型:在内存中占8个字节(64bits)。
float 单精度浮点型:在内存中占4个字节(32bits)。
double 双精度浮点型:内存中占8个字节(64bits)。
char 字符型:内存中占2个字节(16bits)。表示一个字符,也可以使用ASCII码范围内的值来给char型的变量赋值。
boolean 布尔型:true和false。
同一种的数据类型才可以操作,否则要进行强制转换。
比如:
byte b1=3,b2=4,b3;
b3=b1+b2 //报错,因为运算时自动转成了int,赋给byte的b3是不行的,要进行类型的强制转换。
b4=3+4 //不会报错,因常量相加,其结果只要不超过b4类型的表示范围就可以
四、运算符
算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符
注意:
(1)% 取模,取模规律:
如果左边小于右边,结果是左边;左边等于右边,结果是0;
右边是1,结果是0;如果取模中有负数,只看被模数,也就是只看左边
(2)a++:给a这个变量中的值进行一次加1操作,并把加1后的值赋值给a a=a+1
b=a++ :先把a的值赋给b,然后a 再自增
b=++a:先自增,然后再把a的值赋给b
2、赋值运算符:+=、-=、*=、/=、%=
注意:short s=4;s=s+5 //错误,要经过两次运算,先加变成int型,后赋值时字符类型不一样
s+=5 //可以运行的,就是一次赋值运算,同时内部有自动转换动作
3、比较运算符:运算结果只能是boolean型,是false true
4、逻辑运算符:&(与) |(或) ^(异或) !(非) &&(短路与) ||(短路或)
用于连接boolean类型的表达式。特点:
(1)&与:同真为真,真与假为假,同假为假(有一个假就为假)
(2)|或:同真为真,真与假为真,同假为假(有一个真就为真)
(3)^异或:与 | 有点不一样。同真为假,就是两边相同,结果为假,两边不同结果为真。
(4)&&:左边为真,右边参与运算,左边为假,右边不参与运算。&左侧不论真假,右侧运算。
(5)||:左边为真,右边不参与运算。
5、位运算符(二进制运算):<<左移;>>右移;>>>无符号右移(逻辑右移) &、| 、^ 、~反码
规律:
左移:原数乘以2的次幂(次幂数是移动的位数)。
右移:原数除以2的次幂(次幂数是移动的位数)之后取整
无符号右移:无论最高位是1或者0,都用0来补。
特点:
&运算时,0视为假,1视为真,只有1&1时结果是1,否则是0
|运算时,只有0 | 0时结果是0,否则是1
^运算时,相同二进制结果是0,1^1=0 , 0^0=0,不相同二进制位结果是1。1^0=1 , 0^1=1
^运算时,一个数异或同一个数两次,结果还是那个数。 7^4^4=7
例:最有效的方法计算出2乘以8的值? 2<<3
60的十六进制,可以使用&和>>实现。
对两个整数变量的值进行互换(不需要第三方变量),可以使用^
6、三元运算符: (条件表达式)?表达式1:表达式2;
a)如果条件为true,运算后的结果是表达式1;
b)如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
运算符的优先级:
优先级 |
运算符 |
结合性 |
1 |
() [] . |
从左到右 |
2 |
! +(正) -(负) ~ ++ -- |
从右向左 |
3 |
* / % |
从左向右 |
4 |
+(加) -(减) |
从左向右 |
5 |
<< >> >>> |
从左向右 |
6 |
< <= > >= instanceof |
从左向右 |
7 |
== != |
从左向右 |
8 |
&(按位与) |
从左向右 |
9 |
^ |
从左向右 |
10 |
| |
从左向右 |
11 |
&& |
从左向右 |
12 |
|| |
从左向右 |
13 |
?: |
从右向左 |
14 |
= += -= *= /= %= &= |= ^= ~= <<= >>= >>>= |
从右向左 |
五、转义字符
概念:通过 \ 来转变后面字母或符号的含义。
常用转义字符:
\b:退格
\n:换行
\t:制表符,相当于tab键
\r:回车
\\:表示反斜杠
\':表示单引号
\":表示双引号