Java基本语法
1.java的基本语法:
1.类名必须和文件名一致
2.public:访问修饰符
3.class:定义类的关键字
4.类名:首字母大写,不要使用拼音或者中文,驼峰式命名法,每个单词的首字母大写
5.main方法是java程序的入口,需要执行的代码必须放到main方法里面,后期学了javaee用的不是太多了
6.java语言严格区分大小写 int a; int A;
7.Java方法由一条条语句构成,每个语句以“;”结束。
8.大括号都是成对出现的,缺一不可。
9.一个java文件里面可以定义多个类,但是只能有一个类名的访问修饰权限为public
2.关键字
java给我们定义一些特殊单词,每个关键字都有自己独有的功能
1.全是小写
2.关键字不能当做普通的标识符
用于定义数据类型的关键字 | ||||
---|---|---|---|---|
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void | |||
用于定义数据类型值的关键字 | ||||
true | false | null | ||
用于定义流程控制的关键字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return |
3.标识符
自定义的类,方法名,包名,变量名,接口名…这些统称标识符
1.字母,数字,下划线 $
2.不能以数字开头
3.不能是关键字,或者包含特殊字符
4.定义方法名和变量名首字母小写,驼峰式命名法,如果定义常量,全部大写
1.包名所有字母一律小写。例如:com.hpe.example。
2.类名和接口名每个单词的首字母都要大写。例如:ArrayList、Iterator。
3.常量名所有字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH。
4.变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。
5.在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。
4.变量
在内容中的一块区域,变量的值可以在某一个范围内发生改变
1.怎么定义变量?
变量类型 变量名; int num;
变量类型 变量名=对应的变量值; int num=10;
2.变量的类型有哪些呢?
基本数据类型
整数 byte short int long 常用的是int
小数 double float 常用是double
布尔 boolean 常用在逻辑运算
字符char
引用数据类型:数组 java定义的类 自己定义的类 接口。。。。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rdx66KwJ-1596266343927)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200730230534014.png)]
4.变量的分类
(1).成员变量:定义在类的内部,方法之外,可以在当前类的内部使用
(2).局部变量:定义在方法内部,只能在当前方法内部使用
5.Long类型需要在赋值后面加L
Float类型需要在赋值后面加‘f’或‘F’
Long d=10L;
Float w=2.3F;
6.boolean类型数据只允许取值true和false,不可以0或非0的整数替代true和false,这点和C语言不同
7.变量的类型转换
说明:在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。
分类:根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。
7.1.自动类型转换:
自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。当把一个类型取值范围小的数值直接赋给另一个取值范围大的数据类型变量时,系统就会进行自动类型转换。
自动类型转换就好比将小瓶水倒入到大瓶的换装过程。我们将小瓶水倒入到大瓶中时,由于小瓶的容量比大瓶的容量小,所以倒入的水永远不可能溢出大瓶。
自动转换条件:
-
自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
-
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
-
byte,short,char三者在计算时首先转换为int类型。
-
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
7.2.强制类型转换
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换系统默认不支持这种行为,只能由开发者自己决定是否进行强制类型转换。
强制类型转换语法格式:
目标类型 变量名 = (目标类型)值;
- 将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,要格外注意。
- 字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。如: String a = “43”; int i = Integer.parseInt("");
8.常量
**定义:**Java中的常量,其实就是特殊的变量,也是固定不变的量,有且只能进行一次赋值。
**语法:**Java中定义常量的语法也非常简单,只需要在定义变量的语法基础上加上一个final关键字修饰即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c8A6YFyb-1596266343935)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20200731162721878.png)]
9.转义符
-
\r :表示回车,将光标定位到当前行的开头,不会跳到下一行。
-
\n :表示换行,换到下一行的开头。
-
\t :表示制表符,将光标移到下一个制表符的位置(8个单位长度),就像在文档中用Tab键一样。
-
\ \ :表示反斜杠转义字符,由于在Java代码中的斜杠(\)是转义符,因此需要表示字面意义上的\,就需要使用双斜杠\。
5.运算符
运算符就是专门用于告诉程序执行特定运算或逻辑操作的符号。
有算术运算符、比较运算符、逻辑运算符、条件运算符、位运算符、赋值运算符。
-
算术运算符:Java中的算术运算符就是用来处理四则运算的符号。
-
赋值运算符:就是将常量、变量或表达式的值赋给某一个变量。
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
= | 赋值 | a=3;b=2; | a=3;b=2; |
+= | 加等于 | a=3;b=2;a+=b; | a=5;b=2; |
-= | 减等于 | a=3;b=2;a-=b; | a=1;b=2; |
*= | 乘等于 | a=3;b=2;a*=b; | a=6;b=2; |
/= | 除等于 | a=3;b=2;a/=b; | a=1;b=2; |
%= | 模等于 | a=3;b=2;a%=b; | a=1;b=2; |
在使用+=、-=、*=、/=、%= 赋值运算符时,需要进行的强制类型转换会自动完成,程序不需要做任何显式地声明。
-
比较运算符:用来对两个数值或变量进行比较,其结果是布尔类型的true或false。
-
逻辑运算符:是用于对布尔类型的值或表达式进行逻辑判断的符号,其返回值类型是布尔类型。
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
& | 与 | a & b | a和b都为true,结果为true,否则为false |
| | 或 | a | b | a和b中只要有一个为true,则结果为true,否则为false |
^ | 异或 | A ^ b | a与b不同,结果为true,否则为false |
! | 非 | ! A | 若a为false,结果为true,否则相反 |
&& | 短路与 | a && b | a和b都为true,结果为true,否则为false |
|| | 短路或 | a || b | a和b中只要有一个为true,则结果为true,否则为false |
“&”和“&&”的区别:在使用“&”进行运算时,不论左边为true或者false,右边的表达式都会进行运算。如果使用“&&”进行运算,当左边为false时,右边的表达式不会进行运算,因此“&&”被称作短路与。“|”和“||”同理
- 条件运算符:也称作三元运算符(或三目运算符),由符号“? :”组合构成。对布尔类型的表达式判断,如果为true,就执行冒号“:”前面的表达式,否者执行后面的表达式。
运算符的优先级
优先级 | 运算符 |
---|---|
1 | . [] () |
2 | ++ – ~ ! |
3 | * / % |
4 | + - |
5 | << >> >>> |
6 | < > <= >= |
7 | == != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
& | |
12 | || |
13 | ?: |
14 | = *= /= %= += -= <<= >>= >>>= &= ^= |= |