-----------android 培训 、 java培训 、java学习型技术博客、期待与您交流!---------
关键字
关键字的定义:
被Java赋予了特殊含义的单词。
特点:关键字中所有字母都为小写。
下面是关键字的分类:
1. 用于定义数据类型的关键字:
class,interface,byte,short,int,long,float,double,char,boolean,viod
2. 用于定义数据类型的关键字:
ture,false,null
3. 用于定义流程控制的关键字:
if,else,switch,case,default,while,do,for,break,continue,return
4. 用于定义访问权限修饰符的关键字:
private,protected,public
5. 用于定义类,函数,变量修饰符的关键字:
abstract,final,static,synchronized
6. 用于定义类与类之间关系的关系的关键字:
extends,implements
7. 用于定义建立实例及引用实例,判断实例的关键字:
new,this,super,instancdof
8. 用于异常处理的关键字:
try,catch,finally,throw,throws
9. 用于包类的关键字:
package,import
10. 其他修饰符关键字:
native,strictfp,transient,volatile,assert
标示符
在程序中自定义的一些名称。
由26个英文字母分大小写组成,数字:0-9,符号:_$组成。
定义合法的标示符规则:
1. 数字不可以开头。
2. 不可以使用关键字(想用也可以,在定义类名的时候可以把首字母设为大写使用,但是不建议)
Java中要严格区分大小写。
注意:在其名字是为了提高阅读性,要起得有意义。
Java中的名称规范:
1. 包名:多单词是所有小写,如:aaabbbccc 。
2. 类名,接口名:多单词时单词首字母大写,如:AaaBbbCcc。
3. 变量名和函数名:多单词时第一个单词首字母小写,余下单词首字母大写,如:aaaBbbCcc。
4. 常量名:所有字母大写,多个单词用下划线区分,如:AAA_BBB_CCC
常量与变量
常量表示不能改变的数值
分类:
1. 整数常量:所有整数。
2. 小数常量:所有小数。
3. 布尔型常量:特殊常量,只有两个值,true,false。
4. 字符常量:将数字、字母字符用(' ')标示。
5. 字符串常量:讲一个或多个字符用(" ")标示。
6. null常量:只有一个数值,null。
对于整数Java有三种表现形式。
1. 十进制:0—9,满十进一。
2. 八进制:0—7,满八进一,开头用0表示。
3. 十六进制:0—9,A—F,满十六进一,开头用0x表示,其中A—F=10—15.
我们生活中最常见的是十进制,但二进制才是记录数据的方式。
我们都知道字节是用来存贮数据的,八个二进制字符代表一个字符。
所以我们计算机上的存贮内容都与二进制相关。
进制之间的转换
十进制→二进制
原理:对十进制数进行除以2的运算。
如图所示:
二进制→十进制
原理:二进制乘以2次幂的运算。
如图所示:
二进制→十六进制
原理:四个二进制位就是一个十六进制位。
如图所示:
二进制建→八进制
原理:三个二进制代表一个十进制
如图所示:
二进制的负数表现形式
如-6的二进制就是6的二进制取反+1
取反:将二进制的1变成0,0变成1.
变量的概念:
内存中的一个区域,该区域有自己的名称(变量名)和类型(数据类型)。
该区域的数据可以在同一类型范围内不断变化。
将不确定的数据进行存储。
也就是需要在内存中开辟一个空间。
为什么要定义变量?
用来不断的存放同一类型的常量,并可重复使用。
使用变量注意:
变量的作用范围(一对{ }之间有效)。
定义变量的格式:
数据类型,变量名=初始化值。
注:格式是固定的,记住格式,以不变应万变。
如何开辟内存空间呢?
空间名称:变量名,空间类型:数据类型。
就是通过明确数据类型,变量名,数据来完成。
Java语言是强类型语言,对每一种数据都定义了名曲的具体数据类。
在内存中分配了大小不同的内存空间。
数据类型
如图所示:
byte:字节型,8个二进制位(一个字节)
short:短整型,16个二进制位
int:整型,32个二进制位(默认类型)
float:单精度,32个二进制位
double:双精度,64个二进制(默认类型)
注:整数默认int,小数默认double
定义变量的格式
数据类型 变量名=初始值
什么时候定义变量
当数据不确定的时候,需要对数据进行存储的时候就定义一个变量来完成。
数据类型不一样不能运算,但位数小的类型会从小到大自动提升类型。
如:
byte b = 3 ;
b = b + 2 ;
在byte范围内可一个b赋值。
但是在5给b赋值时会出错,
因为5为32个二进制位,byte只能表示8个二进制位。
可以通过 b =( byte)( b + 2)
将b + 2的和强制转化成byte类型。
数据的自动提升
byte型,short型,char型→int型
如果一个操作数是long型,计算结果就是long型。
如果一个操作数是float型,计算结果就是float型。
如果一个操作数是double型,计算结果就是double型。
运算符
算数运算符
a++:给变量中的值进行+1的操作并把+以后的是赋给a
在b = a++中
a++:先把a的值赋给b,a再自增。
在b = ++a中
++a:先自增再赋值给b。
在 “ a ” + “ b ”=ab中
“ + ”:字符串的连接号。
字符串数据和任何数据使用 “ + ”都是相连接的,最终都会变成字符串。
特殊字符
\n :换行。
\b:退格。
\r:回车键。
\t:制表符。
通过 \ 来转变后面字母或者符号的含义。
赋值运算符
+=:把符号左右两边数值的和赋给左边
注:+=可以用作加法的复制。
如:
short s = 5 ;
s = s + 6 ;
这样运算会丢失精度,在赋值时会出错。
short s = 5 ;
s += 6;
用 +=符号是一次运算所以会自动转换,
在赋值时不会出错。
比较运算符
== :等等于。(=是赋值,与==不同)
!= :不等于。
逻辑运算符
用于连接布尔类型的表达式。
&:与,只要两边的布尔表达式结果有一个结果为false,结果为false。
两边都为true结果才为true。
true& true = true
true& false = false
false& true = false
false& false = false
| :或,两边只要一个为true,结果就为true。
两边都为false结果为false。
true | true = true
true | false = true
false | true = true
false | false = false
^ :异或,当两边结果都相同为false。
两边不同结果为true。
&&:短路,左边错右边不运算。
注:& , &&和 |, || 的特点,
&无论左边是真是假右边都运算。
&&当左边为假时右边不运算。
| 两边都参与运算。
|| 当左边为true时右边不运算。
位运算符(二进制运算符)
<< :就是乘以2的位移数次幂。
>>:就是除以2的移动的位数次幂。
最高部位由原有数据的最高位置而定。
如果最高位数为0,有以后用0补空位。
如果最高位数为1,有以后用1补空位。
>>> :无论最高位是什么,右移后都用0来补位。
练习
对两个整数的值进行互换。
方法一:定义一个未知变量。
int a = 1, b = 2, x;
x= a;
a= b;
b= x;
方法二:不设置变量(但可能会超出int范围)
int a = 1, b = 2;
a= a + b;
b= a - b;
a= a - b;
方法三:技巧型(面试时会用到)
^:一个数异或同一个数两次,结果还是这个数。(可用于加密)
int a = 1, b = 2;
a= a ^ b;
b= a ^ b;
a= a ^ b;
三元运算符
三个元素参与运算的符号。
(条件表达式)?表达式1:表达式2
如果true,运算结果是表达式1。
如果false,运算结果是表达式2。
如:
int x = 3, y;
y = ( x > 1 )? 100:200;
输出结果为: y = 100 。
谢谢大家的观看~!
-----------android培训、java培训、java学习型技术博客、期待与您交流!---------