一、运行EnumTest.java程序。

  1. public class EnumTest {
  2.  
  3. public static void main(String[] args) {
  4. Size s=Size.SMALL;
  5. Size t=Size.LARGE;
  6. //s和t引用同一个对象?
  7. System.out.println(s==t); //
  8. //是原始数据类型吗?
  9. System.out.println(s.getClass().isPrimitive());
  10. //从字符串中转换
  11. Size u=Size.valueOf("SMALL");
  12. System.out.println(s==u); //true
  13. //列出它的所有值
  14. for(Size value:Size.values()){
  15. System.out.println(value);
  16. }
  17. }
  18.  
  19. }
  20. enum Size{SMALL,MEDIUM,LARGE};

运行结果:

gsxdcsad

二、运行TestDouble.java程序。

  1. public class TestDouble {
  2.  
  3. public static void main(String args[]) {
  4. System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
  5. System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
  6. System.out.println("4.015 * 100 = " + (4.015 * 100));
  7. System.out.println("123.3 / 100 = " + (123.3 / 100));
  8. }
  9. }

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

使用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变量的过程,实际上是一个强制转换,肯定会损失精度。

三、运行程序。

  1. int X=100;
  2. int Y=200;
  3. System.out.println("X+Y="+X+Y);
  4. System.out.println(X+Y+"=X+Y");

运行结果如下:

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

第一题代码:

  1. //加减乘除运算
  2. //赵东睿 20142948
  3. //2015/10/5
  4. package operation;
  5.  
  6. import javax.swing.JOptionPane;
  7.  
  8. public class operation {
  9.  
  10. public static void main(String[] args) {
  11.  
  12. String firstNumber,secondNumber;
  13. int number1,number2,sum,dif,pro,quo;
  14.  
  15. firstNumber = JOptionPane.showInputDialog("Enter first intager");
  16. secondNumber = JOptionPane.showInputDialog("Enter second intager");
  17.  
  18. number1 = Integer.parseInt(firstNumber);
  19. number2 = Integer.parseInt(secondNumber);
  20.  
  21. sum = number1 + number2;
  22. dif = number1 - number2;
  23. pro = number1 * number2;
  24. quo = number1 / number2;
  25. 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);
  26. System.exit(0);
  27. }
  28.  
  29. }

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. 基于JQ的多选/全选/反选及获取选中的值

    <!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...

  2. 修改git commit 最后一次提交的注释信息 以及如何退出git bash vim编辑器

    https://www.cnblogs.com/sandy-happyhour/p/5950084.html 今天用git commit -m “注释”提交的时候,注释写错了,于是各种查资料开始了和g ...

  3. ORACLE初始化参数文件概述

    ORACLE初始化参数文件概述 在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的.这两种参数文件都是用来存储 ...

  4. 使用Jsonp实现跨域请求

    来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1.exampl ...

  5. [C++] 分治法之棋盘覆盖、循环赛日程表

    一.分治的基本思想 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之. 对于一个规模为 n 的问题,若问题可以容易地解决,则直接解决,否则将其分解为 k 个规模较小的子 ...

  6. 蓝桥杯 基础练习 BASIC-24 龟兔赛跑预测

    基础练习 龟兔赛跑预测   时间限制:1.0s   内存限制:512.0MB 问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑.于是世界上各 ...

  7. tree指令

    tree 中文解释:tree功能说明:以树状图列出目录的内容.语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录.. ...

  8. FreeType 管理字形

    转自:http://blog.csdn.net/hgl868/article/details/7254687 1.字形度量 顾名思义,字形度量是对应每一个字形的特定距离,以此描述如何对文本排版.    ...

  9. “百度杯”CTF比赛 十一月场(Misc)

    签到题: 题目提示: 文件在i春秋的ctf2群里,加群下载文件 下载下来之后发现有压缩密码 题目提示有提示解压密码:key:ichunqiumemeda 打开文件,得到flag 签到题2: 点击下载附 ...

  10. Decorator模式 装饰器模式

    Android 使用了装饰器模式 1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法,或者须要给方法添加 ...