黑马程序员——java语言基本组成1

来源:互联网 发布:白手面板算法 编辑:程序博客网 时间:2024/05/29 17:40
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

< 今日心情 >这真是一个丰富的世界

首先让我们来看一下这个代码

这里边都有什么呢?

一、 关键字

定义:被Java语言赋予了特殊含义的单词
特点:关键字中所有字母都为小写

代码中class就是一个关键字,它代表{}中的是一个类。
int ,public, static, void也都是关键字,它们代表着不同的含义。
下面我们大致了解下。

1.用于定义数据类型的关键字

short,int,long,float,double,char,bool

2.用于定义数据类型值的关键字

true,false,null

3.用于定义流程控制的关键字

if,else,switch,while,for,break,continue

4.用于定义访问权限修饰符的关键字

private,protected,public

5.用于定义类,函数,变量修饰符的关键字

abstract,final,static,synchronized

6.用于定义类与类之间关系的关键字

extends,implements

7.用于定义建立实例及引用实例,判断实例的关键字

new,this,super,instanceof

8.用于异常处理的关键字

try,catch,finally,throw,throws

9.用于包的关键字

package,import

10.其他修饰符关键字

native,strictfp,transient,volatile,assert

二、标识符

标识符是在程序中自定义的一些名称。
规则:由26个英文字母大小写,数字:0-9 符号:_ $ 组成,其中,数字不可以开头,不可以使用关键字。
注意:java严格区分大小写

代码中的Comprise,i都是标识符。

java中的名称规范:
1.包名:多单词组成时所有字母都小写。
2.类名接口名:多单词组成时,所有单词的首字母大写。
3.变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。
4.常量名:所有字母都大写。多单词时每个单词用下划线连接。

三、注释

用于注解说明解释程序的文字就是注释。

Java中的注释格式:
单行注释:
格式://注释文字

多行注释:

格式:/* 注释文字*/

文档注释:

格式:/** 注释文字*/

对于单行和多行注释,被注释的文字,不会被JVM( java虚拟机)解释执行。

对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

注意:初学者编写程序可以养成习惯:先写注释再写代码。

四、常量和变量


运行代码,结果如下:

分析结果发现,第一个输出语句输出的是“0”,第二个输出语句输出了5次,第三个输出语句是“8”

先不管第二个输出语句,既然第一个输出语句输出的是“0”,那么i代表的应该是0,i+3应该等于3才对,但是第三个输出语句却是“8”。

i的值变化了,这是为什么呢?


首先我们来了解两个概念。

1.常量

常量表示不能改变的数值。(显然i不是常量)

Java中常量的分类;

整数常量:所有整数
小数常量:所有小数
布尔型常量:较为特有,只有两个数值:true false。
字符常量:将一个数字字母或者符号用单引号( ' ' )标识,如‘d’,‘s’。
字符串常量:将一个或者多个字符用双引号标识,如“name”,“sex”。
null常量:只有一个数值就是:null。

2.变量

变量就像一个可以盛装常量的盒子,它有自己的名称和类型,同类型的常量都有机会住进盒子中去,但是一旦一个常量进去就会“踢出”原有的常量。
其实变量是内存中的一个区域,他有变量名和数据类型,这个区域的数据在同一个类型范围内可以变化。

常量也有自己的盒子,但是它不允许别人使用。

变量提高了资源的利用率。

定义变量的格式:

数据类型变量名 = 初始化值;


数据类型有:


数据类型是可以相互转换的:

自动类型转换(也叫隐式类型转换)

byte b = 3;
int x = 4;
x = x + b;       //b会自动提升为int类型进行运算。

强制类型转换(也叫显式类型转换)

byte b = 3;
b = b + 4;     //报错
b = (byte)b+4;     //强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

五、运算符

1.算数运算符

除了常规的加(+)减(-)乘(*)法运算符,除在java中有些不同,它有两种格式:/ (除):5/6=0,5/5=1,5/4=1;%(取模):5%6=5,5%5=0,5%4=1。
++,--:自增,自减;符号在变量名的前边表示先自增或自减再参与运算,符号在变量名的后边表示先参与运算再自增或自减。

其实符号在前还是在后都是变量产生了变化(+1或-1),区别在于告诉别人自己变化前还是变化后的值。

当有字符或字符串参与+运算时,表示字符串首尾衔接的相加。

2.赋值运算符:

=,+=,-=,*=,/=,%=
等号前有运算符的表示变量本身参与相对应的运算。如:a=2;a+=3;结果a=5(等同于a=a+3);

3.比较运算符:


注意:比较运算符相等于判断不可写成“=”。

4.逻辑运算符:


注意:逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

“&”和“&&”的区别:

单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

例:if(a>0&a++<5){}无论a的值为多少,都进行了自增运算。

异或(^)两边布尔值不同时结果为true,两边布尔值相同时结果为false

5.位运算符:

左移:<<;空位补0,被移除的高位丢弃,空缺位补0。

右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。

无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。

与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。

或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。

异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。

不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。

反码:~;对二进制进行取反。


注:最有效的2*8的运算:2<<3;

6.三元运算符

例:z=(x>y)?x:y;其中,当x>y结果为true时,z=x;当x>y结果为false时,z=y;
格式:(条件表达式)?表达式1:表达式2;





0 0
原创粉丝点击