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时环境变量path和JAVA_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有很大的帮助。

  

时间: 2024-11-07 01:30:26

java 初学者需注意问题的相关文章

Java初学者

一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和J

一位资深程序员大牛给予Java初学者的学习建议(转)

一位资深程序员大牛给予Java初学者的学习建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容, 同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线, 非Java Web和Java后

Java初学者必知 关于Java字符串问题

摘自 http://developer.51cto.com/art/201503/469443.htm 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: 1.如何比较字符串,应该用”==”还是equals()? 总的来说,”==”是用来比较字符串的引用地址,而equals()才是比较字符串的值.两个值相同的字符串用”==”比较结果有可能是false,而用equals()则一定为true.除非两个字符串是同一个new出来的对象,不然比

Java初学者都必须理解的六大问题<2>

Java初学者都必须理解的六大问题 沈阳463整形医院对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 问题三:String到底变了没有? 没有.因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象.请看下列代码: String s = “Hello”; s = s + “ world!”; s所指向的对象是否改变了呢?从本系列第一篇的结论很容

Java初学者都必须理解的六大问题<1>

Java初学者都必须理解的六大问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 问题一:我声明了什么! String s = “Hello world!”; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”.这样模糊的回答通常是概念不清的根源.如果要准确的回答,一半的人大概会回答错误. 沈阳463整形医院这

Java初学者都必须理解的六大问题<3>

Java初学者都必须理解的六大问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 问题四:final关键字到底修饰了什么? 沈阳463整形医院程序final使得被修饰的变量“不变”,但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变. 引用本身的不变: final StringBuffer a=new StringBuffe

memcached—向memcached中保存Java实体需注意的问题

今天以代码实例的形式总结一下向memcached中保存Java实体需注意的问题: memcached工具类代码: package com.ghj.packageoftool; import java.util.Date; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; /** * Memcached工具类 * * @author GaoHuanjie */ public clas

大家好,我是一个JAVA初学者,想在这里记下自己学习过程中的点点滴滴,请多多关照

大家好,我是一个JAVA初学者,想在这里记下自己学习JAVA的点点滴滴,请多多关照. 以前一直在QQ空间里记录的,但感觉有些麻烦,而且有些东西自己理解的并不完善甚至都不正确,现在开始在这里重新记录,从刚一开始,从下载JAVA配置环境变量记起,或许有些重复,但对一门技术来说,重复意味着更好的熟练.如果我的记录中有哪些表述不尽的还请不吝赐教,多谢啦. 知道大家整天对着电脑,眼睛肯定多少有些累,所以我选了这个颜色偏暗的背景,希望大家不要被这里的灰色影响了心情^_^. 学习JAVA是一个过程,这其中自然

转载:一位资深程序员大牛给予Java初学者的学习路线建议

一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和J