• 作业0910


    1.java为什么能跨平台运行?请简述原理。

    因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统平台都是有自己的虚拟机(JVM),所以JAVA语言能跨平台。 
    1, java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。
    2,java是先把java文件编译成二进制字节码的class文件,jvm就解释执行class文件
    3,就是因为java是运行在jvm上的,所以它的代码就能不经修改,就能在不同平台的jvm上运行(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)
    假如用windows移植到UNIX,只需把java文件是UNIX的jvm上编译成class文件,然后用jvm运行就可以了



    2.请尝试安装和配置JDK,并给出安装、配置JDK的步骤。

    特别提示:jdk和eclipse保存的路径不能有中文字符

    (1).打开我的电脑--属性--高级--环境变量

    (2)新建系统变量JAVA_HOME

    变量名:JAVA_HOME
    变量值:jdk的目录,比如d:/java

    (3)选择“系统变量”中变量名为“Path”的环境变量
    双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。

    变量名:Path
    添加的变量值:%JAVA_HOME%in;%JAVA_HOME%jrein;

    这是java的环境配置,配置完成后直接启动eclipse,它会自动完成java环境的配置

    3.请问配置JDK时环境变量path和JAVA_HOME的作用是什么?

    1、PATH环境变量。
    作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。
    需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经可执行文件javac/java/javadoc等待,设置PATH变量后,就可以在任何目录下执行javac/java等工具了。
    2、CLASSPATH环境变量。
    作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。
    需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
    新版的软件,classpath没有什么用了,因为在安装的时候已经选了JDK而且可以添加。
    3.JAVA_HOME
    它指向jdk的安装目录Eclipse/Netbeans/Tomcat等软件就是通过JAVA_HOME来找到并使用安装好的jdk。


    4.利用文本编辑器输入课堂上练习的Hello.java,并在JDK环境下编译和运行。请将程序编译、运行的结果截图,填入下框中。

    一开始报错是因为在文本框了的;用的是中文下的,应该用英文下的;

    5.如果第4题中在DOS命令下输入:java Hello出现以下结果:Bad command or the file name可能是什么原因?请说明理由。

    1.没有输入javac指定路径,而是直接输入java Hello。

    2.前面已经用过一次指令,没有重新输入路径。

    6.如果第4题中在DOS命令下输入:java Hello出现以下结果:Exception in thread “main” java.lang.NoClassDefFoundError: Hello可能是什么原因?请说明理由。

    没有定义Hello这个类名。

    7.在第4题中Hello.class所在路径下,输入命令:java Hello.class,会出现什么结果,为什么?

    java Hello已经是加载类了

    8.请描述基本数据类型和引用数据类型的区别?

    1.内存使用:基本数据类型直接存放在栈内存里。而引用类型则是,内容存放在堆内存,地址存放在栈内存,访问时通过栈内存的地址找到堆内存的内容。

    2.变量赋值:基本数据类型是直接把值赋给变量。而引用类型是,把值的地址复制给新变量,通过地址再找到内容。

    9.Java主要有那几种文件类型?各自的作用是什么?

    java提供了两类数据类型:基本类型,引用类型。

    1、基本类型包括:boolean ,byte,char,int,short,float,long,double,值得注意的是:在原始数据类型中,除了boolean类型所占长度与平台有关外,其他数据类型长度都是与平台无关的。比如,int永远占4个字节。
    2、引用类型常见的有:String,StringBuffer,ArrayList,HashSet,HashMap等。


    整数型:
    具体区别如图:


    int型应用最广泛
    在堆long型赋值是结尾必须加上“L”为了与数字1区分建议用大写的L,
    2.浮点型
    2.1 float型:单精度浮点型,赋值是结尾加F,负责系统默认double型,


    3字符型
    char
    单个字符,用单引号引起来,如int兼容,表示字符集中的位置。
    转移字符: 换行, 制表符,\反斜杠, 回车,
    布尔型;
    boolean;只有ture和false两个值。

    10.字符集相关知识请看上一篇

    以下题目请在Eclipse环境下编译和运行。

    1.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。

    标签:log   com   http   sp   src   java   c   bs   tp   

    技术分享

    技术分享

    2.编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。

    注意;float虽然是4个自减,但是它的取值范围却比8个字节的long要大。

    float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类可以解决上述问题,实例代码如下:

    package ex;

     
    import java.math.*;
     
    public class BigDecimalDemo {
        public static void main(String[] args){
            System.out.println(ArithUtil.add(0.010.05));
            System.out.println(ArithUtil.sub(1.00.42));
            System.out.println(ArithUtil.mul(4.015100));
            System.out.println(ArithUtil.div(123.3100));
        }
    }
     
    class ArithUtil{
        private static final int DEF_DIV_SCALE=10;
         
        private ArithUtil(){}
        //相加
        public static double add(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.add(b2).doubleValue();
             
        }
        //相减
        public static double sub(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.subtract(b2).doubleValue();
             
        }
        //相乘
        public static double mul(double d1,double d2){
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.multiply(b2).doubleValue();
             
        }
        //相除
        public static double div(double d1,double d2){
     
            return div(d1,d2,DEF_DIV_SCALE);
             
        }
         
        public static double div(double d1,double d2,int scale){
            if(scale<0){
                throw new IllegalArgumentException("The scale must be a positive integer or zero");
            }
            BigDecimal b1=new BigDecimal(Double.toString(d1));
            BigDecimal b2=new BigDecimal(Double.toString(d2));
            return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
             
        }
         
    }
  • 相关阅读:
    使用Newtonsoft进行JSON序列化时将枚举序列化为字符串的方法
    通过javac导出Jar包
    JAVA中JDBC连接Mysql数据库简单测试
    使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档
    CentOS7中使用yum安装Nginx的方法
    Dockerfile 指令 ADD 和 COPY介绍
    Azure Web应用中设置静态虚拟目录的方法(比如部署Django需要用到)
    pip常用命令(转载)
    android发布新版忘记keystore(jks)密码终极解决方案
    IntelliJ Idea 常用快捷键列表
  • 原文地址:https://www.cnblogs.com/hanruyue/p/5859760.html
Copyright © 2020-2023  润新知