1、在java中,要产生对象必须先定义类,类是对象的设计图,对象是类的实例。类定义时使用class关键词,建立实例对象要使用new关键词。以类名声明的变量,称为参考名称、参考变量或直接叫参考。

2、想在建立对象时想要一并进行某个初始流程,像是指定数据成员值,可以定义构造函数。构造函数是与类名称同名而且没有返回值的方法。参数名称与对象数据成员同名时,可以在数据成员前使用this关键字来区别。

3、java.util.Scanner的nextInt()方法会在标准输入中查找是否有输入的字符,以空格或换行分隔,有的话会尝试将之剖析为int类型;其他还有nextByte()、nextShort()、nextLong()、nextFloat()、nextDouble()、nextBoolean()等方法。如果直接去上一个字符串(以空格或换行分隔),则使用next();如果想取得用户输入的整行文字,则使用nextLine()(以换行分隔)。

4、java包括其他程序语言遵守IEEE 754浮点数运算规范,使用分数与指数来表示浮点数。如果要求精确度,那就要小心使用浮点数,而且别用==直接比较浮点数的运算结果。可以使用java.math.BigDecimal类得到想要的精确度。

5、=是用在指定参考名称参考某个对象,而==是用在比较两个参考名称是否参考的是同一对象。

6、想要像操作对象一样来操作基本类型,可以使用Byte、Short、Character、Integer、Long、Float、Double等类来打包基本类型,这些类就是所谓的打包器(基本类型的包装类)。除了使用new创建基本类型打包器之外,从J2SE 5.0之后提供了自动装箱功能。自动装箱功能与自动拆箱功能实际上是编译程序提供了方便。

7、数组在java中就是对象,索引从0开始,存取超出索引范围,就会抛出ArrayIndexOutOfBoundsException错误。自JDK5之后,有了更方便的增强式for循环,可用于循环取得数组元素。使用new建立数组后,每个索引元素会有默认值,基本类型的默认值为0,引用类型(类类型)的默认值为null。在java中数组一旦建立,长度就固定了。

8、无论是System.arraycopy()还是Array.copyOf()用在类类型声明的数组时,都是执行浅层复制,也就是说复制的都是对象的引用。

9、字符串的本质是打包字符数组的对象,是java.lang.String类的实例。在启动JVM并制定执行类时,可以一并制定命令行自变量,会收集为String数组,有main()中的args参考。

10、以“”包括的字符串,只要内容相同(序列、大小写相同),无论是程序中出现几次,JVM都只会创建一个String实例,并在字符串池中维护。如果想要比较字符串的实际内容是否相同,不要使用==,要使用equals()。

11、字符串对象一旦建立,就无法更改对象中的任何内容,对象上没有任何方法可以更改字符串的内容。使用+连接字符会生成新的String实例,不要将+用在重复性的连接场合。

12、使用javac指令编译程序时,如果没有指定-encoding选项时,会使用操作系统默认的字符编码。

课后练习题:

1、int x=100;  int  y=100;

Integer wx=x; Integer wy=y;

System.out.println(x == y);

System.out.println(wx == wy);

在JDK5以上的环境编译与执行,显示结果为:true,true。

2、 int x=200;  int  y=200;

Integer wx=x; Integer wy=y;

System.out.println(x == wx);

System.out.println(y == wy);

在JDK5以上的环境编译与执行,显示结果为:true,true。

3、int x=300;  int  y=300;

Integer wx=x; Integer wy=y;

System.out.println(wx.equals(x));

System.out.println(wy.equals(y));

在JDK5以上的环境编译与执行,显示结果为:true,true。

4、int[] arr1 = {1,2,3};

int[] arr2 = arr1;

arr2[1] = 20;

System.out.println(arr1[1]);

输出结果为 20;

5、int[] arr1 = {1,2,3};

int[] arr2 = new int[arr1.length];

arr2 = arr1;

for(int value : arr2){

System.out.printf(“%d”,value);

}

执行后输出1 2 3。

6、String[] Strs = new String[5];

以上语句会产生0个String实例。

7、String[] strs = {“java”,”java”,”java”,”java”,”java”};

以上语句会产生1个String实例。

8、String[][] strs = new String[3][2];

以上语句会产生0个String实例。

9、String[][] strs = {

{“java”,”java”,”java”},

{“java”,”java”,”java”,”java”}

};

System.out.println(strs.length);

System.out.println(strs[0].length);

System.out.println(strs[1].length);

执行输出后会显示2 3 4。

10、String[][] strs = {

{“java”,”java”,”java”},

{“java”,”java”,”java”,”java”}

};

for(String[] row : strs ){

for(String str : row){

……

}

}

