-------android培训、java培训、java学习型技术博客、期待与您交流! ------------
关键字:被java赋予了特殊含义的单词
Java中关键字有:
abstract | assert | boolean | break | byte |
case | catch | char | class | continue |
default | do | double | else | enum |
extends | final | finally | float | for |
if | implements | import | instanceof | int |
interface | long | native | new | package |
private | protected | public | return | strictfp |
short | static | super | switch | synchronized |
this | throw | throws | transient | try |
void | volatile | while |
标识符:程序中自定义的名称
标识符组成:26个英文字母大小写,数字0-9,符号_$(严格区别大小写)
定义规则:
1.数字不可以开头
2.不可以使用关键字
名称书写规范:
包名:多单词组合时,所有单词都小写(aaabbbccc)
类名接口名:多单词组合时,所有单词首字母都大写(AaaBbbCcc)
变量名和函数名:多单词组合时,第一个单词首字母小写,第二个单词开始每个字 母首字母大写(aaaBbbCcc)
常量名:所有字母都大写,多个单词每个单词用下划线连接(AAA_BBB_CCC)
常量表示不能改变的数值
分类:整数常量,小数常量,布尔型常量,字符常量,字符串常量,null常量
布尔(bool)包括true和false两个数值,null只有null一个数值
注意区分:字符常量只表示一个字符,用单引号标识,而字符串可表示多个字符,用双引号标识
变量是内存中一个存储区域,该区域中有自己的名称和类型,在同一范围内可以不断变化,达到重复使用。其作用范围是一对{}之内有效。
什么时候才定义变量:需要对数据存储的时,就定义一个变量来完成存储动作
定义变量的格式:数据类型 变量名 = 初始化值
Java是强类型语言,对每一种数据对定义了明确的具体数据类型,在内存中分配了大小不同的空间,数据类型分类如下图:
基本数据类型在内存中的分配:
基本型别 |
大小 |
最小值 |
最大值 |
boolean |
----- |
----- |
------ |
char |
16-bit |
Unicode 0 |
Unicode 2^16-1 |
byte |
8-bit |
-128 |
+127 |
short |
16-bit |
-32768 |
32767 |
int |
32-bit |
-2^31 |
+2^31-1 |
long |
64-bit |
-2^63 |
+2^63-1 |
float |
32-bit |
IEEE754 |
IEEE754 |
double |
64-bit |
IEEE754 |
IEEE754 |
示例代码如下:
class Var
{
public static void main(String[] args)
{
//格式:数据类型 变量名 = 初始化值
int x = 1;
System.out.println(x);//输出x,为1
x = 10;
System.out.println(x);//输出x,为10
byte y = 2;//y的范围是-128~127
short z = 30000;
long l = 3l;
float f = 3.5f;//后面加f是标识3.5是单精度
double d = 34.23;
char c = '4'//char在内存中占两个八位
boolean b = true;
}
}
包括:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符
算术运算符需注意的问题:
1.如果对负数取模,可以把模数负号忽略不计,如:5%-2=1。但被模数是负数的话,结果为被模数。
2.对于除号,在整数之间做除法时,只保留整数部分而舍弃小数部分。如:int x=2564;x=x/1000*1000;这个时候x的结果是2000.
3.“+”还能把非字符串转化为字符串,如:System.out.println(“5+5=”+5+5);
主要有:=,+=,-=,*=,/=,%=
注意:shtort s = 3;s=s+2和s+=2是不一样的,前者中的2是int类型的,会报错。
注意:比较运算符运算结果是boolean(布尔)型的,两个值:true,false。在编程中特别注意不要把==写成=,特别注意!
逻辑运算符是用于连接boolean(布尔)型表达式,数学中常见如3
注意明确&与&&的区别,前者是无论左边是true是false,右边都要进行要运算,后者是如果左边为假,右边则不参加运算。”|”与”||”同理,”||”在左边为true时,右边不参与运算。
逻辑性较强,需要多多理解
位运算符中的”位”是二进制的那个位,这是用来二进制运算的一个符号
位运算符包括如下:
1.左移<<
范例:3<<2=12,3的二进制是11,将11左移2位再补全则是1100,将1100转化为十进制就是12。(规律:把x向左移,移n位,用x乘以2的n次方就是结果)
2.右移>>
范例:6>>2=1,6的二进制是110,将110右移2位(舍弃右边两位)则是1,将1转化为十进制就是1。(规律:把x向右移,移n位,用x除以2的n次方就是结果,注意只保留整数)
3.无符号右移>>>(慢慢理解消化)
>>和>>>的区别就是:>>右移后,最高位补什么由原有数据的最高位值而定,如果最高位是0,右移后,用0补空位,如果最高位是1,则用1补空位。>>>是无论最高位是什么,右移后,都由0来补空位
4.与运算&
范例:6 & 3 = 2,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为010,010转化为十进制则为2。
5.或运算 |
范例:6 | 3 = 7,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为111,111转化为十进制则为7。
6.异或运算 ^
范例:6 ^ 3 = 5,6的二进制是110,3的二进制是011,从右往左对应,1代表真,0代表假,运算出来之后则为101,111转化为十进制则为5。(一个数异或同一个数两次,结果还是那个数,可通过这个方法给数据加密)
三个元素参与运算的符号,格式:(条件表达式)?表达式1 : 表达式2;如果条件为true,运算结果是表达式1,为false,运算结果是表达式2。
源码示例:
int x = 3 , y = 4 , z;
z = (x>y)?x:y;
System.out.pintfln(“z=” + z);//此时输出结果是:z=4。
三元运算符的好处:可以简化if else代码
弊端:因为是一个运算符,所以运算完必须要有一个结果
重点掌握数据类型及逻辑运算符的运用,分清常量与变量,还有了解位运算符可以用来对进制方面的操作。此节理论性的东西应该多看多记忆。
下面列出JAVA中常用的关键字:
import:在源文件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加上包的名字。
public:在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。
private:在方法和变量的声明中使用,它表示这个方法或变量只能被这个类的其它元素所访问。(注意与public的区别)
static:用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个实例。"static" 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。
void:用在Java语言的方法声明中说明这个方法没有任何返回值。"void"也可以用来表示一句没有任何功能的语句。
for:用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。
while:用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。
do:用来声明一个循环,这个循环的结束条件可以通过while关键字设置
continue:打断当前循环,继续进行下一次循环。如果后面跟有一个标签,则从标签对应的地方开始执行。
break:用来改变程序执行流程,立刻跳出当前循环块并顺序执行下一句。如果后面跟有一个标签,则跳出标签对应的循环块开始顺序执行。
if:用来生成一个条件测试,如果条件为真,就执行if下的语句。
else:如果if语句的条件不满足就会执行该语句。
switch:选择结构中的一个语句,写在前面,通过表达式返回一个值给case判断。
case:用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。
default:用在 switch case 语句里,返回一个默认的值。
final:用来定义不能被改变的实体或引用(即终极实体或引用)。终极类不能被继承,终极方法不能被改写,终极变量就是常量。
finally:用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。
double:用来定义一个double类型(双精度)的变量。
float:用来定义一个浮点数变量。
return:用来结束一个方法的执行。它后面可以跟一个方法声明中要求的值。