0


JavaSE基本语法(上),你确定都懂了吗?

JavaSE基本语法(上)

前言

本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!


一、“标识符”的使用

1. 概念

标识符:凡是自己可以起名字的地方都叫标识符
比如:类名,变量名,方法名,接口名,包名……

2. 标识符的命名规则(不遵守则编译不通过)

(1) 由26个英文字母大小写,0-9,_或$组成。
(2) 数字不可以开头。
(3) 不可以使用关键字和保留字,但能包含关键字和保留字。
(4) Java中严格区分大小写,长度无限制。
(5) 标识符不能包含空格。

3. 标识符的命名规范(建议遵守)

(1)包名:多单词组成时所有字母都小写:

xxxyyyzz


(2)类名,接口名:多单词组成时,所有单词的首字母大写:

XxxYyyZzz


(3)变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:

xxxYyyZzz


(4)常量名:所有字母都大写,多单词时每个单词用下划线连接:

XXX_YYY_ZZZ

;
(5)在起名字时,要做到“见名知意”;
(6)Java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用;

二、“变量”的使用

1. 语法格式

声明变量
语法:<数据类型> <变量名称>
例如:

int var;

变量的赋值
语法:<变量名称> = <值>
例如:

var = 10;

声明和赋值变量
语法: <数据类型> <变量名> = <初始化值>
例如:

int var = 10;

2. 注意事项

(1) Java中的每个变量必须先声明后使用;
(2) 使用变量名来访问这块区域的数据;
(3) 变量的作用域:其定义所在的一对{ }内;
(4) 变量只有在其作用域内才有效;
(5) 同一个作用域内,不能定义重名的变量;

2. 变量分类

⭕ 按数据类型的不同分类
(1)基本数据类型:

整型

byte

\

short

\

int

\

long

浮点型

float

\

double

字符型

char

布尔型

boolean

(2)引用数据类型:

