java001学习记录

基本概念

Java

1、Java SE:Java 核心类库,Java 开发的基础

2、Java ME:Java 针对于移动端(手机、机顶盒、车载导航)的开发组件,淘汰

3、Java EE:Java 针对企业级应用的开发组件(Java Web 重中之重),重点

Java SE:Java 基础语法、组件、类库

Java EE:Web 组件,第三方框架

Java 开发:

1、编码(写代码)

2、编译(Java 文件编译成 Class 文件)

3、运行(JVM 运行 Class 文件)

JDK、JRE 的区别?

JDK Java Development Kit:Java 开发工具包,包含了 JRE

JRE Java Runtime Emoverionment:Java 运行环境

Java 内存模型

变量

那么为什么要有变量?

100*3%=3

1000/2

1+1

1、存储

2、运算

计算机存储数据的地方叫做内存,内存会为不同的数据开辟不同的空间来存储,数据和数据之间是相互独立的,互不影响。

每一块内存都有一个独一无二的地址,用来标识这块内存,从而取出内存中的数据

内存地址是 16 进制的数据,赋值是随机的,0x6fff5cde3d6c

因为程序自动产生的内存地址太难记了,开发非常不方便,所有就有了变量这种形式,来解决内存地址不方便记忆的问题

变量三要素:数据类型、变量名、变量值

Java 内存分为栈内存和堆内存,栈内存和堆内存结合起来进行数据的存储

基本数据类型的变量只需要使用栈内存来进行存储,引用类型的变量需要使用栈内存+堆内存来进行存储

Java 的数据类型就两种:基本数据类型 + 引用类型

数据类型转换

1、自动转换

int i = 10;
double num = i;

2、强制类型转换,存在精度损失的问题

double i = 10.0;
int num = (int)i;

如何判断是否能进行自动类型转换?

自动类型转换仅包括数值类型,基本数据类型自动转换的关系为:

字节:byte

10MB

500GB

1TB

byte = 8 位二进制数据

01010101 = 1 个字节 1 byte

byte -> kb -> mb -> gb -> tb

8 位二进制 = 1 byte

1024 byte = 1 KB

1024 KB = 1 MB

1024 MB = 1 GB

1024 GB = 1 TB

byte->short->int->long->float->double

byte 1 个字节

short 2 个字节

int 4 个字节

long 8 个字节

float 4 个字节

double 8 个字节

从小往大转,自动类型转换失效,则需要进行强制类型转换

运算符

逻辑运算符只能用于 boolean 类型的数据,判断 boolean 数据之间的逻辑关系,包括与、或、非这 3 种关系

与:&

或:|

短路与:&&

短路或:||

非:!

  • 变量 A & 变量 B:只有当变量 A 和变量 B 都为 true,则结果为 true,否则为 false
  • 变量 A | 变量 B:当变量 A 或变量 B 有一个为 true,则结果为 true,否则为 false
  • 变量 A && 变量 B:只有当变量 A 和变量 B 都为 true,则结果为 true,否则为 false
  • 变量 A || 变量 B:当变量 A 或变量 B 有一个为 true,则结果为 true,否则为 false
  • ! 变量A:若变量 A 为 true,则结果为 false,若变量 A 为 false,则结果为 true

你可能感兴趣的:(java,学习,开发语言,java)