动手动脑1:枚举变量   运行EnumTest.java

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

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。这个题目中这个枚举变量中定义 Small middle large三种。Size.SMALL!=Size.MIddle后面是枚举变量的foreach迭代。枚举变量不属于原始数据类型,他的每个具体值都引用一个特定的对象。相同的值引用同一个对象。

动手动脑2:数值的二进制表示。

原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作〔x〕原。

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作〔X〕补。

机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作〔X〕反。

package test2;
public class CeShiCLSASS {
 public static void main(String[]args)
 {
  int a=15;
  int b=2;
  System.out.println(a&b);
  System.out.println(a|b);
  System.out.println(a^b);
 }
}

 示例1:两数相加

import javax.swing.JOptionPane;  // import class JOptionPane
public class Addition {
   public static void main( String args[] )
   {
      String firstNumber,   // first string entered by user
             secondNumber;  // second string entered by user
      int number1,          // first number to add
          number2,          // second number to add
          sum;              // sum of number1 and number2
      // read in first number from user as a string
      firstNumber =
         JOptionPane.showInputDialog( "Enter first integer" );
      // read in second number from user as a string
      secondNumber =
         JOptionPane.showInputDialog( "Enter second integer" );
      // convert numbers from type String to type int
      number1 = Integer.parseInt( firstNumber );
      number2 = Integer.parseInt( secondNumber );
      // add the numbers
      sum = number1 + number2;
      // display the results
      JOptionPane.showMessageDialog(
         null, "The sum is " + sum, "Results",
         JOptionPane.PLAIN_MESSAGE );
      System.exit( 0 );   // terminate the program
   }
}

 动手实验1:运行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));
    }
}
 

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

解决方案1:使用BigDecimal类   BigDecimal.java

注意,在构建BigDecima对象时应该使用字符串而不是double数值,否则,仍有可能引发计算精度问题。字符串转为数字的基本方法 int number=Integer。parseInt(numberString);

动手动脑:以下代码的输出结果是啥?

package test2;
public class CeShiCLSASS {
 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");
 }
}
 

 测试:InputTest.java

import java.util.*;
public class InputTest

   public static void main(String[] args)
   { 
      Scanner in = new Scanner(System.in);
      // get first input
      System.out.print("What is your name? ");
      String name = in.nextLine();
      // get second input
      System.out.print("How old are you? ");
      int age = in.nextInt();
     
     
    /* int i;
     String value="100";
     i=Integer.parseInt(value);
     i=200;
     String s=String.valueOf(i);*/
    
      // display output on console
      System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
 
     
   }
}

测试:RandomStr

package test2;
 
public class RandomStr
{
 public static void main(String[] args)
 {
  //定义一个空字符串
  String result = "";
  //进行6次循环
  for(int i = 0 ; i < 6 ; i ++)
  {
   //生成一个97~122的int型的整数
   int intVal = (int)(Math.random() * 26 + 97);
   //将intValue强制转换为char后连接到result后面
   result = result + (char)intVal;
  }
  //输出随机字符串
  System.out.println(result);
  }
}

测试:SwitchTest.java

// Drawing shapes
import java.awt.Graphics;
import javax.swing.*;

public class SwitchTest extends JApplet {
   int choice;

public void init()
   {
      String input;

input = JOptionPane.showInputDialog(
                 "Enter 1 to draw lines\n" +
                 "Enter 2 to draw rectangles\n" +
                 "Enter 3 to draw ovals\n" );

choice = Integer.parseInt( input );
   }

public void paint( Graphics g )
   {
      for ( int i = 0; i < 10; i++ ) {
         switch( choice ) {
            case 1:
               g.drawLine( 10, 10, 250, 10 + i * 10 );
               break;
            case 2:
               g.drawRect( 10 + i * 10, 10 + i * 10,
                           50 + i * 10, 50 + i * 10 );
               break;
            case 3:
               g.drawOval( 10 + i * 10, 10 + i * 10,
                           50 + i * 10, 50 + i * 10 );
               break;
            default:
               JOptionPane.showMessageDialog(
                  null, "Invalid value entered" );
         } // end switch
      } // end for
   } // end paint()
} // end class SwitchTest

