组成部分:关键字、标识符、注释、常量与变量、运算符、语句、函数、数组。
一、关键字:某一种计算机语言对于指定的单词赋予了特殊的含义。
特点:关键字中所有的字母均为小写。
用于定义数据类型的关键字:class、interface、byte、short、int、long、float、double、char、boolean、void。
用于定义数据类型值的关键字:true、false、null
用于定义流程控制的关键字:if、else、switch、case、default、while、do、for、break、continue、return
用于定义访问权限修饰符的关键字:private、protected、public
用于定义类与类之间的关系的关键字:extends、implements
用于建立实例及引用实例,判断实例的关键字:new、this、super、instance of
用于异常处理的关键字:try、catch、finally、throw、throws
用于包的关键字:package、import
二、标识符:程序中起的名字,包括0-9,a-z,$,_
注意:1,数组不可以开头。2,名称不可以使用关键字。
三、注释:作用1:注解、说明、解释。表现形式有三种:单行注释,行的开始,//注释的内容;多行注释,有开始有结束,/*注释的内容*/;Java中特有的注释,文档注释,/**-------*/ 通常用于对程序进行说明并可以建立说明文档。
作用2:用于调试程序,便于查错
注释的细节:注释的嵌套。单行注释中可以定义单行注释,单行中可以定义多行注释,多行注释中可以定义单行注释,多行注释中不可以定义多行注释。
用注释对类进行文字性说明,便于日后生成说明文档。
另外,代码需要加注释,增加可阅读性
多行注释中写明思路:1需求,2步骤,3用代码来体现(代码仅是思想的一种体现形式而已)
简言之,我要做什么,怎么做,用什么步骤来实现,用代码来体现
四、常量与变量
Java中常量的分类:整数常量、小数常量、布尔型(boolean)常量(只有true、false)、字符常量(将一个数字,字母或者符号用单引号标识)、字符串常量(将一个或者多个字符用双引号标识)
对于整数,有四种表示形式,二、八、十、十六进制。八进制是用0(零)开头,十六进制是以0x开头
八个二进制位为一个数据单元,这个单元称为字节,数据最小的单元。
十进制转二进制,是除以2取余数,从下向上,从高到低。
负数的二进制表现形式:对应的整数的二进制取反加1
凡是负数的二进制最高位是1。 -1的表现形式,二进制位都是1。
变量:定义后,内存会分配一个存储区域。该区域有变量名,数据类型,数据值。用来不断的存放同一类型的常量,可以重复使用。
使用变量时注意变量的作用范围:一对{}之间有效,初始化值
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配不同大小的内存空间。
数据类型分为基本数据类型和引用数据类型两大类。
基本数据类型:数值型(整数类型、浮点类型)、字符型、布尔型。
引用数据类型:类(class)、接口(interface)、数组([])。
整数类型(byte、short、int、long),浮点类型(float、double)
整数默认int,小数默认double。
byte:一个字节(八个二进制位)范围:-2^7-2^7-1(-128--127)
short :2个字节,范围:-2^15-2^15-1 大约三万多
int :4个字节。
单精度float:4个字节。双精度double :8个字节。
五、类型的转换
byte b = 2;
b = b + 2;这时编译报错,可能精度丢失。因为 = 右边有变量存在。这里 = 右边的b发生了自动类型提升,由1字节的byte类型提升至4字节的int类型。
解决办法b = (byte)(b+2);这里进行了强制类型转换,强制转换时从低位开取,舍弃高位。
println('a'+1)字符会查ASCII码,结果是98
println((char)('a'+1))结果是b
println("5+5="+5+5) 结果是5+5=55 字符串和任何数据做+动作,都是相连接,生成新的字符串
println("5+5="+(5+5)) 结果是5+5=10
println("a="+a+",b="+b) 输出a= ,b= 双引号内是不变化的部分。
六、运算符
算数运算符:+、-、*、 / 、%(模,取余)、+(连接符,用于连接字符串)、++自增、--自减。
int x=52; x=x/10*10;结果为50
5%2=1(任何整数模于2的结果不是1就是0)
88%10=8(任何整数模于a的结果的范围为0到a-1)
-3%5= -3 , 3%-5=3 (进行模运算时,符号参考左边值)
当自增参与运算时,++在前在后是有区别的。
a=3;
b= ++a;(先自增,后赋值)
println("a="+a+",b="+b) (注意这里输出语句中不可写成println(a,b)) 结果输出为a=4,b=4
a=3;
b=a++;(先临时存储,后自增,再将临时存储的数据进行赋值)
println("a="+a+",b="+b) (a在前,++在后,说明a的数值需要参加++以外的运算,比如赋值给b的运算)1、先将a变量中的数据进行临时存储 temp=a; 2、自增运算 a=a+1; 3、将临时存储a数据的变量赋值给b ,b=temp
结果输出为a=4,b=3
七、赋值运算符
=、+=、-=、*=、/=、%=
+=:将左右两边的和赋给左边 x+=2,即x=x+2
short s=3;
s=s+6;编译错误,因为右边有变量
s+=6;编译通过,因为+=是赋值运算,会有一个自动类型转换动作,short s=3;便进行了自动类型转换。
八、比较运算符
>、<、>=、<=、==、!=
比较运算符运算结果要么是true要么是false
九、逻辑运算符(用来连接boolean类型的表达式)
& 且、与 :符号两边有一个false,结果都会是false。 两边都是true时,结果才会是true。
| 或:符号两边有一个true,结果都会是true。两边都是false时,结果才会是false。
&&(短路&、双&):当左边是false时,右边不参与运算。单与&时,两边都参与运算。
||:当左边是true时,右边不参与运算。单|时,两边都参与运算。
^:异或 两边结果一致为false ,不相同为true
!非:!true=false !!true=true
十、位运算
左移<< :乘以2次幂运算,空位出现在低位,用0补位即可。
右移>>:除以2次幂运算,空位出现在高位,原高位是什么,就用什么来补位。
无符号右移>>>:空位出现在高位,无论原高位是什么,都用0来补。
& 与 例:6&3 =2
110
& 011
-------
010
应用:获取1000 0010 0110中的后四位,可以用0000 0000 1111来做&运算 便可。 若想得到的是中间的四位,可以先对前者进行移位,这里最好用无符号右移>>>
| 或 例:6|3=7
110
| 011
---------
111
^ 异或:6^3=5,5^3=6,即一个数异或另一个数两次,结果还是原来的数。可用于加密
~ 取反:~6=-7,因为-6是6取反后加1,所以6只取反为-6-1=-7
位运算速度较快,因为是在原数据基础上进行的操作。
十一、三元运算符
格式:(条件表达式)?表达式1:表达式2
条件表达式=true,则表达式1,=false,则表达式2
例 int a =3 ,b =8, max;
max=a>b?a:b; 取a和b中的最大值
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------