headFirst java学习笔记之一:基础知识部分(5.7)

一、进入java的世界

1.你要做的事情:

编写源代码Party.java -》 编译:javac Party.java,产生Party.class文件(eclipse是自动编译的,.class文件存放在Path路径下)-》在某个jvm上执行:java Party

2.一些java基本语法的东西:

(1)java中的Integer和boolean并不相容,所以不能用整数类型作为条件判断的条件,只能用boolean值。比如下面的写法就是错的。

1 int x = 1;
2 while(x){
3    //
4 }

(2)print和println的区别:println会在最后面插入换行。



二、拜访对象村

(1)类与对象的区别

(2)垃圾回收机制:创建对象时,它被会存放在称之为堆(heap)的内存区域中。java有内存回收机制。当它察觉某个对象不会再被用到,就会标记可回收。当内存不足时,就会清理。

(3)public、static、final:在任何类中的任何程序都可以存取public static方法。任何变量只要加上public、static和final,都会变成全局可用的常数。



三、认识变量

(1)变量的类型:primitive和对象引用类型。

primitive主数据类型有8种:boolean、char、byte、short、int、long、float、double。

对象引用变量保存的是存取对象的方法,所以b=c也只是传递的存取方法,让c也指向b指向的对象。ps:数组也是对象,不管里面放的是primitive还是对象引用类型。

(2)创建对象的数组时,很容易犯的一个错误:

1 Book[] myBooks = new Books[];
2 myBooks[0].title = "harry.potter";

然而此时myBook[0]并没有引用一个对象,可以理解为我们的myBooks引用了一个书架,但是还没有书让你来引用呢~

1 Book[] myBooks = new Books[];
2 myBooks[0] = new Books();
3 myBooks[0].title = "hp";

四、对象的行为

(1)实参与形参(argument and parameter):实参是传给方法的值,当它传入方法后就成了形参。

(2)java是通过值传递的,也就是拷贝传递。

(3)数据隐藏:可通过.符号直接存取实例变量如cat.height,这很危险,最好强迫必须通过getter和setter,然后把实例变量标记为private。

(4)初始化:数字的primitive的预设为0,包括char哦。boolean的预设为false,对象引用则为null。

(5)实例变量与局部变量(声明在方法中的变量)的区别:最重要的一点,局部变量没有预设值,如果在变量被使用之前没有初始化,会出现编译错误。

(6)==和equals():当判定两个primitive主数据类型是否相等,用==,当判断两个引用变量是否引用到堆上同一个对象,用==,当需要知道两个对象是否真的相等,就要用equals()。

时间: 2024-10-02 18:08:44

headFirst java学习笔记之一:基础知识部分(5.7)的相关文章

C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)

一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字节的值,该如何在它上面调用方法? 二:值类型转换为引用类型--装箱 2.1CLR对值类型进行装箱时:新分配托管堆内存,将值类型的实例字段拷贝到新分配的内存中,返回托管堆中新分配对象的地址.这个地址就是一个指向对象的引用. int i = 10; Object obj = i; 三:将引用类型转换为值

[Golong]学习笔记(一) 基础知识

Go编程基础 Go的内置关键字(25个) 不多 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continute for import return var Go的注释方法(和js一样) 单行注释: // 多行注释: /**/ Go程序一般结构 common_structure.go 通过 pack

Scala学习笔记--正则表达式基础知识、如何在scala内使用

正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www.jb51.net/tools/zhengze.html  版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 使用格式:  见java API  http://docs.oracle.com/javase/7/docs/api/ java : java.util.reg

.net学习笔记---xml基础知识

一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基础: <?xml version="1.0" encoding="utf-8" ?> <books ISBN="9787544238212"> <title>xml学习笔记</title> <pr

C#学习笔记(基础知识回顾)之枚举

一:枚举的含义 枚举是用户定义的整数类型.在声明一个枚举时,要指定该枚举的示例可以包含的一组可接受的值.还可以给值指定易于记忆的名称.个人理解就是为一组整数值赋予意义. 二:枚举的优势 2.1:枚举可以使代码更易于维护,有助于确保给变量指定合法的.期望的值. 2.2:枚举可以使代码清晰,用描述性的名称来表示整数值,增加代码可读性. 三:枚举的使用 /// <summary> /// 声明一个枚举,审核状态 /// </summary> public enum AduitStatus

[算法学习笔记]算法基础知识

算法基础知识 算法的五大要素 有穷性:算法必须能够在有限个步骤内完成. 确定性:算法的每一步必须有确定的定义. 输入 输出 可行性:算法的每个步骤都必须能分解为基本的可执行操作,每个步骤都必须能在有限时间内完成 循环不变式 循环中的循环不变式可以帮助我们理解算法的正确性.为了证明算法的正确,必须证明循环不变式的三个性质: 1. 初始化:循环不变式在循环开始之前是正确的. 2. 保持:循环不变式在循环的每一次迭代开始之前是正确的. 3. 终止:在循环结束时,不变式会给出一个可以对判断算法是否正确有

《汇编语言》学习笔记1——基础知识

第一章   基础知识 汇编语言的组成 汇编指令:机器码的助记符,有对应的机器码(汇编语言的核心) 伪指令:没有对应的机器码,由编译器执行,计算机并不执行 其他符号:如:+.-.*./等,由编译器识别,没有对应的机器码 指令和数据都是应用上的概念,在内存或磁盘上指令和数据都是二进制信息. 存储器被划分为若干个存储单元,每个存储单元从0开始. 一个存储器有128个存储单元,一个存储单元存储一个字节,一个字节有8个二进制位. 内存换算: 1bit=8byte(B).1KB=1024B.1MB=1024

java并发编程实战学习笔记之基础知识与对象的共享

第二章:线程安全性 2.1 什么是线程安全性 可以被多个线程调用,并且在线程之间不会出现错误的交互 方法内的局部变量不需要保护,因为它存储在栈中,是每个线程独有的 2.2 原子性 一个共享变量可以定义为原子变量:atomic 多个共享变量时,之间可能存在某种依赖关系,分别定义为原子变量会由于竞态条件,出现错误,比如先检查后执行. 竞态条件:某个计算的正确性取决于多个线程的交替执行时序时 这就需要复合操作,将多个变量的读写操作作为一个程序块,接下来采用 2.3 加锁机制 将一个复合程序块采用内置锁

Spring学习笔记01_基础知识

1.Spring体系结构? 主要分为5大模块: (1)数据访问和集成:JDBC.ORM.OXM.JMS.事务管理. Spring站在DAO的抽象层面,建立了一套面向DAO层统一的异常体系,同时将各种访问数据的检查异常型异常转换为非检查异常,为整合各种之久层框架提供给了基础. 其次,Spring通过模板化技术对各种数据库访问技术进行了薄层的封装,将模式化的代码隐藏起来,简化了数据库访问的代码. 这样,Spring就建立了和数据形式访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明