/**************************************************************************
* (C) Copyright 1999 by Deitel & Associates, Inc. and Prentice Hall.     *
* All Rights Reserved.                                                   *
*                                                                        *
* DISCLAIMER: The authors and publisher of this book have used their     *
* best efforts in preparing the book. These efforts include the          *
* development, research, and testing of the theories and programs        *
* to determine their effectiveness. The authors and publisher make       *
* no warranty of any kind, expressed or implied, with regard to these    *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or       *
* consequential damages in connection with, or arising out of, the       *
* furnishing, performance, or use of these programs.                     *
*************************************************************************/

课堂测试:
package sizeyunsuan;
import java.util.Random;
import java.util.Scanner;
public class Sizeyunsuan
{
  
   public static void main(String[]args)
   {  
  //a控制前一个数,b控制加减乘除,c控制后一个数。
    int a=(int)(Math.random()*100);
    int b=(int)(Math.random()*4);
    int c=(int)(Math.random()*100);
   
    System.out.println("请输入您想要多少道题");
    Scanner in=new Scanner(System.in);
    int j;
    j=in.nextInt();
    System.out.println("请输入您想几个一排:");
    int k;
    k=in.nextInt();
   
 for(int i=1;i<=j;i++)
 {
  b=(int)(Math.random()*4);//产生[0,4)的随机数,用此来控制加减乘除,0代表加,依次类推。
  
  
  if(b==0)//实现两数相加不超过100
  { 
    do
    {
     a=(int)(Math.random()*100);
     c=(int)(Math.random()*100);
     if(a+c<100)
     {
      if(i%k==0)
      {
      System.out.println("第"+i+"道题:"+a+"+"+c+"="+"         ");
      break;
      }
      else
      {
       System.out.print("第"+i+"道题:"+a+"+"+c+"="+"         ");
       break;
      }
     }
    
    }while(a>=0);
  }
  
  
  if(b==1)//实现两数相减大于0
  {
   do
   {
    a=(int)(Math.random()*100);
    c=(int)(Math.random()*100);
    if(a>c)
    {
      if(i%k==0)
      {
      System.out.println("第"+i+"道题:"+a+"-"+c+"="+"         ");
      break;
      }
      else
      {
       System.out.print("第"+i+"道题:"+a+"-"+c+"="+"         ");
       break;
      }
    }
   }while(a>=0);
  }
  
  
  
  if(b==2)//实现两数相乘不超过100
  {
   
   do
   {
   a=(int)(Math.random()*100);
   c=(int)(Math.random()*100);
   if(a*c<100)
   {
     if(i%k==0)
     {
     System.out.println("第"+i+"道题:"+a+"*"+c+"="+"         ");
     break;
     }
     else
     {
      System.out.print("第"+i+"道题:"+a+"*"+c+"="+"         ");
      break;
     }
   }
   }while(a>=0);
   
   
  }
  
  
   if(b==3)//解决整除问题
  {
    do
    {
    a=(int)(Math.random()*100);
    c=(int)(Math.random()*100);
    if(c!=0&&a%c==0)
    {
      if(i%k==0)
      {
      System.out.println("第"+i+"道题:"+a+"/"+c+"="+"         ");
      break;
      }
      else
      {
       System.out.print("第"+i+"道题:"+a+"/"+c+"="+"         ");
       break;
      }
    }
    }while(a>=0);
   
   
   
  }
  
  
  
  }
 
   }
}

 

