黑马程序员 JavaSE-02 Java基础语法1:基本概念

时间:2022-08-27 10:11:48

Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

Java基础语法1:基本概念

1、关键字

(1)关键字概述
被Java语言赋予特定含义的单词
(2)关键字特点
组成关键字的字母全部小写
(3)关键字注意事项
goto和const作为保留字存在,目前并不使用
(4)关键字列表
定义数据类型 byte, short, int, long, float, double, char, boolean, void, class, interface, void
定义数据类型值 true, false, null
定义流程控制 if, else, switch, case, default, while, do, for, break, continue, return
定义访问权限修饰符 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

2、标识符

(1)标识符概述
就是给类,接口,方法,变量等起名字时使用的字符序列
(2)组成规则
英文大小写字母、数字字符、$和_
(3)注意事项
不能以数字开头、不能是Java中的关键字、区分大小写

3、注释

(1)注释概述
用于解释说明程序的文字
(2)Java中注释分类格式
单行注释 格式: //注释文字
多行注释 格式: /* 注释文字 */
文档注释 格式:/* 注释文字 /

4、常量

(1)常量概述
在程序执行的过程中其值不可以发生改变
(2)Java中常量分类
字面值常量
自定义常量

5、进制和进制转换

(1)进制概述
进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制–X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
(2)Java针对整数常量提供了4种表现形式
二进制、八进制、十进制、十六进制
(3)不同进制的数据组成
二进制 由0,1组成。以0b开头
八进制 由0,1,…7组成。以0开头
十进制 由0,1,…9组成。整数默认是十进制的
十六进制 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

(5)有符号数据表示法
在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
原码—-就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码—-正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码—-正数的补码与其原码相同;负数的补码是在其反码的末位加1。

6、变量

(1)变量概述
在程序执行的过程中,在某个范围内其值可以发生改变的量
理解:如同数学中的未知数
(2)变量定义格式
数据类型 变量名 = 初始化值;

7、数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。
(1)java数据类型结构图
黑马程序员 JavaSE-02 Java基础语法1:基本概念
(2)不同数据类型占用字节数及取值范围

类型 占用字节数 数据表示范围
byte 1 -128~127
short 2 -2E15~2E15-1
int 4 -2E31~2E31-1
byte 1 -128~127
short 2 -2E15~2E15-1
int 4 -2E31~2E31-1
long 8 -2E63~2E63-1
float 4 -3.403E38~3.403E38
double 8 -1.798E308~1.798E308

(3)注意细节:
- 整数默认int,小数默认double
- 长整数要加L或者l
- 单精度的浮点数要加F或者f

8、类型转换

(1)boolean类型不参与转换
(2)默认转换
A:从小到大
B:byte,short,char – int – long – float – double
C:byte,short,char之间不相互转换,直接转成int类型参与运算。
(3)强制转换
A:从大到小
B:可能会有精度的损失,一般不建议这样使用。
C:格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);

9、运算符

(1)算术运算符: +、-、、/、%、++、- -*

+的用法: a: 加法 b: 正号 c: 字符串连接符
/与% 的区别: /取商,%取余数
++和–的用法: 他们的作用是自增或自减
- 单独使用时,放在操作数据的前面和后面效果是一样的;a++和++a是一样的。
- 参与操作使用,放在操作数的前面:先自增或自减,再参与操作
int a = 10;
int b = ++a; //a=11,b=11
- 放在操作后面时,先参与操作,再 自增或自荐
int a = 10;
int b = a++; //a=11,b=10

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

=叫做赋值运算符,也是最基本的赋值运算符
+=等 称为扩展的赋值运算符,隐含了自动强制转换。例如:x +=1 等价于 x=(x的数据类型)(x+1)

(3)比较运算符 ==、!=、>、<、>=、<+

运算符两端的结果必须是boolean类型,千万不要把==写成=

(4)逻辑运算符

&:与,有false则false
|: 或,有true则true
!: 非
&&:结果和&一样,只不过有短路效果。左边是false,右边不执行
||:结果和|一样,只不过有短路效果。左边是true,右边不执行。
^: 异或,相同则false,不同则true(情侣关系,男男、女女false,男女 女男true)

(5)位运算符

<<: 左移 左边最高位丢弃,右边补齐0;x<< y等价于x*2^y;
>>: 右移 最高位是0,左边补齐0;最高为是1,左边补齐1;x>>y等价于x/2^y;
>>>:无符号右移 无论最高位是0还是1,左边补齐0
^的特殊用法:一个数据针对另一个数据【位异或】两次,概述不变 a^b^b=a;

举例:实现a,b互换:
a=a^b;
b=a^b; //b=a
a=a^b; //a=(a^b)^a=b

(6)三目运算符

格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;