Java 第二天

/*/------------------------

  开始第二天,心情不爽// 继续打代码

  自动递增和递减  **

 先贴上代码

 1 package study.Demo;
 2 /**
 3  * ++i
 4  *
 5  * @author Administrator
 6  *
 7  */
 8 public class AutoInc {
 9
10     public static void main(String[] args) {
11         int i = 1;
12         System.out.println(i);
13         System.out.println(++i);  //先加一后运算
14         System.out.println(i++);  //先运算后加一
15         System.out.println(i);
16         System.out.println(--i);
17         System.out.println(i--);
18         System.out.println(i);
19
20     }
21
22 }

  再贴上 运行结果, 对比理解下--

1 1
2 2
3 2
4 3
5 2
6 2
7 1

  ++a 相当于 a = a +1.  --a 相反.

  前面代码注释有,不过再说一遍  ++或--在前 是指先执行运算,再生成值, 对于++或者--在后 其次当然相反, 是先生成值,然后再执行运算//

  

/*/------------------------

  关系操作符  这点不用多说、

    测试对象的等价性

 代码如下。 主要是  == 和 !=  ,这两个容易迷迷惑。

 1 package study.Demo;
 2
 3 public class Equivalence {
 4     public static void main(String[] args) {
 5         Integer n1 = new Integer(47);
 6         Integer n2 = new Integer(47);
 7         System.out.println(n1 == n2);
 8         System.out.println(n1 != n2);
 9
10     }
11 }

  /*/  Output

 

1 false
2 true

  相信很是疑惑吧, ==才应该是 true的  ,!= 是false    --      这理解错了,Integer对象确实相同,尽管对象内容相同,但是对象的引用确实不同的。 ==和 != 是对对象的引用,所以才是以上输出结果// 多看看理解下。

  那么我们就有想法了,如果是比较对象的内容呢。

  当然我们可以用 equals() 这个是所有对象都适用的特殊方法 ,但这个然而并不适用‘基本类型’基本类型直接使用 ==和!= 即可了。

    贴个equals()的代码。

1 package study.Demo;
2
3 public class EqualsMethod {
4     public static void main(String[] args) {
5         Integer n1 = new Integer(47);
6         Integer n2 = new Integer(47);
7         System.out.println(n1.equals(n2));
8     }
9 }

  /*/ Output

 

1 true

  我们总是活在想象的世界,醒来却发现并不是那么简单。

  比如以下代码。

 1 package study.Demo;
 2
 3 class Value{
 4     int i;
 5 }
 6
 7 public class EqualsMethod2 {
 8     public static void main(String[] args) {
 9         Value v1 = new Value();
10         Value v2 = new Value();
11         v1.i = v2.i = 100;
12         System.out.println(v1.equals(v2));
13     }
14 }

  终于醒来了 却发现并不是 true ,然是 false

  /*/ Output

 

1 false

  这是由于equals()的默认行为是比较引用。所以除非在自己的新类中覆盖equals()方法,否则不可能表现出我们希望的行为。

  大多数Java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用。

/*/------------------------

  看完,做个练习、

  要求 :创建一个名为Dog的类,它包含两个String域: name和says。在main()方法中,创建两个Dog对象,一个名为spot(它的叫声为“Ruff!”),另一个名为scruffy(它的叫声为“Wurf!”)。然后显示它们的名字和叫声。

  代码贴上。

 1 package study.Demo;
 2
 3 class Dog{
 4     String name;
 5     String says;
 6 }
 7
 8 public class DogDemo {
 9     public static void main(String[] args) {
10         Dog spot = new Dog();
11         Dog scruffy = new Dog();
12         spot.name = "Ruff!";
13         scruffy.says = "Wurf!";
14         System.out.println("name: " + spot.name + "\nsays: "+ scruffy.says);
15     }
16 }

  /*/ Output

1 name: Ruff!
2 says: Wurf!

先到这里 去做做南阳理工题//

  

时间: 2024-10-11 12:20:14

Java 第二天的相关文章

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很多表现很好的同学,他们课前准备充分,在课堂上完全没有任何压力,我也意识到了我课前没有花大量时间看书的严重性,所以我下课便去看第三章了,以后也一定要好好看书,找出不懂得问题,课上也要认真向其他优秀同学学习,不懂的问题也要想办法解决. 今天写了PPT上的任务1-9,着实也遇到了很多不会的问题,像是最后的

2018-03-11 20165235 祁瑛 Java第二周考试总结

20165235 祁瑛 Java第二周考试总结 课后习题p16 代码编写 class Person { void speakHello (){ System.out.print("nin hao "); System.out.println("nice to meet you"); } } public class Xiti { public static void main (String arg[]){ Person zhang = new Person();

Java 第二次测试总结

Java 第二次测试总结 1. 相关知识点总结 Java测试题循环与递归知识点 补充知识点: for循环语句:for(表达式1:表达式2:表达式3)表达式一负责完成变量的初始化!表达式2是值为boolean型的表达式,称为循环条件,表达式3用来休整变量,改变循环条件. 若switch语句中的表达式的值不与任何case的常量值相等,则执行default后面的若干语句. for(声明循环变量:数组的名字)意思为循环变量一次取数组中的每一个元素的值. Scanner类可创建对象,注意语句中next后的

Effective Java 第二版 Enum

/** * Effective Java 第二版 * 第30条:用enum代替int常量 */ import java.util.HashMap;import java.util.Map; public class EnumTest { /*媒体操作*/ public final static int START = 1; public final static int PAUSE = 2; public final static int RESUME = 3; public final sta

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十二章:控制流程语句中的决策语句if-else 下一章 "全栈2019"Java第二十三章:流程控制语句中决策语句switch上篇 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf

“全栈2019”Java第二十八章:数组详解(上篇)

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十八章:数组详解(上篇) 下一章 "全栈2019"Java第二十九章:数组详解(中篇) 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组"

JAVA第二次作业

import javax.swing.*;import javax.swing.event.AncestorEvent;import javax.swing.event.AncestorListener; import java.awt.*; //导入必要的包import java.awt.event.ActionEvent;import java.awt.event.ActionListener; public class load extends JFrame{JTextField jTex

java第二周学习总结

第二周进入javaoo的学习,也就是面向对象,初识对象的我们还相对很懵逼. 首先,有对象才能分析出类,分析出类后才能实例化对象. 这句话的意思是:类是对象的抽象,对象是类的实例. 类是具有相同属性和行为的一组对象的抽象. 基础重要点 : 1.一个java文件只能有一个公共类,但可以有无数个类. 2.所有的局部变量都在栈当中,new出来的全部在堆中.全局变量也在堆中. 3.例子:newDog().feed("吃饭")   表匿名对象,只能用一次. 4.在本类的方法中访问本身的属性,用th

java第二周学习心得

时光匆匆,第二周的学习 就过去了,对于java程序的编写还是不怎么熟悉 Java虚拟机JVM是Java语言最大的特点,JVM是一个可运行Java字节码的虚拟计算系统..它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信.还包括一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域. JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行.这个也是java最大的特色跨平台性,也就是一处编写,处处运行.JVM在执