疑点:syso()是打印输出语句,打印的是什么?

syso()不同情况下打印输出的结果不一样:

1.

package com.briup;

public class Syso {
public static void main(String[] args) {
int i = 1;
System.out.println(i);
}
}

结果为:1

2.

public class Syso {
public static void main(String[] args) {
//int i = 1;
//System.out.println(i);
int[] arr = new int[10];
System.out.println(arr);
System.out.println(arr[0]);
}
}

结果为:[I@15db9742

0

3.

public class Syso {
public static void main(String[] args) {
//int i = 1;
//System.out.println(i);
//int[] arr = new int[10];
//System.out.println(arr);
//System.out.println(arr[0]);
Syso ss = new Syso();
System.out.println(ss);
System.out.println(ss.age);
ss.age = 10;
System.out.println(ss.age);
}
private int age;
//无参构造器
public Syso() {
super();
// TODO Auto-generated constructor stub
} public Syso(int age) {
this.age = age;
}
}

结果为 :com.briup.Syso@15db9742

               0

              10


首先明确 jvm运存内存分配,通俗一点就是堆,栈,方法区,常量区这几个概念,以及它们之间的联系,变量 和 方法 在jvm 中是怎么被调用的

其次简单一点的理解syso() ,我们只要单纯的把它看做一种打印输出的固定形式,不需要去深入了解它在 jvm 中的内存分配 和 及调用

明白为什么会存在地址值,java里面的地址类似与C中的指针,但又有所不一样。地址值可以看做是栈 和 堆 之间的纽带!如果变量只是在栈空间被赋值和调用,那么就不存在地址值的概念

(1)中,int i = 1  可以被分解为三个流程  第一,在栈空间内开辟 类型的int 的 空间 ,空间名为i ;第二,栈空间内为数字1开辟一块空间 ;第三。赋值操作 int空间指向 1的空间

注意:这三个步骤都是在栈空间内完成的!平时为了方便理解的操作经常int i = 1 直接理解为只开辟了一块栈空间

(2)和(3)中  System.out.println(ss.age)打印输出的结果 原理是想类似的 涉及到2个概念,JVM中 创建数组 和 创建实例化对象的过程 。 

java中System.out.println()打印输出结果的更多相关文章

  1. java中system.out.println()是什么意思

    在Java编程中,我们常常用System.out.println()方法来输出字符串,也许我们都已经猜到println()是方法名,但System是什么,out又是什么呢?这里就涉及用到一个stati ...

  2. 在Java中system.out.println使用方法

    先输入sysout,然后输入辅助快捷键:Alt+/ 常用快捷键: 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键可以打开工作区中任何一个文件,只需要按下文件 ...

  3. Java的System.out.println()的解析

    Java的System.out.println()的解析 System 是java.lang中的一个类. System.out 中的out, 代表了System类中的静态对象PrintStream, ...

  4. Java中System.setProperty()

    Java中System.setProperty()用法 <转抄> // Daysafter :Integer中 getInteger( String s); getInteger( Str ...

  5. 获得Java中System对应一些属性值

    public static void main(String[] args){ System.out.println("Java运行时环境版本:\n"+System.getProp ...

  6. Java中System的详细用法

    System.arraycopy System.arraycopy的函数原型是: public static void arraycopy(Object src, int srcPos, Object ...

  7. Java 中System里getProperty(something)

    Java 中System里getProperty 方法获得系统参数 Key Description of Associated Value 中文描述 java.version Java Runtime ...

  8. Java中System.getProperty()的参数

    Java中System.getProperty的使用方法: 1,System.getProperty返回的数值,比如java.version,java.home,os.name,user.home以及 ...

  9. python中print()函数的“,”与java中System.out.print()函数中的“+”

    python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出 ...

随机推荐

  1. Axure中怎么制作锚点

    实现目标 点击导航条不同的菜单,页面跳到菜单相应的位置,实现页面自动滚动. 1.  拖入编辑区3个矩形,并相应命名为菜单1,菜单2 ,菜单3: 2.  再新建3个想要制作的文本框准备进行锚点滚动: 3 ...

  2. 10月17日 JS开始日~

    1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window, window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的 ...

  3. PATA 1065 A+B and C (64bit)

    1065. A+B and C (64bit) (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming G ...

  4. [python] 安装TensorFlow问题 解决Cannot uninstall 'wrapt'. It is a distutils installed project

    cmd安装 pip install tensorflow 1.遇到了 ERROR: Cannot uninstall 'wrapt'. It is a distutils installed proj ...

  5. ComboBox过滤

    在View层完成数据筛选,无需改变ViewModel层的数据,这样就不必担心在其它地方的使用了. 从路由事件 TextBoxBase.TextChanged 中获取输入的文本,并设置视图的过滤器就可以 ...

  6. leadcode的Hot100系列--17. 电话号码的字母组合--回溯的另一种想法的应用

    提交leetcode的时候遇到了问题,一直说访问越界,但仔仔细细检查n多遍,就是检查不出来. 因为我用到了count全局变量,自加一来表明当前数组访问的位置, 后来突然想到,是不是在leetcode在 ...

  7. kuangbin专题 专题一 简单搜索 Find a way HDU - 2612

    题目链接:https://vjudge.net/problem/HDU-2612 题意:‘@’表示KTV,‘#’表示无法走的地方,‘Y’,'M’表示两个人,他们要在KTV见面,问他们都到达KTV要花费 ...

  8. C++学习书籍推荐《More Exceptional C++(英文)》下载

    百度云及其他网盘下载地址:点我 作者简介 Herb Sutter is the author of three highly acclaimed books, Exceptional C++ Styl ...

  9. python接口自动化(三十四)-封装与调用--函数和参数化(详解)

    简介 前面虽然实现了参数的关联,但是那种只是记流水账的完成功能,不便于维护,也没什么可读性,随着水平和技能的提升,再返回头去看前边写的代码,简直是惨不忍睹那样的代码是初级入门的代码水平都达不到.接下来 ...

  10. MyBatis从入门到精通(十三):使用discriminator鉴别器映射

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解鉴别器映射discri ...