一.注释
注释就是对程序的解释性文字。
注释分为:
A:单行注释
以//开头,以回车结束。单行注释是可以嵌套的。
B:多行注释
以/*开头,以*/结束。
C:文档注释
类或方法的解释.说明,被javadoc等工具解析,生成一个说明书。
注释的作用:
A:解释程序,提高程序的阅读性。
B:可以调试错误。
二.关键字
关键字是被Java语言赋予特殊意义的单词。
特点:
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
|
|
|
|
|
用于定义访问权限修饰符的关键字
|
||||
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
|
注意事项:
goto和const作为保留字(在JDK的新版本中可能提升为关键字)存在。没有被使用。
三.标识符
(1)标示符就是给类,变量,方法起名字。
(2)组成规则:
由数字0-9,英文大小写字母,$以及_组成。
(3)注意事项:
A:只能有组成规则规定的内容组成。
B:不能以数字开头。
C:不能是Java中的关键字。
D:区分大小写。
(4)常用的命名规则:见名知意,驼峰命名
A:包(文件夹,用于区分同名的类)
全部小写。如果多级包,用.分开。
举例:
cn.itcast
cn 一级包
itcast 二级包
B:类和接口
如果是一个单词,首字母大写。
举例:Demo,Test,Student
如果是多个单词,每个单词的首字母大写。
举例:HelloWorld,StudyJava
C:变量和方法
如果是一个单词,首字母小写。
举例:main,name,age
如果是多个单词,从第二个单词开始每个单词的首字母大写。
举例:showName(),studentName
D:常量
全部大写,如果多个单词组成,用_连接。
举例:PI,STUDENT_MAX_AGE
四.常量和变量
1.常量分为
(1):字面值常量:
整数常量 如 12,-23
实数常量 如 12.5,-65.43
字符常量 如 'a','A','0'
字符串常量 如 "hello"
布尔常量 如 true,false
空常量 null
(2).自定义常量如:public static final STUDENT_MAX_AGE=150;
2.变量
定义:程序的运行过程中,在指定范围内发生改变的量。
格式:
数据类型 变量名 = 初始化值;
变形格式:
数据类型 变量名;
变量名 = 初始化值;
举例:
方式1: byte b = 10;
方式2: byte b;
b = 10;
方式3: int a = 10,b = 10;
五.数据类型
1.基本类型:4类8种。
整型:
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
浮点型:
float 4个字节
double 8个字节
字符型:
char 2个字节
布尔型: 不明确
注意:
整数默认是int类型。long类型需要加L或者l后缀。如:long l = 123456789123456L;
浮点数默认是double类型。float类型需要加F或者f后缀。如:float f = 1.1F;
2.引用类型:类(class),接口(interface),数组(int [])。
------------------------------------------------------华丽的分割线--------------------------------------------------------------
类型转换
A:boolean类型不参与转换。
B:隐式转换(从小到大)
byte,short,char --> int --> long --> float --> double
C:强制转换(从大到小)
格式:
(数据类型)数据;
六.运算符
运算符分为:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元运算符
1.算术运算符
+,-,*,/,%,++,--
+:正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%:取得余数
++/-- 参与操作使用:
如果a++,数据先使用,在++/-- 如: b=a++ //先把a赋值给b(先使用) a再自增;
如果++a,数据先++/--,在使用。//同上
==,!=,>,>=,<,<= ,instanceof(检测是否是类的对象,如:"hello" instanceof String 结果为true)
特点:关系运算符的结果都是boolean类型。
&&和&的区别是:如果左边有false了,右边将不再执行。
||和|的区别是:如果左边有true了,右边将不再执行。
运算符
|
运算
|
范例
|
<<
|
左移
|
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;
最高位是1,最高位补1。
|
>>>
|
被移位二进制最高位无论是0或者是1,空缺位都用0补。
|
&
|
任何二进制位和0进行&运算,结果是0;
和1进行&运算结果是原值。
|
|
|
任何二进制位和0进行 | 运算,结果是原值;
和1进行 | 运算结果是1。
|
^
|
任何相同二进制位进行 ^ 运算,结果是0;
不相同二进制位 ^ 运算结果是1。
|
格式:
条件表达式?表达式1:表达式2
执行流程:
如果条件表达式返回的是true,就把表达式1作为结果。
如果条件表达式返回的是false,就把表达式2作为结果。
运算符的优先级(从高到低)
优先级 |
描述 |
运算符 |
1 |
括号 |
()、[] |
2 |
正负号 |
+、- |
3 |
自增自减,非 |
++、--、! |
4 |
乘除,取余 |
*、/、% |
5 |
加减 |
+、- |
6 |
移位运算 |
<<、>>、>>> |
7 |
大小关系 |
>、>=、<、<= |
8 |
相等关系 |
==、!= |
9 |
按位与 |
& |
10 |
按位异或 |
^ |
11 |
按位或 |
| |
12 |
逻辑与 |
&& |
13 |
逻辑或 |
|| |
14 |
条件运算 |
?: |
15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
16 |
位赋值运算 |
&=、|=、<<=、>>=、>>>= |
如果在程序中,要改变运算顺序,可以使用()
面试题:
(1)请用最有效率的代码写出2乘以8
2<<3
(2)交换两个变量,不用中间变量。
位运算符^ :一个数据对同一个数据^两次,结果还是数据本身
a = a ^ b;
b = a ^ b;
a = a ^ b;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)