java常量与变量+简单示例程序展示底层如何运行

一、常量

1.固定不变的值,可以理解基本数据类型的值。4,‘a’,false等。

2.引用数据类型string,"accc",表示一个引用常量。

3.final int a =1,被final修饰的变量,存储的值。不会被改变。

二、变量

1.存储空间、程序执行过程可以改变、存储空间存储一个引用内容。

2.申明变量需注意:数据类型+变量名字,2个单词的话,第二个单词首字母大写。

3.细节问题。

创建变量,可以不用存值,int a;

创建后没有默认的内容,是空的。int b;

创建的变量不能直接拿来使用,编译错误。

int a;

system.out.print(a);编译错误。

三、常见问题分析

1.写一个main函数,内容是:byte x = 1 中,分析X是什么?1是什么?=表示什么?

PS:x表示一个内存空间,1表示一个常量,=表示赋值的意思。

2.上述中的值存在哪儿?在计算机中如何实现这个过程的?

计算机系统硬盘中存储源码--->编译后为字节码文件存放在硬盘中--->字节码文件加载到内存--->执行所写的指令,如赋值等。

3.JVM执行下面代码底层分析。

pubLic class Test{
  public static void main(String[] args ){
   byte x =1 ;
}
}

JVM在内存开辟空间,包含栈内存(运行方法的)、堆内存(存放new出来的对象的)、方法区(有常量池、方法区、静态元素区static)。通过类加载器classloader将硬盘中的.class文件中的信息加载到JVM的方法区内存,main函数压栈执行,将常量池中的1赋值给变量x。

原文地址:https://www.cnblogs.com/cnbp/p/12630589.html

时间: 2024-08-29 21:41:57

java常量与变量+简单示例程序展示底层如何运行的相关文章

乐字节Java变量与数据结构之二:Java常量与变量

大家好,小乐又来给大家讲述Java基础知识.上次说了乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符,这次将接着往下说,谈谈Java常量与变量. 1.常量 1).定义 在程序执行的过程中,其值不发生改变的量. 2).分类 A:字面值常量 B:自定义常量(后面讲) 3).字面值常量 A:字符串常量 "hello" B:整数常量 12,23 C:小数常量 12.345 D:字符常量 'a','A','@' E:布尔常量 true,false F:空常量 null(后面讲)

c# 单链表实现 简单示例(可复制直接运行)

最近学习数据结构,发现c# 其实和c 的链表的实现差不多的 下面是一段可直接运行的代码 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Threading; 5 6 namespace SingleLinkedList 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 13 //实例调用

Java常量、变量和运算符

根据程序中的数据在运行过程中是否会发生改变,可以将数据分为常量和变量. 1.常量 常量是程序中不能被改变的量,在Java中用final来定义常量,表示该常量只能够被赋值一次,习惯上要求全部大写. final double CM_PER_INCH = 2.54; //CM_PER_INCH常量被赋值为2.54 类常量:表示用static final修饰的常量,表示该常量可以在一个类中的多个方法中使用,若其被声明为public,则其他类中的方法也可以使用该类常量. public class Cons

Java常量和变量

1.Java运行原理 编译+解释型语言: 程序代码经编译后转换为一种称为java字节码(.class文件)的中间语言 file.java--->Class.class java虚拟机JVM将字节码解释为机器码,然后在计算机上运行.编译只进行一次,而解释在每次运行程序时都会进行. 2.定义常量 声明赋值常量 final type 标示符=值 final float PI=3.1415926F;规范:大写表示 见其名知其意 3.变量 数据类型 变量名 int age=25; 内存空间的值就是变量值

【java】java.util.regex.Pattern和java.util.regex.Matcher简单示例

1 package 正则; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class Test_regex { 7 public static void main(String[] args) { 8 String str="a1b22c333d4444e_55_555f666666g7777777"; 9 String regex="\\w*"; 1

JAVA入门[20]-Hibernate简单示例

一.Hibernate简介 在很多场景下,我们不需要使用JdbcTemplate直接操作SQL语句,这时候可以用ORM工具来节省数大量的的代码和开发时间.ORM工具能够把注意力从容易出错的SQL代码转向如何实现应用程序的真正需求. Spring对ORM框架的支持提供了与这些框架的集成点以及一些附加的服务: 支持集成Spring声明式事务: 透明的异常处理: 线程安全的.轻量级的模板类: DAO支持类: 资源管理. Hibernate是在开发者社区很流行的开源ORM框架. 二.Spring+Hib

JAVA操作google protobuf简单示例

编写 一个test.proto文件 option java_package = "com.proto"; option java_outer_classname = "FirstProtobuf"; message TestBuf { required int32 ID = 1; required string Url = 2; } 利用protoc.exe 生成java文件: protoc.exe --java_out=./ test.proto 写个测试类: p

ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用

本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深入的了解,每个工程里应该写什么样的代码,代码如何组织以及ABP是如何在工程中发挥作用的. 源文档地址:https://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram 源码可以

ROS indigo安装完成后运行小乌龟示例程序

安装ROS成功后,在Beginner Tutorials中有一个简单的示例程序. 在Terminal中运行以下命令:$ roscore新开一个terminal,运行以下命令,打开小乌龟窗口:$ rosrun turtlesim turtlesim_node新开一个terminal,运行以下命令,打开乌龟控制窗口,可使用方向键控制乌龟运动:$ rosrun turtlesim turtle_teleop_key选中控制窗口,按方向键,可看到小乌龟窗口中乌龟在运动.新开一个terminal,运行以下