Java 初学者常见10大技术问题答疑

作者 : 慕源网 本文共3070个字,预计阅读时间需要8分钟 发布时间: 2021-09-21 共589人阅读

Java语言编写的程序既是编译型的,又是解释型的。程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行。编译只进行一次,而解释在每次运行程序时都会进行。

 

Java程序运行在虚拟机上,每个平台都有JVM,所以Java能实现“一次编译,到处运行”。请尝试安装和配置JDK,并给出安装、配置JDK的步骤。

 

jdk可以从Oracle官网上下载,下载后直接安装即可,傻瓜式安装点击下一步,不过切记安装目录中不要有中文。

 

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

 

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

  2.新建系统变量JAVA_HOME

 

变量名:JAVA_HOME

 

变量值:jdk的目录,比如F:\jdk\jdk1.8.0_91_x64

  3. 选择“系统变量”中变量名为“Path”的环境变量

 

双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。

 

变量名:Path

 

添加的变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  配置完成后在cmd中输入java会出现下图所示,则表示环境变量配置成功。

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

 

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

 

JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

 

5、利用文本编辑器输入课堂上练习的Hello.java,并在JDK环境下编译和运行。

 

public class hello{

 

public static void main(String[] args){

 

System.out.println(“Hello World!”);

 

}

 

}

  6、如果在DOS命令下输入:java Hello出现以下结果:Bad command or the file name可能是什么原因?

 

(错误的命令或文件名) 输入的命令不存在,或者不在指定的路径中。 确保键入了正确的命令、在正确的位置留出了空格和使用了正确的路径名。

 

原因:命令或文件名错,路径出错。

 

这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。

 

7、如果第4题中在DOS命令下输入:java Hello出现以下结果:Exception in thread “main” java.lang.NoClassDefFoundError: Hello

 

1)你的文件名对吗?JAVA要求你的文件和你的类名严格对应的。

 

比如 public class HelloWorld{ …..

 

那么文件名一定只能是HelloWorld.java,看仔细了!

 

2)你的程序中有main方法吗?参数什么的对吗?

 

main方法的声明应该是这样子的:

 

public static void main(String[] args)

 

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

 

应该是java hello   java hello已经是加载类,不能再加一个class。

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

 

主要区别:内存使用:基本数据类型的值直接存储在栈中,而引用数据类型将值存储在堆内存中,把首地址存储在栈内存,这样节省内存占用,使用引用数据时先从栈中找到相应地址,通过地址去找到值。

 

变量的赋值:基本数据类型由于在栈中存的是实际值,直接把值赋给新变量;引用数据类型在栈中存的是首地址,所以它会将首地址赋给新变量。

 

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

 

1)源代码:.java文件,编写的源代码

 

2)字节码:.class文件,编译后的生成的文件

 

3)jar包:把相关的字节码文件压缩之后形成的,便于使用和传递

 

两个小程序:

 

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

 

public class test02circle {    public static void main(String[] args){        double r,zhouchang, mianji;

 

r=3.0;

 

zhouchang=2*Math.PI*r;

 

mianji=Math.PI*Math.pow(r, 2);

 

System.out.println(“周长是:”+zhouchang);

 

System.out.println(“面积是:”+mianji);

 

}

 

}

 

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

  public class test03_shujuleixing {                        //创建类

 

public static void main(String[] args){               //主方法

 

byte mybyte = 127;                                //声明byte型变量并赋值

 

short myshort = 32564;                            //声明short型变量并赋值

 

int myint = 45784612;                             //声明int型变量并赋值

 

long mylong = 456789451;                          //声明long型变量并赋值

 

long result = mybyte+myshort+myint+mylong;        //获得各数进行相加  隐性转换        System.out.println(result);        float myfloat =1.234f;                            //声明float型变量并赋值

 

double mydouble = 1.23445;                        //声明double型变量并赋值

 

double result2 = result + myfloat + mydouble;     //获取各数进行相加  隐性转换        System.out.println(result2);        char mychar = ‘a’;                                //声明char型变量并赋值        //字符集 unicode表 a在unicode表中排序是97

 

System.out.println(“unicode表中a是”+(int)mychar+”位”);        int p = 23456;        char x= (char)p;                                  //将int型强制转换成char型

 

System.out.println(“unicode表中第23456位是:”+x);        boolean boolean1 = true;                          //声明布尔型,并赋值只能赋值true或false

 

boolean boolean2 = false;

 

System.out.println(boolean1);

 

}

 

}

 

Java初学者在刚学Java时会要到这些常见的问题,将这些问题搞懂,对Java会有一个基本的了解,对以后学习Java有很大的帮助。

 


慕源网 » Java 初学者常见10大技术问题答疑

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录