《java JDK7 学习笔记》之类和对象的更多相关文章

  1. 《java JDK7 学习笔记》之对象封装

    1.构造函数实现对象初始化流程的封装.方法封装了操作对象的流程.java中还可以使用private封装对象私有数据成员.封装的目的主要就是隐藏对象细节,将对象当做黑箱子进行操作. 2.在java命名规 ...

  2. 《java JDK7 学习笔记》之Collection

    一.使用Collection 收集对象 1.认识Collection架构 Java SE提供了满足各种需求的API,在使用这些API前,建议先了解其继承与接口操作架构,才能了解何时使用哪个类,以及类之 ...

  3. 《java JDK7 学习笔记》之异常处理

    1.java中所有的错误都会被打包为对象,JVM会尝试执行try区块中的程序代码,如果发生错误,执行流程会跳离错误发生点,然后比较catch括号中声明的异常类型,是否符合被抛出的错误对象类型,如果是的 ...

  4. 《java JDK7 学习笔记》之继承与多态

    1.面向对象中,子类继承父类,避免重复的行为定义,不过并非为了避免重复定义行为就使用继承.应该正确判断使用继承的时机及继承之后灵活的运用多态,才是学习继承时的重点. 2.程序代码重复在程序设计上,就是 ...

  5. 《java JDK7 学习笔记》之接口与多态

    1.对于"定义行为"也就是接口,可以使用interface关键字定义,接口中的方法不能操作,直接标示为abstract,而且一定是public修饰的. 类要操作接口,必须使用imp ...

  6. 《java JDK7学习笔记》之跨平台与路径设置

    Platforms表示Solaris.Linux.Windows各种操作系统平台,在这些平台上架构了java Virtaul Machine,简称JVM,Java虚拟机. Java虚拟机可以让java ...

  7. 《java jdk7学习笔记》之java三大平台

    Sun公司在2006年底,就将三大平台正名为java SE.java EE和java ME.也有很多人习惯用J2SE.J2EE和J2ME. 1.java SE java SE(标准版)是各应用平台的基 ...

  8. 《Java JDK7 学习笔记》课后练习题1

    1.()组织负责监督审查Java相关技术规格的演进. A. JCP B. Apache C. EU D. W3C 2.Java技术规格必须以()正式文件提交审查. A. RFC B. JSR C. I ...

  9. 《Java JDK7 学习笔记》课后练习题2

    1.如果在hello.java中撰写以下的程序代码: public class Hello {     public static dmain(String[]args) {          Sys ...

随机推荐

  1. WebService入门案例

    关于WebService的作用和好处,大家应该都了解.但如何在Asp.Net中添加Web Service等问题一直是新手朋友的一大难题.鉴于网上没有一个像样的实际案例,特将课程设计中运用到的WebSe ...

  2. C#对SQL Server数据库的备份与还原

    备份数据库: string connectionString = "server=服务器名称;database=数据库名;uid=登入名;pwd=登入密码";         // ...

  3. 【集合框架】JDK1.8源码分析之LinkedList(七)

    一.前言 在分析了ArrayList了之后,紧接着必须要分析它的同胞兄弟:LinkedList,LinkedList与ArrayList在底层的实现上有所不同,其实,只要我们有数据结构的基础,在分析源 ...

  4. spring boot 配置启动后执行sql, 中文乱码

    spring.datasource.schema指定启动后执行的sql文件位置. 我发现中文乱码,原因是没有指定执行sql script encoding: spring: datasource: u ...

  5. TF-IDF提取行业关键词

    1. TF-IDF简介 TF-IDF(Term Frequency/Inverse Document Frequency)是信息检索领域非常重要的搜索词重要性度量:用以衡量一个关键词\(w\)对于查询 ...

  6. SQL Server 2014里的性能提升

    在这篇文章里我想小结下SQL Server 2014引入各种惊艳性能提升!! 缓存池扩展(Buffer Pool Extensions) 缓存池扩展的想法非常简单:把页文件存储在非常快的存储上,例如S ...

  7. 为 Web 设计师准备的 20 款 CSS3 工具

    1.CSS3 Generator 2. Border Radius 3. CSS3 Maker 4. CSS3 Transforms 5. CSS3 Drop shadow generator 6. ...

  8. C# GDI+ 处理文本的两个小技巧

    private void button7_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.FillR ...

  9. authorization与URL授权

    利用Web.config中的authorization标签设置授权属于URL授权. 使用 URL 授权 通过 URL 授权,您可以显式允许或拒绝某个用户名或角色对特定目录的访问权限.为此,请在该目录的 ...

  10. WCF入门教程(三)定义服务协定--属性标签

    WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...