• Java 基本语法


    关键字和保留字

    关键字

    在编程语言中有一些事先定义的,有着特殊含义和用途的单词。

    保留字

    和关键字一样都是编程语言事先定义好的,只是说现在暂时没有特殊的用途,但说不定以后某天会突然被赋予意义和被使用到。因此被保留下来的单词,goto和const就是Java的保留字。

    标识符

    在程序中自定义的一些名称。它是由26个字母大小写,数字:0-9,符号 _ $ 组成

    规定:

    • 不能以数字开头
    • 不可以使用关键字
    • 见名知义

    注释

    注解,解析用于注解说明解释程序的文字

    注解的作用:

    • 注解可以帮我们解释说明一些代码
    • 也可以帮我们缩小错误范围,用于排错

    Java的注释信息是给程序员看的,编译器(javac)在编译的时候会忽略掉源文件中的注释信息。
    为此,Java提供3种注释类型:

    ① 单行注释;         //
    ② 多行注释;         /*  */
    ③ 文档注释;        /** */
    

    注意问题

    • 单行注释能嵌套单行注释,可以嵌套多行注释
    • 多行注释当中不能嵌套多行注释,多行注释当中可以嵌套单行注释

    分隔符

    Java语言分隔符:

    • 分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
    • 花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
    • 方括号([]):定义数组和访问数组元素时使用。
    • 圆括号(()):使用很广泛,具体用到细讲。
    • 圆点(.):类和对象访问它的成员时使用。
    • 空格( ):把一整条语句分割成几段,空格的次数不限制,好比一句英文里单词都要分开写一样。

    注意:必须都是半角下的英文符号。

    常量与变量

    常量

    什么是常量

    程序中固定不变化的值。定义了就不能再去修改。比如:整数常量1,2,3;小数常量3.14;布尔常量false,true等。

    常量分类

    • 整数常量
    • 小数常量
    • 布尔型常量
    • 字符常量
    • 字符串常量
    • null常量

    整数常量的表现形式

    • 二制制
    • 八进制
    • 十进制
    • 十六进制

    变量

    什么是变量

    其值可以发生改变的量, 定义完毕后可以指代某一事物

    变量的定义:

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

    表示存储空间,可用来存放某一类型的常量,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。

    变量的特点:

    ① 占据着内存中的某一块存储区域;
    ② 该区域有自己的名称(变量名)和类型(数据类型);
    ③ 可以被重复使用;
    ④ 该区域的数据可以在同一类型范围内不断变化;

    使用变量的时候要注意的问题

    A:作用域

    • 变量定义在哪个大括号内,它就在这个大括号内有效。
    • 并且,在同一个大括号内不能同时定义同名的变量。

    B:初始化值

    • 没有初始化值的变量不能直接使用。
    • 你只要在使用前给值就行,不一定非要在定义的时候立即给值。
    • 推荐在定义的时候给值。

    定义变量的格式:

    (1)数据类型 变量名 = 初始化值;
    (2)数据类型 变量名; 变量名 = 初始化值;

    C:在一行上建议只定义一个变量

    可以定义多个,但是不建议

    表达式

    表达式(expression) 是由数字、运算符、数字分组符号(括号)、常量、变量等以能求得结果的有意义排列的组合。

    用运算符号连接的变量/常量可称为表达式。那么也就是说表达式是由常量、变量、运算符、括号组成能求得值的有意义结果的语句。

    如:
    a + b
    3.14 + a
    (x + y) * z + 100

    表达式中操作数进行运算得到的最终结果就是表达式的结果。
    表达式的运算顺序(大多和数学一样,参照后面的运算符操作优先级):

    进制

    什么是进制

    进制也就是进位制,是人们规定的一种进位方法。
    对于任何一种进制(x进制),就表示某一位置上的数运算时是逢x个值进一位。
    十进制是逢十进一,
    十六进制是逢十六进一,
    二进制就是逢二进一,
    以此类推,x进制就是逢x进位。

    二进制/八进制/十进制/十六进制

    • 二进制
      由两个基本数字0,1组成,运算规律是逢二进一。计算机都使用二进制表示数据.

    • 八进制
      由0、1、2、3、4、5、6、7组成,运算规律是逢八进一.

    • 十进制
      由0,1,2、3、4、5、6、7、8、9组成.

    • 十六进制
      由0~9以及A,B,C,D,E,F组成

    二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。

    位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte)

    数据类型

    什么是数据类型

    数据类型:Java是一种强类型的语言,针对每一种数据都定义了明确的数据类型分类。

    注意:

    • 整数默认是int类型
    • 浮点数默认是double类型。
    • 长整型后缀用L或者l标记。建议使用L。
    • 单精度浮点数用F或者f标记。建议使用F。

    基本数据类型

    boolean类型

    • boolean类型:通常用于逻辑运算和程序流程控制(条件选择/循环)。
    • 该类型的值只能是true 或 false,表示真或假。
    • 不可以使用0或非0的整数来代替false和true,区分于C语言。
    • (其实在JVM中对boolean的处理也是用0表示false,非0表示true的。)
    • false和true是boolean的常量。

    整数类型

    byte、short、int、long类型:
    整型常量的四种表示形式:

    ① 二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B110;
    ② 八进制整数:要求以0开头,如 int a = 012;
    ③ 十进制整数:如:int a = 17;
    ④ 十六进制整数:要求0X或0x开头,如int a = 0x12;

    Java语言的整型常量默认是int型,声明long型变量后加上‘l’或‘L,因小写的l容易和数字1相混淆,建议使用大写L。
    默认情况下,一个整型的字面量默认是int类型.

    小数类型

    float、double类型:
    表示小数类型又称为浮点类型
    其中float表示单精度类型,double表示双精度类型,但是二者都不能表示精确的小数。
    J
    ava的浮点类型常量有两种表现形式:
    十进制形式: 例如:3.14 ,168.0, .618
    科学计数法形式: 例如:3.14e2, 3.14E2, 1000E-2
    科学计数法表达式返回的结果是double类型。

    默认情况下,一个浮点类型的字面量默认是double类型。若要声明一个常量为float型,则需在常量后加上f 或 F,double常量后面的D或d可省略。

    注意:Java里只有浮点型的变量才可以接受科学计算式结果。

    字符类型

    16位无符号小数(ASCII表)
    使用一个数字去表示一个特定的字符

    引用数据类型

    除了8种基本数据类型,其他所有类型都是引用数据类型,包括类、接口、数组。引用数据类型默认初始值都是null。

    String是一个类,表示字符串,所谓字符串,就是一串字符,也就是N个字符连接在一起(N可以表示0或多个)
    字符串都得使用 "" 括起来的,连接字符串使用 “+”符号。

    字符串拼接:字符串和任意数据类型相连接,结果都是字符串类型。

    类型转换

    不能直接把大的数据类型复制给小的数据类型。

    自动类型转换

    当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升

    其规则是:所有的byte、short、char类型被自动提升到int类型;

    强制类型转换

    运算两端数据类型必须得要一致

    强制转换:从大的数据类型到小的数据类型。

    格式: 目标数据类型 变量 = (目标数据类型) (被转换的数据);

    注意: 不要随意的去使用强制转换,因为它隐含了精度损失问题。

    总结

    运算符

    算术运行符

    (+、-、*、/、%、++、--)

    用来处理四则运算的符号。

    加号:在操作数值、字符、字符串时其结果是不同的。

    • 当两个数值相加得到的是数值相加的结果。
    • 当两个字符相加得到的是ASCII码表值。
    • 当两个字符串相加时表示将两个字符串连接在一起,从而组成新的字符串。

    减号:在操作数值、字符时其结果是不同的。

    • 当两个数值相减得到的是数值相减的结果。
    • 当两个字符相减得到的是ASCII码表值。

    除号

    • 整数在使用除号操作时,得到的结果仍为整数(小数部分忽略)
    • 当整数除以0的时候,会引发算术异常。
    • 当一个正浮点类型数除以0时,或者正整数除以0.0时,会得到 正无穷大(Infinity)
    • 当一个负浮点类型数除以0时,或者负整数除以0.0时,会得到 负无穷大(-Infinity)
    • 当0.0除以0.0时, 会得到 NaN(Not a Number)

    取模(求余数):模数的符号忽略不计,结果的正负取决于被模数。

    注意:无穷大和NaN都属于double浮点类型,但是所有正无穷大都是相等的,所有负无穷大也是相等的,NaN永远不相等,也不等于自己。

    ++和--详解:

    • 都只能操作变量,不能操作常量。
    • ++: 表示当前操作变量自己累加1。
    • -- : 表示当前操作变量自己减去1。

    自增:++,递增操作符,使变量值增加1,有前置和后置之分,只能操作变量。
    自减: -- ,递减操作符,使变量值减去1,有前置和后置之分,只能操作变量。
    自增和自减具体操作是一样的,仅仅是一个是加1,一个是减1而已,现在单讲++:
    代码 result++ 和 ++result,都将使result变量的值加1。
    唯一的区别是:
    前置(++result): 表示对result加1之后的结果进行运算,
    后置(result++): 表示对result变量加1之前的值(原始值)进行运算。
    如果仅仅执行简单的递增操作(只写result++或++result),那么选用任意一个都可以。

    赋值运行符

    (=、+=、-=、*=、/=、%=)

    专门为变量指定值或重新指定值。

    注意Java支持同时给多个变量赋值,好比支持同时声明多个变量一样,但因影响代码可读性,故也不推荐。
    加等于:x += 5; 相当于 x = x + 5,但还包括隐式类型转换。

    比较运行符

    (==、!=、>、<、>=、<=)

    用于比较两个变量或常量之间的关系,比较运算符的结果是boolean类型。其操作格式为:
    boolean result = 表达式A 比较运算符 表达式B;

    ==:等于

    • 若比较的是两个操作数都是数值类型,即使他们的类型不同,只要值相同就返回true。
    • 基本数据类型比较的是值,引用数据类型比较的是地址值。

    三元运行符

    三元运算符,表示有三个元素参与的表达式,所以又称为三目运算符,其语义表示 if-else。
    语法格式:X ? Y :Z, 其中x为boolean类型表达式,先计算X的值,若X结果为true则整个三目运算表达式的结果是Y,否则就是Z。三目运算符结果的类型由Y和Z决定。

    逻辑运算符

    与(&)、或(|)、非(!)、异或(^)、短路与(&&)、短路或(||)

    语法格式为:boolean result = 表达式A 逻辑运算符 表达式B;

    逻辑运算符 说明
    & 表示并且,当操作数A和B都为true结果才为true,否则结果是false。
    && 和&结果相同,具有短路效果,如果左边操作数A是false,结果一定为false,且不运行B的运算。
    | 表示或者,A和B都为false结果为false,只要有A或B是true,结果就是true。
    || 和|结果相同,具有短路效果,如果左边操作数A是true,结果一定为true,且不运行B的运算。
    ^ 判断A和B是否不同,不同则为true,相同则为false。
    ! 取反,!true结果是false,!fasle结果是true。

    运算符的优先级

  • 相关阅读:
    ASP.NET的内置对象 —— Response 对象
    dd命令测试硬盘IO
    Linux netstat命令详解
    tpcc-mysql安装、使用、结果解读
    【MySQL案例】error.log的Warning:If a crash happens thisconfiguration does not guarantee that the relay lo(转)
    mysql5.6主从
    无法远程访问Mysql
    pythonMD5加密
    python随机验证码函数
    log buffer space事件(转)
  • 原文地址:https://www.cnblogs.com/xzh0717/p/10886259.html
Copyright © 2020-2023  润新知