2019-12-29

                                    javaSE

java程序结构


Java源程序一般由一个或多个编译单元组成,每个编译单元只能包含以下内容(空格和注释除外):package语句、import语句、类声明、接口声明

package语句:Java可最多只有一行package语句,若有该语句则必须是源程序的第一行语句(注释语句除外)

import语句:Java可有零个或多个import语句,这类语句必须位于所有类定义之前,当源程序使用了除java.lang包以外的类时,无论是系统类还是自己定义包中的类,都必须用import语句引入,以通知编译器在编译时找到相应的类文件

类定义:定义1个或者多个类定义。

接口(interface)定义:定义0个或者多个接口。


1、package语句:Java可最多只有一行package语句,若有该语句则必须是源程序的第一行语句(注释语句除外)

2、import语句:Java可有零个或多个import语句,这类语句必须位于所有类定义之前,当源程序使用了除java.lang包以外的类时,无论是系统类还是自己定义包中的类,都必须用import语句引入,以通知编译器在编译时找到相应的类文件

3、类定义:定义1个或者多个类定义。

4、接口(interface)定义:定义0个或者多个接口。


Java关键字

概念

Java关键字是字符序列,在Java中具有特定含义和用途,不能用作其他用途


关键字列表

关键字列表

Java注释

//     注释一行

/*  */       表示一行或多行注释

/** **/           表示文档注释


Java标识符


Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字

标识符中的字母是区分大小写的


命名规则

1、标识符尽量采用有意义的字符序列,便于从标识符识别出所代表的基本含义,即顾名思义

2、包名:包名是全小写的名词,中间可以由点分隔开,例如java.awt.event.

3、类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如HelloWorldApp。

4、接口名:命名规则与类名相同,例如Collection。

5、方法名:往往由多个单词合成,第一个单词通常为动词且首字母为小写,其他每个单词的首字母都要大写,例如:balanceAccount和isButtonPressed。

6、变量名:全小写,一般为名词,例如使用area表示面积变量,length表示长度变量等。

7、常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如YEAR和MAX_VALUE;如果是对象类型的常量,则是大小写混合,由大写字母打单词隔开。

8、对常量和方法而言,其名称不宜以“_”(下划线)和“$”为第一个字符,因为这两个字符对于内部有特殊含义。


基本数据类型

基本数据类型(也称作简单数据类型)

逻辑类型    boolean

字符类型    char

整数类型    int、byte、short、long

实数类型    double和float


复合数据类型    包括数组、类、和接口


基本数据类型转换

规则一

当把精度低的变量的值赋给精度高的变量时,系统自动完成数据类型的转换

规则二

当把精度高的变量的值赋给精度低的变量时,必须使用显示类型转换运算

规则三

char与byte或short之间的赋值必须实行强制转换


注意

(1)强制转换运算可能导致精度的损失。当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围

(2)布尔类型不允许进行任何数据类型转换

(3)对于引用数据类型,类型转换只存在于有继承关系的类中


运算符和表达式

1、Java算数运算符

主要包括一元运算(如+,-,++及--)和二元运算(如+,-,*,/及%),与c/c++基本相同


注意

(1)%运算符不但可以对整型数据进行运算,还可以对浮点型数据进行运算,例如:3.6%2.5的值等于1.1。这点在C/C++中是不允许的

(2)+即可用于数值型数据运算,还可用于字符串的连接。

(3)++X,--X:表示在使用x之前,先使x的值加(减)1,即“先运算后使用”

(4)x++,x--:表示在使用x之后,使x的值加(减)1,即“先使用后运算”


2、关系运算符与关系表达式

Java关系运算符用来比较两个值得关系,关系运算符的运算结果是boolean型数据,当运算符对应的关系成立时,运算结果是ture,否则是false。


运算符:<,<=,>,>=,=,!=


3、逻辑运算符合逻辑表达式

逻辑运算用来实现boolean型数据的逻辑“与”(&&)、或(||)和“非”(!)运算,运算结果是boolean型数据。


4、赋值运算符与复制表达式

(1)赋值运算符

格式:变量=表达式

作用:将一个表达式的值赋值给一个变量

(2)复合赋值运算符

常见的运算符有+=,-=、*=、/=及%=

(3)赋值表达式

形式:<变量><赋值运算符><表达式>


5、位运算符

&:二元运算,逻辑以,参与运算的两个操作数,如果两个相应位都为1(或true),则该为的结果为1(或true),否则为0(或false)


|:二元运算,逻辑或,参与运算的两个操作数,如果两个相应位有一个为1(或true),则该位的结果为1(或true),否则为0(或false)


^:二元运算,逻辑异或,参与运算的两个操作数,如果两个相应位的值想反,则该位的结果为1(或true),否则为0(或false)


~:一元运算,对数据的每个二进制位按位取反

<<:二元运算,操作数op1按位左移op2位,每左移一位,其数值加倍

>>:二元运算,操作数op1按位右移op2位,每右移一位,其数值加倍

>>>:二元运算,操作数op1按位右移op2位,正整数运算与>>同,负整数则求该数的反码,但符号位不变


对于byte或short型数据,a<<n的运算结果是int型精度。当进行a<<2运算时,计算系统首先将a升级为int型数据,对于正数将高位用0填充,负值用1填充,然后再进行位移运算


6、条件运算符

符号是"?  :”

用法:op1?op2:op3

要求:第一个操作元op1的值必须是boolean型数据,op2和op3必须同类型


Java语句

1、概述

(1)方法调用语句

对象可以调用类中的方法产生行为


(2)表达式语句

一个表达式的最后加上一个分号就构成了一个语句,称作表达式语句。分号是语句不可缺少的部分


(3)复合语句

可以用{}把一些语句括起来构成复合语句,一个复合语句也称作一个语句块


(4)控制语句

控制语句包括条件分支语句、循环语句、跳转语句


(5)package语句和import语句


(5)package语句和import语句与类和对象有关


2、分支语句

(1)条件分支语句

if~else语句

格式:if(条件表达式){若干语句}else{若干语句}


注意:

条件表达式左右两边括号不能省略,否则编译时会出错

条件表达式中双等于(==)不能省略为单等于(=)

条件表达式的值必须是boolean型,这点和c语言是有差异的


多条件if~else  if·else语句

格式:if(表达式1){若干语句}      else if(表达式2){若干语句}  ...  else if(表达式n){若干语句}else{  若干语句  }


switch开关语句

格式:switch(表达式){  case 常量值1:  若干语句  break;        case 常量值2 :  若干语句  break;    ....    case 常量值 n:  若干语句  break;  default:  若干语句  }


3、循环语句

(1)、循环语句

while循环

格式:while(表达式){若干语句}


do while循环

格式:do{若干语句}  while(表达式)


for循环

格式:for(表达式1;表达式2;表达式3;){若干语句} 

表达式2必须是一个求值为boolean型数据的表达式


4、跳转语句

包括break语句、continue语句和return语句

(1)break语句

作用

在switch语句中,break语句用来终止switch语句的执行,使程序从switch语句后的第一个语句开始执行。

跳出所指定的循环,并从紧跟该循环的第一条语句处执行

跳出做指定的代码块,并从紧跟该代码块的第一个语句执行


(2)continue语句

与break语句的比较

相同点

都可用在循环中,用于流程控制

执行这两个语句时,若后面还有其他语句,将不再继续执行


不同点

continue语句的标号必须位于封闭的循环语句的前面

break语句的标号只需位于封闭语句块的前面,但不一定定是循环语句



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容