黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)

时间:2023-02-19 09:37:47

                                                              -------android培训java培训、期待与您交流! ----------


要掌握并熟练应用Java语言,需要对Java的语法基础进行充分的了解,其基础的语法有:关键字、标识符、基础数据类型、常量和变量、运算符、语句、函数和数组等,作为java的语法基础,上述的都要牢牢掌握。


一、关键字

关键字定义:被Java语言赋予了特殊含义的单词。

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

(1)用于定义数据类型的关键字:

基本数据类型:

数值型:整数类型(byte、short、int、long),浮点类型(float、double)

字符型:char、转义字符(\n、\t、\f等)

布尔型:boolean(true、flase)

引用数据类型:

class(类)、interface(接口)

(2)用于定义数据类型值的关键字:

true(真)、flase(假)、null(空)

(3)用于定义循环流程的关键字:

判断流程:if(如果)、else(否则)、switch、case(分支)、default(默认)

循环流程:for(条件循环)、while(条件判断)、do(执行)、continue(继续循环)、break(跳出)、return(返回)


关键字的定义和特点
定义:被Java语言赋予了特殊含义的单词特点:关键字中所有字母都为小写
用于定义数据类型的关键字
class interface byte short int
long float double char boolean
void

 

 

 

 

用于定义数据类型值的关键字
true false null

 

 

用于定义流程控制的关键字
if else switch case default
while do for break continue
return

 

 

 

 



(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(断言,用于程序不准备通过捕获异常来处理的错误

用于定义访问权限修饰符的关键字
private protected public

 

 

用于定义类,函数,变量修饰符的关键字
abstract final static synchronized

 

用于定义类与类之间关系的关键字
extends implements

 

 

 

用于定义建立实例及引用实例,判断实例的关键字
new this super instanceof

 

用于异常处理的关键字
try catch finally throw throws
用于包的关键字
package import

 

 

 

其他修饰符关键字
native strictfp transient volatile assert


二、标识符

在程序中自定义的一些名称。由26个英文字母大小写,数字:0-9 符号:_ $ 组成定义合法标识符规则:1,数字不可以开头。2,不可以使用关键字。Java中严格区分大小写。注意:在起名字的时,为了提高阅读性,要尽量有意义。
Java中的名称规范:包名:多单词组成时所有字母都小写。           xxxyyyzzz类名接口名:多单词组成时,所有单词的首字母大写。           XxxYyyZzz变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。           xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接。           XXX_YYY_ZZZ

三、注释

用于注解说明解释程序的文字就是注释。提高了代码的阅读性。

Java中的注释格式:单行注释格式: //注释文字多行注释格式: /*  注释文字  */文档注释格式:/** 注释文字 */ 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。注释是一个程序员必须要具有的良好编程习惯。初学者编写程序可以养成习惯先写注释写代码。将自己的思想通过注释先整理出来,在用代码去体现,因为代码仅仅是思想的一种体现形式而已。
四、常量与变量

(1)常量表示不能改变的数值。           Java中常量的分类:                    1.整数常量:所有整数                   2.小数常量:所有小数                   3.布尔型常量:较为特有,只有两个数值。true、 false。                   4.字符常量:将一个数字字母或者符号用单引号( ' ' )标识。                   5.字符串常量:将一个或者多个字符用双引号标识。                   6.null常量:只有一个数值就是:null.         对于整数:java有三种表现形式。                 十进制:0-9 ,满10进1.                 八进制:0-7 ,满8进1. 用0开头表示。                 十六进制:0-9,A-F,满16进1. 用0x开头表示。                 进制的基本转换:                 十进制  二进制 互转                               十进制转成二进制  除以2取余数                               二进制转成十进制  乘以2的幂数                 十进制 八进制 互转                 十进制 十六进制 互转                               负数的二进制表现形式                               对应的正数二进制取反加1
(2)变量的概念:                   内存中的一个存储区域                   该区域有自己的名称(变量名)和类型(数据类型)                   该区域的数据可以在同一类型范围内不断变化         为什么要定义变量:                   用来不断的存放同一类型的常量,并可以重复使用         使用变量注意:                   变量的作用范围(一对{}之间有效)                   初始化值                   定义变量的格式:                           数据类型    变量名  =  初始化值;                           注:格式是固定的,记住格式,以不变应万变。                           理解:变量就如同数学中的未知数。
(3)Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)
黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)
整数默认:int    小数默认:double自动类型转换(也叫隐式类型转换) 强制类型转换(也叫显式类型转换)什么时候要用强制类型转换?
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b
表达式的数据类型自动提升:
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
所有的byte型、short型和char的值将被提升到int型。如果一个操作数是long型,计算结果就是long型;如果一个操作数是float型,计算结果就是float型;如果一个操作数是double型,计算结果就是double型。

五、运算符
(1)算术运算符如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。“+”除字符串相加功能外,还能把非字符串转换成字符串 。黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)

(2)赋值运算符符号:= , +=, -=, *=, /=, %=示例:int a,b,c;  a=b=c =3;int a = 3;   a+=5;等同运算a=a+5;
(3)比较运算符比较运算符的结果都是boolean型,也就是要么是true,要么是false。比较运算符“==”不能误写成“=” 。黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)

(4)逻辑运算符逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。&&&的区别单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
黑马程序员_java语法基础【1】(关键字,标识符,注释,常量与变量,运算符)
(5)位运算符位运算是直接对二进制进行运算。
位运算符
运算符 运算 范例
<< 左移 3 << 2 = 12 --> 3*2*2=12
>> 右移 3 >> 1 = 1  --> 3/2=1
>>> 无符号右移 3 >>> 1 = 1 --> 3/2=1
& 与运算 6 & 3 = 2
| 或运算 6 | 3 = 7
^ 异或运算 6 ^ 3 = 5
~ 反码 ~6 = -7

位运算符的细节
<< 空位补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

(6)三元运算符
格式:(条件表达式)?表达式1:表达式2;如果条件为true,运算后的结果是表达式1;如果条件为false,运算后的结果是表达式2;示例:获取两个数中大数。int x=3,y=4,z;z = (x>y)?x:y;//z变量存储的就是两个数的大数。