类(包含字符串)(

class


接口(

interface


数组(arry)

在这里插入图片描述
⭕ 按声明的位置的不同分类

(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。

在这里插入图片描述

注意:二者在初始化值方面的异同:
同:都有生命周期
异:局部变量除形参外,需显式初始化。

3. 整型变量

(1)**

byte

**(1字节 = 8 bit)\ **

short

**(2字节)\ **

int

**(4字节)\ **

long

**(8字节);
(2)

byte

范围:-128—127;
(3)声明

long

型变量,必须以“l”或“L”结尾,如:

long x =321232323232L;

(4)通常,定义整型变量时,使用

int

型;
(5)整型常量,默认类型为

int

型;
在这里插入图片描述

4. 浮点型变量

(1) **

float

**(4字节)\ **

double

**(8字节);
(2)

float

:单精度,尾数可以精确到7位有效数字;
(3)

double

:双精度,精度是

float

的两倍;
(4)

float

表示数值的范围比

long

还大,但所占内存一致;
(5)定义

float

类型变量时,变量要以“f”或“F”结尾,如:

float f1 = 12.3F;

(6)通常,定义浮点型变量时,使用

double

型;
(7) 浮点型常量,默认类型为

double

类型;
在这里插入图片描述

5. 字符型变量

(1)**

char

**(2字节);
(2)字符常量是用单引号‘ ’括起来的单个字符,如:

char c1 = ‘a’;char c2 = ‘中’;char c3 = ‘9’;

(3)Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量,如:

char c3 = ‘\n’;

在这里插入图片描述

(4)直接使用Unicode值来表示字符型常量:‘\uXXX’,其中,XXXX代表一个十六进制整数;
(5)

char

类型是可以进行运算的,因为它都对应有Unicode码;

6. boolean型变量

(1)只能取两个值之一:

ture

false

;如:

boolean b1 = false;

(2)

boolean

类型用来判断逻辑条件,一般用于程序流程控制:

  1. if条件控制语句;
  2. while循环控制语句;
  3. do-while循环控制语句;
  4. for循环控制语句;

(3)不可以使用 0 或 非0 的整数替代

false

true

,这点和C语言不同。

(4)Java虚拟机中没有任何供

boolean

值专用的字节码指令,Java语言表达所操作的

boolean

值,在编译之后都使用java虚拟机中的

int

数据类型来代替:

true

用1表示,

false

用0表示。———《java虚拟机规范 8版》

7. 基本数据类型之间的运算规则(不包括boolean类型)

⭕ 自动类型提升

(1)有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行运算,此时的容量大小指的是数的范围的大和小,如:

float

容量大于

long

的容量;
(2)

byte,short,char

之间不会相互转换,它们三者在计算时首先转换成int类型;
(3)转换规则:

(byte,char,short)--> int --> long --> float --> double

;
在这里插入图片描述

⭕ 强制类型转换:

(1)需要使用强转符();
(2)强制类型转换,可能导致精度损失,
如:

//精度损失举例1double x =12.9;
//精度损失举例2long x =123;
short y = (short)x;//(没有精度损失)int x =128;byte y =(byte)x;//有精度损失

(3)

boolean

类型不可以转换为其它的数据类型。
(4)通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可
以实现把字符串转换成基本类型。
如:

String a = “43”; int i = Integer.parseInt(a);
//判断能否通过编译1)short s =5;
s = s-2;//判断:no2) byte b =3;
b = b +4;//判断:no
b =(byte)(b+4);//判断:yes3)char c = ‘a’;int i =5;float d =.314F;double result = c+i+d;//判断:yes4) byte b =5;short s =3;short t = s + b;//判断:no

8. String类型变量

(1)

String

属于引用数据类型,翻译为:字符串;
(2)声明

String

类型变量时,使用一对“”;
(3)

String

可以和8种基本数据类型变量做运算,且运算只能是连接运算:+;
(4)当把任何基本数据类型的值和字符串(String)进行连接运算(+)时,基本数据类型的值将自动转化为字符串(String)类型;

System.out .println(3+4+“Hello!”);//输出:7Hello!
System.out.println(“Hello!”+3+4);//输出:Hello!34
System.out.println(‘a’+1+“Hello!”);//输出:98Hello!
System.out.println(“Hello”+‘a’+1);//输出:Helloa1

三、注释(comment)

1. 概念

用于注解说明解释程序的文字就是注释。

2. 分类

Java中的注释类型:

  1. 单行注释 格式: //注释文字
  2. 多行注释 格式: /* 注释文字 */
  3. 文档注释 (java特有) 格式:/**``````@author 指定java程序的作者``````@version 指定源文件的版本``````*/

3. 注意事项

⭕ 提高了代码的阅读性;调试程序的重要方法。

⭕ 注释是一个程序员必须要具有的良好编程习惯。

⭕ 将自己的思想通过注释先整理出来,再用代码去体现。

⭕ 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

⭕多行注释里面不允许有多行注释嵌套。

⭕ 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
操作方式:在这里插入图片描述

四、 运算符

1. 概念

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

2. 分类

⭕ 算术运算符
⭕ 赋值运算符
⭕ 比较运算符(关系运算符)
⭕ 逻辑运算符
⭕ 位运算符
⭕ 三元运算符

3. 算术运算符

在这里插入图片描述
**⭕ 基本四则运算符:加减乘除模(

+ - * / %

)**

(1)

"+"、"-"、"*"、"/"、"%"

这些运算符都是二元运算符,使用时必须要有左右两个操作数。

(2)做除法(

/

)和取模(

%

)时,右操作数不能为 0 。

(3)在Java中,

"%"

不仅可以对整数取模,也可以对小数取模,当两侧操作数类型不一致时,向类型范围大的提升。

(4)

被模数 % 模数 = 结果

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。
但被模数是负数时则不可忽略,即结果的符号是正还是负,完全取决于被模数的符号,且与被模数的符号一致。 此外,取模运算的结果不一定总是整数。

System.out.println(10%3);//1
System.out.println(10%-3);//1
System.out.println(-10%3);//-1
System.out.println(-10%-3);//-1

(5)对于除号

"/"

,它的整数除和小数除是有区别的:

  1. 整数之间做除法时,结果还是整数类型,只保留整数部分而舍弃小数部分,而且会向下取整。
  2. 小数之间做除法时,结果会保留小数部分。
int x=3510;
x=x/1000*1000; 
System.out.println(x)//3000

(6)“

+

”除字符串相加功能外,还能把非字符串转换成字符串。

System.out.println(“5+5=”+5+5);//5+5=55

⭕ 增量运算符

"+= "、 "-="、 "*="、 "%="

(1)该类型运算符操作完成后,会将操纵的结果赋值给左操作数 。

(2)只有变量才能使用该运算符,常量不能使用。

int a =1;
a +=2;// 相当于 a = a + 2
System.out.println(a);// 输出3
a -=1;// 相当于 a = a - 1
System.out.println(a);// 输出2
a *=3;// 相当于 a = a * 3
System.out.println(a);// 输出6
a /=3;// 相当于 a = a / 3
System.out.println(a);// 输出2
a %=3;// 相当于 a = a % 2
System.out.println(a);//输出2

⭕ 自增/自减运算符

"++"、" --"

(1)

++

是给变量的值+1,–是给变量的值-1。

(2)该种运算符分为前置运算符(

++a

)和后置运算符(

a++


● 单独使用时,【前置++】和【后置++】没有任何区别。
● 混合使用时,
【前置++/–】先+1,然后再使用+1或-1之后的变量值。
【后置++/–】先使用变量原来的值,表达式结束时再给变量+1或-1。

(3)只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改.

4. 赋值运算符

(1) 符号:

=

(2)当“

=

”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。

(3)支持连续赋值。

5. 比较运算符

在这里插入图片描述

(1)比较运算符的结果都是

boolean

型,也就是要么是

true

,要么是

false

(2)注(开发中常犯错误):比较运算符

"=="

不能误写成

"="

(3)在Java中 = 表示赋值,在Java中 == 表示相等。 当需要多次判断时,不能连着写。比如:

3 < a < 5

,这是错误的写法。应该写作

3<a && a<5

6. 逻辑运算符

符号名称&逻辑与|逻辑或!逻辑非&&短路与||短路或^逻辑异或

(1) 逻辑运算符用于连接布尔型表达式,在Java中不可以写成

3<x<6

,应该写成

x>3 & x<6

(2)“

&

”和“

&&

”的区别:
● 单&时,左边无论真假,右边都进行运算;
● 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

(3)“

|

”和“

||

”的区别同理,||表示:当左边为真,右边不参与运算。

(4)异或(

^

)与或(

|

)的不同之处是:
当左右都为

true

时,结果为

false

。 理解:异或,追求的是“异”!

在这里插入图片描述

7. 位运算符

在这里插入图片描述

(1)位运算是直接对整数的二进制进行的运算。

在这里插入图片描述

8. 三元运算符

(1)格式:

在这里插入图片描述

(2)表达式1和表达式2必须为同种类型。

(3)表达式不能单独存在,其产生的结果必须要被使用。

(4)三元运算符与

if-else

的联系与区别:
● 三元运算符可简化

if-else

语句
● 三元运算符要求必须返回一个结果。

if

后的代码块可有多个语句

9. 运算符的优先级

(1)运算符有不同的优先级,所谓优先级就是表达式运算中的运 算顺序。如下表,上一行运算符总优先于下一行。

(2) 只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

在这里插入图片描述

四、关键字与保留字

1. 关键字

(1)定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。
(2)特点:关键字中所有字母都为小写。
(3)官方地址:点击跳转

用于定义数据类型的关键字:
classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoid
用于定义流程控制的关键字:
ifelseswitchcasedefaultwhiledoforbreakcontinuereturn
用于定义访问权限修饰符的关键字:
privateprotectedpublic
用于定义类,函数,变量修饰符的关键字:
abstractfinalstaticsynchronized
用于定义类与类之间关系的关键字:
extendsimplements
用于定义建立实例及引用实例,判断实例的关键字:
newthissuperinstanceof
用于异常处理的关键字:
trycatchfinallythrowthrows
用于包的关键字:
packageimport
其他修饰符关键字:
nativestrictfptransientvolatileassert
用于定义数据类型值的字面值:
truefalsenull

2. 保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字

goto

const


关注并私信博主,可领JDK1.8中文版!


本文转载自: https://blog.csdn.net/weixin_52533007/article/details/122840292
版权归原作者 小老师ir 所有, 如有侵权,请联系我们删除。

“JavaSE基本语法(上),你确定都懂了吗?”的评论:

还没有评论