一、运行EnumTest.java程序。

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};

运行结果:

gsxdcsad

二、运行TestDouble.java程序。

public class TestDouble {

    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));
}
}

运行之后会出现这种情况:

使用Java,double 进行运算时,经常出现精度丢失的问题,总是在一个正确的结果左右偏0.0000**1。这样的情况通过double计算出来的结果去和0比较大小,尤其是有小数点的时候,经常会因为精度丢失而导致程序处理流程出错。所以尽量不要使用double来进行计算。

float与double的区别
      单精度浮点数在机内占4个字节,用32位二进制描述。

双精度浮点数在机内占8个字节,用64位二进制描述。 
      浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。

数符占1位二进制,表示数的正负。

指数符占1位二进制,表示指数的正负。

尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点

指数存指数的有效数字。
      指数占多少位,尾数占多少位,由计算机系统决定。

可能是数符加尾数占24位,指数符加指数占8位 -- float.

数符加尾数占48位,指数符加指数占16位 -- double. 
      知道了这四部分的占位,按二进制估计大小范围,再换算为十进制,就是你想知道的数值范围。
      对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,java语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
      所以你把double赋值给float变量的过程,实际上是一个强制转换,肯定会损失精度。

三、运行程序。

        int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");

运行结果如下:

加号有两个作用:相加作用和连接符作用。当加号两边都是数值类型时为求和作用;当一边是数值类型一边是非数值类型或两边都是非数值类型时当作连接符使用。所以第一行双引号外第一个加号是起连接符的作用所以x,y不会相加,第二行第一个加号是求和作用,所以x,y的值会相加。

第一题代码:

//加减乘除运算
//赵东睿 20142948
//2015/10/5
package operation; import javax.swing.JOptionPane; public class operation { public static void main(String[] args) { String firstNumber,secondNumber;
int number1,number2,sum,dif,pro,quo; firstNumber = JOptionPane.showInputDialog("Enter first intager");
secondNumber = JOptionPane.showInputDialog("Enter second intager"); number1 = Integer.parseInt(firstNumber);
number2 = Integer.parseInt(secondNumber); sum = number1 + number2;
dif = number1 - number2;
pro = number1 * number2;
quo = number1 / number2;
JOptionPane.showMessageDialog(null,"The sum is " + sum + "\n" + "The dif is " + dif + "\n" + "The pro is " + pro + "\n" + "The quo is " + quo,"Results",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
} }

JAVA基础语法动手动脑实践体会的更多相关文章

  1. 第3天 Java基础语法

    第3天 Java基础语法 今日内容介绍 引用数据数据类型(Scanner.Random) 流程控制语句(if.for.while.dowhile.break.continue) 引用数据类型 Scan ...

  2. 第一章 –– Java基础语法

    第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...

  3. Java基础语法(6)-注释

    title: Java基础语法(6)-注释 blog: CSDN data: Java学习路线及视频 用于注解说明解释程序的文字就是注释. 提高了代码的阅读性:调试程序的重要方法. 注释是一个程序员必 ...

  4. Java基础语法(7)-数组

    title: Java基础语法(7)-数组 blog: CSDN data: Java学习路线及视频 1.数组的概述 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并 ...

  5. JAVA 数组作业——动手动脑以及课后实验性问题

    JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...

  6. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  7. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

  8. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  9. java——基础语法

    java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...

随机推荐

  1. 1625 codevs数字金字塔

    1625 数字金字塔 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解   题目描述 Description 考虑在下面被显示的数字金字塔. 写 ...

  2. JavaWeb框架_Struts2_(二)----->Struts2的核心配置

    2.  Struts2的核心配置 2.1  配置Struts.xml文件 2.1.1 Struts.xml文件 Struts2框架的核心配置文件是Struts.xml,该文件主要用来配置Action和 ...

  3. bzoj 2839 集合计数 —— 二项式反演

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2839 设 \( f(i) \) 为至少 \( i \) 个选择,则 \( f(i) = C_ ...

  4. 9.Selenium+HTMLTestRunner无法生成测试报告(Pycharm)

    1.若编辑器为Pycharm,代码无任何错误,且运行成功,但是无法生成测试报告,原因如下:(本质是编辑器原因) 若光标在如图位置,右键显示为“run 'unittest in XX'”,若是显示这种, ...

  5. Python 函数之装饰器

    1.函数 #### 第一波 #### def foo(): print 'foo' foo #表示是函数 foo() #表示执行foo函数 #### 第二波 #### def foo(): print ...

  6. Xmodem通信协议实例

    在工作时串口通信的过程中需要传输文件,这里就就需要使用通信协议,此时选择的是Xmodem协议作简要研究 1.什么是Xmodem协议 Xmodem协议是串口通信中广泛使用到的异步文件传输协议.以128字 ...

  7. SVN 服务器端的搭建-及多仓库管理-OK

    1.首先安装SVN这个软件 apt-get install subversion 2.在home目录下创建一个名为svn的文件夹(文件夹的名字随便起) mkdir /kk/svn/rda8501_co ...

  8. POJ2831(次小生成树问题)

    Can We Build This One? Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 1475   Accepted: ...

  9. [转载]Linux 内核list_head 学习(一)

    在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head.虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作li ...

  10. 获取wifi热点

    https://stackoverflow.com/questions/31555640/how-to-get-wifi-ssid-in-ios9-after-captivenetwork-is-de ...