java第二节课 java语法基础动手动脑的更多相关文章

  1. java第二节课课后

    动手动脑问题 : 程序源代码: //MethodOverload.java //Using overloaded methods public class MethodOverload { publi ...

  2. Java第二节课总结

    Java的基本运行单位是类.类由数据成员和函数成员组成.变量的类型之间可以相互转换.String是一个类.static代表静态变量. 运行结果: false                false  ...

  3. java语法基础--动手动脑问题及课后实验问题

    ---恢复内容开始--- 动手动脑: 1:仔细阅读示例:EnumTest.java,运行它,分析运行结果 结果 :枚举类型是引用类型!枚举类型不属于原始数据类型,它的每个具体指都引用一个特定的对象.相 ...

  4. Java语法基础动手动脑

    仔细阅读示例:EnumTest.Java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗? EnumTest.java public class EnumTest { pub ...

  5. Java语法基础动手动脑实践

    输出结果为: 0.05+0.01=0.0600000000000000051.0-0.42=0.58000000000000014.015*100401.49999999999994123.3/100 ...

  6. 00-JAVA语法基础--动手动脑

    1.运行EnumTest.java,并分析结果,得出结论. 其源代码以及运行结果截图如下: 枚举类型的常量以字符串的形式顺序储.源代码中s和t不是原始数据类型.getCLass():取得当前对象所属的 ...

  7. centos单用户 救援 运行级别 yum,单用户模式,救援模式,inittab :启动级别 e2fsck wetty mingetty 物理终端 /dev/console 虚拟终端 /dev/tty(0,6) 模拟终端 /dev/pts/# grub-md5-crypt 给grub加密码 initrd 第二节课

    centos单用户 救援 运行级别  yum,单用户模式,救援模式,inittab :启动级别  e2fsck  wetty  mingetty  物理终端 /dev/console  虚拟终端 /d ...

  8. Java第一节课动手动脑

    在第一节课的动手动脑中,主要解决四则运算问题. 首先第一个是出30道四则运算题目,在100以内.这个问题需要控制随机数生成的范围和结果的范围在100以内就可以. 第一次改进是3点:一为避免重复,二为定 ...

  9. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

随机推荐

  1. cuda cudaTextureFilterMode

    cudaFilterModePoint:点模式,返回最接近的一个点,即最近邻插值.插值公式 tex(x) = T(i),i=floor(x),注意是对坐标向下取整,所以一般对输入坐标值+0.5,避免无 ...

  2. D11 列表 list 元祖 字典dict

    取值 name = "alexdfg" print(name[3:5]) 取出 ex name = "alexdfg" print(name[3]) 取出e 列 ...

  3. 深入浅出 java.String

    深入浅出 java.String Java 处理字符串常用的一些方法 Java定义一个字符串 直接定字符串 直接定义字符串表示直接使用""来表示字符串中的内容 String str ...

  4. 吴裕雄--天生自然ShellX学习笔记:Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  5. 微服务项目开发学成在线_day03 CMS页面管理开发

    springboot引入mangodb依赖坐标:在spring-boot集成条件下,使用mongodb的DAO层开发. swagger查看接口文档,请求地址:http://localhost:3100 ...

  6. win10系统开发环境安装studio 3T(MongoDB桌面客户端)

    studio 3T 是mongodb优秀的桌面客户端工具. 下载 https://studio3t.com/download/#windows 本教程基于2020.1.2版本 安装 F:\javawe ...

  7. android设备内部添加apn信息

    由于工作原因今天需要给多台android设备中写入某张sim卡的apn相关信息,虽然可以通过sqlite命令写sql语句来写入到设备中,但设备一多起来就太低效了,所以在学习的过程中摸索着写了一个将ap ...

  8. luffy项目:基于vue与drf前后台分离项目(2)

    user模块User表 创建user模块 前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录 >: cd luffyapi & cd apps 2.创建app > ...

  9. thrift生成c++服务端和客户端

    https://blog.csdn.net/jdx0909/article/details/84727523 https://blog.csdn.net/luoyexuge/article/detai ...

  10. Python笔记_第二篇_面向过程_第二部分_3.模块的概述

    这部分内容是非常重要的,分模块的基本概念和一些常用模块的使用,其实常用模块使用这部分也不是太全面,后续或者有机会再通过其他材料进行讲解. 1. 模块的概述: 目前代码比较少,写在一个文件中还体现不出什 ...