首页 > 代码库 > java 初学者需注意问题

java 初学者需注意问题

1、Java为什么能跨平台运行?

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

  Java程序运行在虚拟机上,每个平台都有JVM,所以Java能实现“一次编译,到处运行”。

2、请尝试安装和配置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环境的配置

3、请问配置JDK时环境变量pathJAVA_HOME的作用是什么?

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

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

public class hello{    public static void main(String[] args){        System.out.println("Hello World!");    }}

技术分享

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

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

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

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

6、如果第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)

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

技术分享

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

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

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

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

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

技术分享

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

 

 

 

 

 

 

  

java 初学者需注意问题