疑点: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. UVa 10480:Sabotage (最小割集)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. .NET Core学习笔记(1)——在Linux下运行Console APP

    都说.NET Core可以跨平台,说实话Linux咱也不太懂,咱也不敢问.怎样把一个简单的Console App在Linux下跑起来,真是费了我一番功夫.特做此篇以供指北. .NET Core的大饼我 ...

  3. C语言学习书籍推荐《C和指针 Pointers On C》下载

    <C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去.  全书共18 ...

  4. Bean property 'transactionManagerBeanName' is not writable or has an invalid set

    [2017-02-07 11:38:48,458]-[localhost-startStop-1]-[org.springframework.beans.factory.support.Default ...

  5. Spring MVC源码(二) ----- DispatcherServlet 请求处理流程 面试必问

    前端控制器 前端控制器,即所谓的Front Controller,体现的是设计模式中的前端控制器模式.前端控制器处理所有从用户过来的请求.所有用户的请求都要通过前端控制器.SpringMVC框架和其他 ...

  6. CDQZ集训DAY2 日记

    依然很爆炸. T1上来有50分暴力分,打完后注意到了后50分的随机数据,开始想怎么去对付他.然后就开始思考随机数据意味着什么.想了想,想打一个扫描线或者分治.决策了一下还是打了一个扫描线+链表.然而只 ...

  7. MyBatis从入门到精通:各个实体类

    SysUser类: package tk.mybatis.simple.model; import java.util.Date; public class SysUser { public Long ...

  8. ThreadGroup详细讲解

    import java.util.concurrent.TimeUnit; public class Test { public static void main(String[] args){ // ...

  9. idea万能快捷键(alt enter),你不知道的17个实用技巧!!!

    说明 IDEA里有一个万能快捷键(alt enter),功能非常强大,同一个快捷键,可以根据不同的语境提示你不同的操作, 很多人可能还不了解这些功能,在处理代码的时候还手动处理,了解这些技巧之后,你编 ...

  10. Java中的单例模式(Singleton Pattern in Java)

    Introduction 对于系统中的某个类来说,只有一个实例是很重要的,比如只有一个timer和ID Producer.又比如在服务器程序中,配置信息保留在一个文件中,这些配置信息由一个单例对象统一 ...