黑马程序员_day02_Java语言基础组成

来源:互联网 发布:网络管理经验 编辑:程序博客网 时间:2024/05/24 02:05

---------- android培训java培训、java学习型技术博客、期待与您交流! ------------
Java 语言基础组成

组成部分:关键字、标识符、注释、常量与变量、运算符、语句、函数、数组。

一、关键字:某一种计算机语言对于指定的单词赋予了特殊的含义。

特点:关键字中所有的字母均为小写。

用于定义数据类型的关键字:classinterfacebyteshortintlongfloatdoublecharbooleanvoid

用于定义数据类型值的关键字:truefalsenull

用于定义流程控制的关键字:ifelseswitchcasedefaultwhiledoforbreakcontinuereturn

用于定义访问权限修饰符的关键字:privateprotectedpublic

用于定义类与类之间的关系的关键字:extendsimplements

用于建立实例及引用实例,判断实例的关键字:newthissuperinstance of

用于异常处理的关键字:trycatchfinallythrowthrows

用于包的关键字:packageimport

二、标识符:程序中起的名字,包括0-9a-z$,_

注意:1,数组不可以开头。2,名称不可以使用关键字。

三、注释:作用1:注解、说明、解释。表现形式有三种:单行注释,行的开始,//注释的内容;多行注释,有开始有结束,/*注释的内容*/Java中特有的注释,文档注释,/**-------*/  通常用于对程序进行说明并可以建立说明文档。

作用2:用于调试程序,便于查错

注释的细节:注释的嵌套。单行注释中可以定义单行注释,单行中可以定义多行注释,多行注释中可以定义单行注释,多行注释中不可以定义多行注释。

用注释对类进行文字性说明,便于日后生成说明文档。

另外,代码需要加注释,增加可阅读性 

多行注释中写明思路:1需求,2步骤,3用代码来体现(代码仅是思想的一种体现形式而已)

简言之,我要做什么,怎么做,用什么步骤来实现,用代码来体现

四、常量与变量

Java中常量的分类:整数常量、小数常量、布尔型(boolean)常量(只有truefalse)、字符常量(将一个数字,字母或者符号用单引号标识)、字符串常量(将一个或者多个字符用双引号标识)

对于整数,有四种表示形式,二、八、十、十六进制。八进制是用0(零)开头,十六进制是以0x开头

八个二进制位为一个数据单元,这个单元称为字节,数据最小的单元。

十进制转二进制,是除以2取余数,从下向上,从高到低。

负数的二进制表现形式:对应的整数的二进制取反加1

凡是负数的二进制最高位是1。 -1的表现形式,二进制位都是1

变量:定义后,内存会分配一个存储区域。该区域有变量名,数据类型,数据值。用来不断的存放同一类型的常量,可以重复使用。

使用变量时注意变量的作用范围:一对{}之间有效,初始化值

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配不同大小的内存空间。

数据类型分为基本数据类型和引用数据类型两大类。

基本数据类型:数值型(整数类型、浮点类型)、字符型、布尔型。

引用数据类型:类(class)、接口(interface)、数组([])。

整数类型(byteshortintlong),浮点类型(floatdouble

整数默认int,小数默认double

byte:一个字节(八个二进制位)范围:-2^7-2^7-1(-128--127)

short :2个字节,范围:-2^15-2^15-1  大约三万多

int 4个字节。

单精度float4个字节。双精度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的结果的范围为0a-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=temp

结果输出为a=4b=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,因为-66取反后加1,所以6只取反为-6-1=-7

位运算速度较快,因为是在原数据基础上进行的操作。

十一、三元运算符

格式:(条件表达式)?表达式1:表达式2

条件表达式=true,则表达式1=false,则表达式2

例 int a =3 ,b =8, max;

max=a>b?a:b; ab中的最大值

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------