posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

一.注释

 

注释就是对程序的解释性文字。
注释分为:
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,数据先++/--,在使用。//同上

•如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
•对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
•例如:int x=4150;x=x/1000*1000;  x的结果是4000
•“+”除字符串相加功能外,还能把非字符串转换成字符串 ,
•例如:System.out.println("5+5="+5+5);//打印结果是5+5=55
 
2.赋值运算符
=,+=,-=,*=,/=,%=
思考:
short s = 5;    s=s+2; 与 s+=2;   有什么区别?     
s=s+2//编译失败,因为s会被提升为int类型,运算后的结果还是int类型。无法赋值给short类型。
s+=2//编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
 
3.关系运算符

==,!=,>,>=,<,<= ,instanceof(检测是否是类的对象,如:"hello" instanceof String 结果为true)

特点:关系运算符的结果都是boolean类型。

4.逻辑运算符
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
 
&(于),|(或),!(非),^(异或),&&(短路与),||(短路非)
 

&&和&的区别是:如果左边有false了,右边将不再执行。
||和|的区别是:如果左边有true了,右边将不再执行。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
 
5.位运算符
运算符
运算
范例
<<
左移
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。
 
<<:就是将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,右边被移空的部分补0。相当于乘与2的倍数
>>:右移稍微复杂一点,如果最高位是0,左边被移空的位就填入0;如果最高位是1,左边被移空的位就填入1。相当于除以2的倍数
>>>:无论最高位是1还是0,左边被移空的高位都填入0。
 
 6.条件运算符(三元表达式)

格式:
条件表达式?表达式1:表达式2

执行流程:
如果条件表达式返回的是true,就把表达式1作为结果。
如果条件表达式返回的是false,就把表达式2作为结果。

7.运算符优先级
 

运算符的优先级(从高到低)

优先级

描述

运算符

1

括号

()、[]

2

正负号

+、-

3

自增自减,非

++、--、!

4

乘除,取余

*、/、%

5

加减

+、-

6

移位运算

<<、>>、>>>

7

大小关系

>、>=、<、<=

8

相等关系

==、!=

9

按位与

&

10

按位异或

^

11

按位或

|

12

逻辑与

&&

13

逻辑或

||

14

条件运算

?:

15

赋值运算

=、+=、-=、*=、/=、%=

16

位赋值运算

&=、|=、<<=、>>=、>>>=

 

                      如果在程序中,要改变运算顺序,可以使用()

 

面试题:
(1)请用最有效率的代码写出2乘以8

 6*2 = 12
6<<1=12 运算效率很高,但是有局限性,只能对2的倍数有效。
 
移n位,就是对乘以或者除以2的n次幂。


2<<3


(2)交换两个变量,不用中间变量。
位运算符^ :一个数据对同一个数据^两次,结果还是数据本身

a = a ^ b;
b = a ^ b;
a = a ^ b;

 

 

posted on   努力--坚持  阅读(234)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示