一:枚举

package homework;

public class EnumTest {

    public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size{SMALL,MEDIUM,LARGE};

其对于显示结果为:

我更改之后:

//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
//Size u=Size.valueOf("SMALL");
//System.out.println(s==u); //true

其显示了System.out.println(s.getClass().isPrimitive());的结果 为 false

结论:

枚举类型是引用类型
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

二:原码 反码 补码

原码:二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
例如
{原码10010= 反码11101 (10010,1为符号码,故为负)
(11101) 二进制= -2 十进制}
补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
JAVA采用的是 补码
 
三:变量的作用域
同名变量的屏蔽原则:两个或多个同名变量,定义了不同的数值时,在使用时,在使用的区间内,变量的值为距他最近(前面)的定义。
package homework;

public class dingyi {
public static String dingyi="ly";
public static void main(String[] args)
{
String dingyi="new lyking";
System.out.println(dingyi);
}
}

结果为:

四:数据类型

char 8位二进制数范围是-2的7次方到2的7次方-1

byte 8位带符号整数-128到127之间的任意整数

short 16位无符号整数-32768到32767之间的任意整数

int 32位带符号整数-2的31次方到2的31次方-1之间的任意整数

long 64位带符号整数-2的63次方到2的63次方-1之间的任意整数

float 32位单精度浮点数,double 64位双精度浮点数。

结论:Java会从低级类型向高级类型转换,即取值范围相对较小的数据类型 转换成 取值范围相对较大的数据类型。

package homework;

public class shuju {
public static void main(String[] args)
{
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}

其结果为

结论:

使用double类型的数值进行计算, 其结果是不精确的。

计算机只能识别二进制,一切的数据最后都要转换为二进制。例如源程序中的2.4是十进制的,要转换为二进制,但2.4 的二进制不是精确的2.4,只是接近2.4,实际为2.3 999 999 999 999 999,浮点数由两部分组成:指数和尾数,再进行浮点数的二进制与十进制的转换时,浮点数参与了计算,那么转换过程就变的不可预测,并且变得不可逆。

事实上浮点运算很少是精确的,只要是超过精度能表示的范围就会产生误差。往往产生误差不是 因为数的大小,而是因为数的精度

五:以下代码的输出结果是什么?

package homework;

public class differentjia {
public static void main(String[] args)
{
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
System.out.println("X+Y="+(X+Y));
}
}

其结果为:

结论:

System.out.println("X+Y="+X+Y);其中 + 为连接运算符
  System.out.println(X+Y+"=X+Y");其中 + 为加法运算符,为两个数相加

若加上括号System.out.println("X+Y="+(X+Y)); 可进行加法运算

JAVA第三周作业的更多相关文章

  1. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  2. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  3. 2017-2018-1 我爱学Java 第三周 作业

    Team Presentation 团队展示 队员学号 队名 团队项目描述 队员风采 团队首次合照 团队的特色描述 团队初步合作 前两周合作过程中的优缺点 如何改进 团队选题 确立,建立和初步熟悉团队 ...

  4. 1903021116—吉琛—Java第三周作业—eclipse创建Java程序

    项目 内容 课程班级博客链接 19级信计班 这个作业要求链接 eclipse如何创建java程序 java语言基础(上) 我的课程学习目标 1. 学习博客园更多使用技巧 2. 通过作业实践熟练与熟悉掌 ...

  5. java 第三周作业

    1.P132分析: long before = System.currentTimeMillis(); //返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1 ...

  6. 2017-2018-1 Java演绎法 第三周 作业

    团队任务:团队展示与选题 团队展示 队员学号及姓名 学号 姓名 主要负责工作 20162315 马军 日常统计,项目部分代码 20162316 刘诚昊 项目部分代码,代码质量测试 20162317 袁 ...

  7. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  8. 2017-2018-2 1723《程序设计与数据结构》第三周作业 & 实验一 总结

    作业地址 第三周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1667 提交情况如图: 实验一:https://edu.c ...

  9. 2017-2018-1 JaWorld 第三周作业

    2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...

随机推荐

  1. 【leetcode】Reorder List (middle)

    Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...

  2. 【python】入门学习(四)

    函数: 定义函数 #area.py from math import pi def area(radius): """Return the area of a circl ...

  3. Xcode添加注释

    VVDocumenter-Xcode,自动生成注释,感觉比较方便的插件,分享下,应该很多人都知道= = 在 https://github.com/onevcat/VVDocumenter-Xcode  ...

  4. python 获取启动参数

    pytho软件编写过程中,会经常使用带参数的启动脚本,这里记载下如何获取输入的参数. 使用sys.argv可获取启动时输入的所有参数,这个是数组,直接使用[]就可以获取,[0]代表的是启动文件时输入的 ...

  5. Swift - 让程序挂起后,能在后台继续运行任务

    1,程序的挂起和退出 由于iOS设备资源有限.当用户点击了home键,或者另一个应用程序启动了.那么原先那个程序便进入后台被挂起,不是退出,只是停止执行代码,同时它的内存被锁定.当应用程序恢复时,它会 ...

  6. 测试Open Live writer

    这个东西究竟是怎么用的啊,看起来好高端的样子...

  7. elipse插件整理

    整理一下用过的eclipse插件: 1. WindowBuilder :swing插件,可以拖啊拖啊拖出来一个窗口,可以显著提高开发效率.   官网: http://www.eclipse.org/w ...

  8. linux cpuInfo

    转自:http://blog.csdn.net/lgstudyvc/article/details/7889364   /proc/cpuinfo文件分析 在Linux系统中,提供了proc文件系统显 ...

  9. 设计模式学习之组合模式(Composite,结构型模式)(10)

    转载地址:http://www.cnblogs.com/zhili/p/CompositePattern.html 一.引言 在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系 ...

  10. Python 写Windows Service服务程序

    1.需求 为什么要开发一个windows服务呢?之前做一个程序,必须要读取指定目录文件License, 因为其他程序也在读取这指定目录的License文件,且License不同时会修改License的 ...