JavaSE基本语法(上)
- 前言
-
- 一、“标识符”的使用
-
- 1. 概念
- 2. 标识符的命名规则(不遵守则编译不通过)
- 3. 标识符的命名规范(建议遵守)
- 二、“变量”的使用
-
- 1. 语法格式
- 2. 注意事项
- 2. 变量分类
- 3. 整型变量
- 4. 浮点型变量
- 5. 字符型变量
- 6. boolean型变量
- 7. 基本数据类型之间的运算规则(不包括boolean类型)
- 8. String类型变量
- 三、注释(comment)
-
- 1. 概念
- 2. 分类
- 3. 注意事项
- 四、 运算符
-
- 1. 概念
- 2. 分类
- 3. 算术运算符
- 4. 赋值运算符
- 5. 比较运算符
- 6. 逻辑运算符
- 7. 位运算符
- 8. 三元运算符
- 9. 运算符的优先级
- 四、关键字与保留字
-
- 1. 关键字
- 2. 保留字
前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!
一、“标识符”的使用 1. 概念
标识符:凡是自己可以起名字的地方都叫标识符2. 标识符的命名规则(不遵守则编译不通过)
比如:类名,变量名,方法名,接口名,包名……
(1) 由26个英文字母大小写,0-9,_或$组成。3. 标识符的命名规范(建议遵守)
(2) 数字不可以开头。
(3) 不可以使用关键字和保留字,但能包含关键字和保留字。
(4) Java中严格区分大小写,长度无限制。
(5) 标识符不能包含空格。
(1)包名:多单词组成时所有字母都小写:二、“变量”的使用 1. 语法格式xxxyyyzz
;
(2)类名,接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
;
(3)变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
;
(4)常量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
;
(5)在起名字时,要做到“见名知意”;
(6)Java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用;
? 声明变量
语法:<数据类型> <变量名称>
例如:int var;
? 变量的赋值
语法:<变量名称> = <值>
例如:var = 10;
? 声明和赋值变量2. 注意事项
语法: <数据类型> <变量名> = <初始化值>
例如:int var = 10;
(1) Java中的每个变量必须先声明后使用;2. 变量分类
(2) 使用变量名来访问这块区域的数据;
(3) 变量的作用域:其定义所在的一对{ }内;
(4) 变量只有在其作用域内才有效;
(5) 同一个作用域内,不能定义重名的变量;
? 按数据类型的不同分类
(1)基本数据类型:
整型:(2)引用数据类型:byte
\short
\int
\long
浮点型:float
\double
字符型:char
布尔型:boolean
类(包含字符串)(class
)
接口(interface
)
数组(arry)

文章图片
? 按声明的位置的不同分类
(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。

文章图片
注意:二者在初始化值方面的异同:3. 整型变量
同:都有生命周期
异:局部变量除形参外,需显式初始化。
(1)4. 浮点型变量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
型;
![]()
文章图片
(1)5. 字符型变量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
类型;
![]()
文章图片
(1)6. boolean型变量char
(2字节);
(2)字符常量是用单引号‘ ’括起来的单个字符,如:char c1 = ‘a’;char c2 = ‘中’;char c3 = ‘9’;
(3)Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量,如:char c3 = ‘\n’;
![]()
文章图片
(4)直接使用Unicode值来表示字符型常量:‘\uXXX’,其中,XXXX代表一个十六进制整数;
(5)char
类型是可以进行运算的,因为它都对应有Unicode码;
(1)只能取两个值之一:7. 基本数据类型之间的运算规则(不包括boolean类型)ture
,false
;如:boolean b1 = false;
(2)boolean
类型用来判断逻辑条件,一般用于程序流程控制:
(3)不可以使用 0 或 非0 的整数替代
if
条件控制语句;while
循环控制语句;do-while
循环控制语句;for
循环控制语句;false
和true
,这点和C语言不同。
(4)Java虚拟机中没有任何供boolean
值专用的字节码指令,Java语言表达所操作的boolean
值,在编译之后都使用java虚拟机中的int
数据类型来代替:true
用1表示,false
用0表示。———《java虚拟机规范 8版》
? 自动类型提升
(1)有多种类型的数据混合运算时,系统首先自动将所有的数据转换成容量最大的那种数据类型,然后再进行运算,此时的容量大小指的是数的范围的大和小,如:? 强制类型转换:float
容量大于long
的容量;
(2)byte,short,char
之间不会相互转换,它们三者在计算时首先转换成int类型;
(3)转换规则:(byte,char,short)--> int --> long --> float --> double
;
![]()
文章图片
(1)需要使用强转符();
(2)强制类型转换,可能导致精度损失,
如:
//精度损失举例1
double x = 12.9;
//精度损失举例2
long 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中的注释类型:3. 注意事项
- 单行注释
格式://注释文字
- 多行注释
格式:/* 注释文字 */
- 文档注释 (java特有)
格式:
/**
@author 指定java程序的作者
@version 指定源文件的版本
*/
? 提高了代码的阅读性;调试程序的重要方法。
? 注释是一个程序员必须要具有的良好编程习惯。
? 将自己的思想通过注释先整理出来,再用代码去体现。
? 对于单行和多行注释,被注释的文字,不会被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)对于除号"/"
,它的整数除和小数除是有区别的:
- 整数之间做除法时,结果还是整数类型,只保留整数部分而舍弃小数部分,而且会向下取整。
- 小数之间做除法时,结果会保留小数部分。
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。
6. 逻辑运算符
符号
名称
&
逻辑与
|
逻辑或
!
逻辑非
&&
短路与
||
短路或
^
逻辑异或
(1) 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3,应该写成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)官方地址:点击跳转
用于定义数据类型的关键字:
class
interface
enum
byte
short
int
long
float
double
char
boolean
void
用于定义流程控制的关键字:
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
用于定义数据类型值的字面值:
true
false
null
2. 保留字
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字 goto
、const
。
【JavaSE|JavaSE基本语法(上),你确定都懂了吗()】关注并私信博主,可领JDK1.8中文版!
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- JavaSE|JavaSE基本语法(下),你确定都懂了吗()
- Java练习|Java练习(三十五)---局部内部类访问方式练习
- JavaSE|Java数组解析(详解)
- JavaSE|JDK,JRE,JVM概述
- JavaSE|Intellij IDEA快捷键大全(超详细)
- JAVA后端|Java日期处理
- Letcode算法专篇|Java之有序集合&hashMap
- Spring Boot 启动时自动执行代码的几种方式,还有谁不会(?)
- 图解 i++ 和 ++i 的区别,看了必懂...