java笔记(四)-------基本语法

一、注释

java注释是用于注解说明解释程序的文字。可分为三类:单行注释、多行注释、文档注释(java特有)。对于单行注释和多行注释,被注释的内容不会被JVM(java虚拟机)解释执行。而文档注释,其注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。操作命令如下:

javadoc -d mydoc -author -version HelloWorld.java

注意:一个源文件中最多只能有一个public类。其他类的个数不限。如果源文件中包含一个public类,则源文件名必须按照该public类名来命名。比如:

class Something{
    public static void main(String[] args){
        System.out.println("Do something ...");
    }
}

因为class类没有使用public进行修饰,故此源文件的名称可以是Something.java,也可以是其他,如Otherthing.java。但如果class前面有public字段修饰,则该源文件的名称则必须与类名相同,即只能为Something.java。

 

二、关键字和保留字

关键字:被java语言赋予了特殊含义,用作专门用途的字符串(单词),其主要特点是关键字中所有字母都为小写。

在官方地址(https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html)中,可以看到所有的关键字。

 

用于定义数据类型的关键字
classinterfaceenumbyteshortintlongfloatdoublechar
booleanvoid        
用于定义流程控制的关键字
ifelseswitchcasedefaultwhiledoforbreakcontinue
return         
用于定义访问权限修饰符的关键字
publicprotectedprivate       
用于定义类、函数、变相修饰符的关键字
abstractfinalstaticsynchronized      
用于定义类与类之间关系的关键字
extendsimplements        
用于定义建立实例及引用实例,判断实例的关键字
newthissuperinstanceof      
用于异常处理的关键字
trycatchfinallythrowthrows     
用于包的关键字
packageimport        
用于定义数据类型值的字面值
truefalsenull       
其他关键字
nativestrictfptransientvalitileassert     

保留字:现有java版本未使用,但以后版本可能会最为关键字。包括goto、const。

关键字和保留字共计50个,其中,true、false和null看起来像关键字,但它们实际上是文本;不能在程序中将它们用作标识符。

 

三、标识符(Identifier)

标识符:java对各种变量、方法和类等要素命名时使用的字符序列。

标识符定义规则:①由26个英文字母大小写,0-9,_或者$组成;②数字不可以开头;③不可以使用关键字和保留字,但能包含关键字和保留字;④严格区分大小写,长度无限制;⑤不能包含空格。

名称命名规范:①包名(多单词组成时所有字母都小写);②类名、接口名(多单词组成时,所有单词的首字母大写);③变量名、方法名(多单词组成时,第一个单词首字母小写,其他单词首字母大写);④常量名(所有字母大写,多单词时每个单词用下划线连接)。

注意:java采用unicode字符集,因此标识符也可以使用汉字声明,但不建议使用。

 

四、变量

变量是内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化。变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值。其主要作用是用于在内存中保存数据。

变量按照数据类型分类,可分为基本数据类型和引用数据类型。其中,基本数据类型包括数值型(byte、short、int、long、float、double)、字符型(char)和布尔型(boolean),引用数据类型包括类(class)、接口(interface)和数组([ ])。

按照声明的位置不同,可分为成员变量和局部变量。成员变量包括实例变量(不以static修饰)和类变量(以static修饰),局部变量包括形参(方法、构造器中定义的变量)、方法局部变量(方法内定义)和代码块局部变量(代码块中定义)。

java的整型变量默认为int类型,浮点型默认为double类型。

类型占用存储空间范围
byte1字节=8bit位-128 ~ 127
short2字节-2^15 ~2^15 -1
int4字节-2^31 ~ 2^31 -1 (约21亿)
long8字节-2^63 ~ 2^63 -1
float4字节-3.403E38 ~ 3.403E38
double8字节-1.798E308 ~ 1.798E308

char类型数据占用2个字节,使用单引号进行定义,可以进行运算,因为它由对应的Unicode码。

boolean类型用来判断逻辑条件,一般用于流程控制,只允许取值true和false,也不可以使用0或非0整数替代false和true。

 

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按照容量大小排序为:

转换规则:①有多种类型的数据混合运算时,系统首先自动将所有数据转换为容量最大的那种数据类型,然后进行计算;②byte、short、char之间不会进行相互转换,他们三者在计算时首先转换为int类型;③boolean类型不能与其它数据类型运算,也不能转换为其他数据类型;④当把任何基本数据类型的值和字符串进行连接运算时(+),基本数据类型的值将自动转化为字符串类型;④通常情况下,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以把字符串转换为基本类型。

强制类型转换:自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符,但可能造成精度降低或溢出。

 

五、运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。可分为算术运算符、赋值运算符、比较运算符(关系运算符)、逻辑运算符、位运算符、三元运算符等。

算术运算符:+(正号)、-(负号)、+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、++(自增)、--(自减)、+(字符串连接)。

赋值运算符:=(赋值)、+=、-=、*=、/=、%=。

比较运算符:==(相等于)、!=(不等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、instanceof(检查是否是类的对象)。

逻辑运算符:&(逻辑与)、|(逻辑或)、!(逻辑非)、&&(短路与)、||(短路或)、^(逻辑异或)。

位运算符:<<(左移)、>>(右移)、>>>(无符号右移)、&(与运算)、|(或运算)、^(异或运算)、~(取反运算)。

三元运算符:(条件表达式)?表达式1:表达式2;

                                                                       逻辑运算符细节

                                                                                           位运算符细节

运算符的优先级:

 

注意:1、使用算术运算符,如果对负数取模,则可以把模数负号忽略不计,但被模数是负数时则不可忽略。

2、使用赋值运算符“=”时,当两侧数据类型不一致时,可以使用自动类型转换或强制类型转换进行处理。

3、逻辑运算符中使用单“&”时,左边无论真假,右边都参与运算;使用双“&&”时,左边为真,右边参与运算,左边为假,右边不参与运算,单“|”和双“||”使用情况相同。

4、位运算符是直接对整数的二进制进行的运算。

5、三元运算符中表达式1和表达式2为同种类型。

6、所有运算符中,只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

 

六、流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合能完成一定功能的小逻辑模块。基本的流程结构分为三种:顺序结构、分支结构和循环结构。

顺序结构:程序从上到下逐行的执行,中间没有任何判断和跳转。

 

分支结构:根据条件,选择性的执行某段代码。有if...else和switch-case两种分支语句。

if语句有如下三种格式:

switch-case结构:

switch语句有关规则:

1、switch表达式中的值必须是以下几种类型之一:byte、short、char、int、枚举(jdk5.0)、String(jdk7.0);

2、case子句中的值必须是常量,不能是变量名或不确定的表达式值;

3、同一个switch语句,所有case子句中的常量值互不相同;

4、break语句用来在执行完一个case分支后是程序跳出switch语句块,如果没有break,程序会顺序执行到switch结尾;

5、default子句是可任选的。同时,位置也是灵活的。当没有匹配的case子句时,执行default子句。

 

循环结构:根据循环条件,重复性的执行某段代码。有while、do...while、for三种循环语句。JDK1.5提供了增强for循环,即foreach循环,方便便利集合、数组元素。

循环语句有四个组成部分:初始化部分、循环条件部分、循环体部分、迭代部分。

 

在流程控制中,有两个特殊的流程控制语句,即break和continue。break语句用来终止某个语句块的执行,continue用于跳过本次循环,开启下一次循环。java中常见的return语句并非用于结束循环的,它的功能是结束整个方法,不论这个return处于多少层循环之内。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值