【Java基础】数据类型以及程序执行过程浅析

简介: 【Java基础】数据类型以及程序执行过程浅析
概念学习

标识符


Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符,凡是可以自己起名字的地方都叫标识符。

Java标识符命名规则:

标识符由、字母下划线“_”、美元符“$”或数字组成

标识符应以字母、下划线、美元符开头

Java标识符大小写敏感,长度无限制

Java变量


Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明

从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请,然后进行赋值,之后才能使用

Java变量分为局部变量和成员变量:

成员变量:在类中方法外面

局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)

数据类型


java中定义了4类8种基本数据类型。

类型 名字
逻辑型 boolean
文本型 char
整数型 byte,short,int,long
浮点数型 float,double

*.在java中不是基本类型就是引用类型

基本数据类型转换

boolean类型不可以转换为其他的数据类型

整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:

容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:

byte,short,char<int<long<float<doubke

byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型

容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出

运算符

++()

在前时先运算再取值。

在后时先取值再运算

例子:

int i=1;
int m=2;
int i=(m++);
System.out.print(i);
//输入之后,i=2,m=3
i=(++m)
System.out.print(i);
//输入之后,i=3,m=3

Java代码格式中应注意的问题


1.大括号对齐

2.遇到{缩进,Tab/Shift+Tab

3.程序块之间加空行

4.并排语句之间加空格

5.运算符两侧加空格

6.{前面有空格

7.成对编程

深入学习

java程序的执行过程

编译过程

1.使用记事本编写一个HelloWorld.java的源程序

public class HelloWorld{  
  public static void main(String[] args){
    System.out.println("HelloWorld");
  }
}

2.在命令行中输入(需要加上.java)

javac HelloWorld.java

3…java文件编译后为.class文件

4.执行(此时不能加.class)

java HelloWord

总结:

Java源程序通过javac编译成JVM文件,JVM通过java.exe执行,而正是JVM虚拟机的存在使java程序可以适应windows,linux,unix的系统,实现跨平台

分析内存过程

程序存放在硬盘中

操作系统寻找main方法开始执行

由操作系统进行内存的管理,对执行程序分配内存

heap是堆,存放对象,对象都需要两块内存

stack是栈,主要存放变量

data segment是数据区,可以存放静态变量

code segment是代码区,主要存放代码

目录
相关文章
|
1天前
|
存储 安全 Java
Java数据类型 有这一篇就够(超详细!)
Java数据类型 有这一篇就够(超详细!)
|
1天前
|
Java
【Java】程序练习1(数组)
【Java】程序练习1(数组)
|
1天前
|
存储 Java
Java的数据类型介绍 | 基本数据类型的转换
Java的数据类型介绍 | 基本数据类型的转换
|
4天前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
8 0
|
5天前
|
Java UED 开发者
JVM逃逸分析原理解析:优化Java程序性能和内存利用效率
JVM逃逸分析原理解析:优化Java程序性能和内存利用效率
|
5天前
|
机器学习/深度学习 并行计算 搜索推荐
程序技术好文:桶排序算法及其Java实现
程序技术好文:桶排序算法及其Java实现
|
6天前
|
机器学习/深度学习 Java 程序员
Java递归函数:穿越程序世界的神奇之门
Java递归函数:穿越程序世界的神奇之门
|
8天前
|
人工智能 Java BI
Java程序代码实现的实例总结
Java程序代码实现的实例总结
12 0
|
8天前
|
人工智能 算法 搜索推荐
Java算法编程详解和程序实例
Java算法编程详解和程序实例
14 0
|
8天前
|
Java
java使用多线程编写服务端与客户端文件上传程序
java使用多线程编写服务端与客户端文件上传程序
9 0