Java02-标识符/ 关键字、数据类型/ 分隔符/ 常量final/ 运算符

1 标识符,给变量起名

a. 区分大小写
b. _/ $/ 字母/ 数字,数字不可在首位
c. 关键字不可作为标识符

2 关键字

关键字全是小写的!

分类例子
数据类型byte、char、float、int、short、long、 double、
void、new、boolean、true、 false、instanceof(指出对象是否是特定类)
语句if、else、break、continue、switch、case、 default 、
for、do、 while、return、try、catch、finally、 throw、this、 super
修饰的关键字abstract、final(不能被继承)、native、private、 protected、public、static、synchronized(同步)、transient、 volatile
方法、类、接口、包、异常class、 extends、 implements、interface(接口)、 package、import、throws
Java保留的没有意义的关键字cat、 future、 generic、innerr、 operator、 outer、rest、var
3个保留字
(不是关键字,而是文字)
true、false、null

byte 字节、比特,用于文件读取的缓冲区
finally 跟 try - catch
final 不能被继承

https://www.jb51.net/article/178975.htm
transient 表示 变量不被序列化处理
序列化:将对象转成 1 个字节流 存储

分类:

区分

final、finally、static、const

finalfinal可修饰 变量、类、方法

final 修饰的变量是常量
这个变量必须赋值
且只能被赋值1次,然后不能被修改
方法 = 子函数,其形参时final的话,方法内也不可对其赋值

final类 不可以被继承(extend)
final方法 不可以重写,但可以重载
内部类可以访问 final的局部变量
finallyfinally块通常放在 try、catch 后面
用来关闭、释放 物理资源(数据库连接,网络连接,磁盘文件)
finally块中的代码,无论是否有异常,都会去尝试执行
static不能修饰 构造函数、函数参数、局部成员变量
static 成员函数 不能使用this对象
static 成员字段、语句块:按声明先后顺序初始化
static 方法、字段 只属于类,所有对象共享,java不能直接定义全局变量,通过static实现
constjava 中没有 const,const = static + final 来实现

内部类可以访问 final的局部变量
原因:https://bbs.itheima.com/thread-136974-1-1.html

public, private, protected, default 详解

https://blog.csdn.net/The_Best_Hacker/article/details/83869945

java static

https://blog.csdn.net/qq_44715943/article/details/115603616

new

用于实例化一个对象

为对象分配内存空间,将对象的实例变量自动初始化为其变量类型的默认值
如果实例变量在声明时被显式初始化,那就把初始化值赋给实例变量
调用构造方法
返回对象的引用

具体作用表现为:
在内存划分两个空间:
一个空间堆,new className()这个对象
一个空间栈,存放 className中的相关值

时间 java

各时区
https://blog.csdn.net/jinzheng069/article/details/51252172

当前时间
https://blog.csdn.net/topdeveloperr/article/details/91571311

Calendar.getInstance().getTime() 包含时分秒的当前时间
new Date(System.currentTimeMillis()) 不包含时分秒的当前时间

switch

switch() 能识别哪些类型?
JDK1.0-1.4 数据类型接受 byte、short、int、char
JDK1.5 数据类型接受 byte、short、int、char、enum(枚举)
JDK1.7 数据类型接受 byte、short、int、char、enum(枚举)、String 六种类型
PS: 上面提到的基本类型的包装类型也是支持的

不包含long、boolean、float、double

case 标签必须为字符串常量 或 字面常量

字面常量 https://blog.csdn.net/hengshan/article/details/6266113
整形、浮点型、字符串型、字符型

switch(变量)匹配选择:
1) 先匹配到与变量相同的case
2) 如无匹配的case,则执行default(无defalut语句,就会匹配结束)。
3) 如 case 或 default 无break / coutinue / return 等等跳转语句,则会继续向后顺序执行(不论是否default还是case),直到遇到break、return 或 结尾

注意:
每个switch句都应该包含一个default分支,即使default分支没有业务逻辑代码。
dafault分支中没有 业务逻辑代码时,可以记录一条日志或抛出异常等

对于枚举类型的switch语句,已经明确涵盖所有可能的场景,可以省略default分支。
IDE或其他静态分 析工具也能在switch语句缺少枚举场景时,发出警告

3 数据类型


https://blog.csdn.net/qq_40893824/article/details/105997362

	float f1 = 54.321;  // 错误
	float f2 = 54.321f; // 正确

folat:32位
double:64位

boolean 布尔型真正数据是0(false)、1(true)
但不能直接用 0、1 赋值

命名规则

字母 $ _ 数字
数字一定不在开头

常量名称大写

4 分隔符

4.1 分号 ‘;’

一个分号一个句子,无分号就意味着连续
下面两个代码逻辑上是一样的:

	int sum = 1 + 2 + 3 + 4 ;  
	int sum = 1 + 2 +
	3 + 4 ;

5 常量,用final修饰的变量 就是常量

	final int a = 1 ;

6 运算符

6.1 逻辑运算符

逻辑运算符例子结果
&true & true
true & false
true & false
false & false
true
false
false
false
`` 或true `
!!true
!false
false
true
&& 短路与true && true
true && false
true && false
false && false
true
false
false
false
^ 异或true ^ true
true ^ false
true ^ false
false ^ false
false
true
true
false
`` 短路或

与 和 短路与 的区别
当检查左边已有结果,右边不会再去检查 是 短路与
回去检查 是 与

或 和 短路或 同理

6.2 位运算符

| 位运算符 |
|:–|:–|:–|
| & 与 | | |
| | 或 | | |
| ~ 取反 | | |
| ^ 异或 | | |
| << 左移 | | |
| >> 右移 | | |
| >>> 无符号右移 | | |

7 java vs c++

Java 没有指针,它的引用可以理解为安全指针
C++ 具有和 C 一样的指针

Java 不支持多重继承,只能通过实现多个接口来达到相同目的
C++ 支持多重继承

Java 不支持操作符重载,虽然可以对两个 String 对象支持加法运算,但是这是语言内置支持的操作,不属于操作符重载
C++ 可以操作符重载

Java 的 goto 是保留字,但是不可用
C++ 可以使用 goto

Java 不支持条件编译
C++ 通过 #ifdef #ifndef 等预处理命令从而实现条件编译

Java 更偏向面向对象语言,所有的对象都继承自 java.lang.Object
C++ 为了兼容 C 即支持面向对象也支持面向过程
https://www.zhihu.com/question/40959108

Java 通过虚拟机从而实现跨平台特性
C++ 依赖于特定的平台

Java 支持自动垃圾回收
C++ 需要手动回收

包装类

包装类型,不赋值的话 默认值为 null,基本类型有默认值

包装类型可用于泛型,基本类型不可以

包装类型属于对象类型,几乎所有对象实例都存在于堆中
基本数据类型的局部变量存放在 Java 虚拟机栈中的局部变量表中,基本数据类型的成员变量(未被 static 修饰) 存放在 Java 虚拟机的堆中。

相比于对象类型, 基本数据类型占用的空间非常小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1403034144

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值