第一个java程序hello world
首先需要配置环境,没配置的请参考:详细配置教程:http://www.cnblogs.com/qq1871707128/p/6047232.html
切入主题:
java基础首先得了解基本的dos命令
基本操作dos(Disk Operating System:硬盘操作系统)
命令行的简单操作
dir(directory):列出当前目录下的文件及文件夹
md(make directory):创建目录
rd(remove directory):删除目录
cd(Change directory):进入指定目录
cd.. :退回到上一级目录
cd\ :退回到根目录
del(delete):删除文件
exit:退出
echo: 创建文件(因为这个java最基本的,经常使用,后面附上简单的使用效果图)
echo abc > 1.java
在当前目录下创建包含abc内容的1.java
edit:编辑文件
效果图:

桌面多了一个文件

双击打开

开始我们的第一个hello world的程序(鄙人用的是win7-64位)
cmd(win键)+R 打开运行,然后再在桌面上创建一个a.java的文件


然后右键->编辑(记事本打开),输入以下代码:
public class a{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("hello world");
}
}
ctrl+S 保存,然后在终端输入指令:javac a.java ----这条指令是编绎字java文件,编绎成功的话就会生成以.class为后缀的字节码文件
效果图:


然后运行a.class文件,输入指令为java a ,注意:是java a不是java a.class,我知道这里面有些人不理解,其实不用理解,这是sun公司的规定,哈哈,就打个比方,为什么我们在编绎时不输入javac.exe a.java 呢,这是一个道理。
效果图:

在这里第一个hello world的程序就运行成功了,我们再深入研究一下
把a.java里面的代码a改成b,保存:
public class b{ //这里原来是a,现在改成b
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("hello world");
}
}
运行:
然后报错了对吧,我们仅仅是改了一个类名而已,根据错误肯定有人猜:“类名和文件名一致”导致的,显然代码编写时,一个文件中可以有很多个类,所以这个猜测是错误的。那我们把代码里面的public删除看看:
class b{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("hello world");
}
}
编绎:
编绎通过,并且生成一个b.class字节码文件


运行:

我们再测试一个,把生成的a.class与b.class字节码文件都删除掉:

然后在a.java文件里面加上以下代码:
public class a{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("aaaaa");
}
}
public class b{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("bbbbbb");
}
}
编绎就报错了:

先别得出结论,我们再修改一下a.java里面的代码 :
public class a{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("aaaaa");
}
}
class b{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("bbbbbb");
}
}
编绎成功并且生成两个字节码文件,分别是a.class、b.class:

然后我们分别运行一个a.class与b.class:

结论:
每个编译单元(文件)只能最多有一个public类;如果有,其名称必须与含有这个编译单元的文件名相匹配,包括大小写。
实际上,如果这个文件只有一个a类,或者有两个类,只要这个包括main()的类名与文件名一致,类名前不加public也是可以正常运行的,且调用的是与文件名一致的类的main()方法。但个人认为这不是良好的编程实践,编写a.java里面的代码如:
class a{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("aaaaa");
}
}
class b{
/**
* 输出一行字符串“Hello World!”
* @param args
*/
public static void main(String[] args){
System.out.println("bbbbbb");
}
}
编绎通过,效果也是一样的:
第一个java程序hello world的更多相关文章
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- Java起源、发展历程、环境变量、第一个Java程序等【1】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...
- 第一个java程序
完成自己的第一个java程序 1.新建一个文本文档,在文本文档中编写自己第一个java程序的代码,代码如下; class hello { public static void main(String[ ...
- Java编程-第一个Java程序
Java编程用到的IDE是Eclipse. 关于第一个Java程序实现的简单流程: (1) 下载eclipse (2) File-New-Java Project 命名工程名字:Hello ...
- 做为一个Java程序员,你需要哪些傍身的技能?
最近总有些断断续续的思考,想想从我入行以来,我到底学会了什么,做成过什么,以后要做什么,如何提升自己······· 工作3年了,常听人说3年,5年,10年是程序员的坎,每过一个都会有新的想法,新的改变 ...
- 一个Java程序的执行过程(转)
我们手工执行java程序是这样的: 1.在记事本中或者是UE的文本编辑器中,写好源程序: 2.使用javac命令把源程序编译成.class文件: 编译后的.class(类字节码)文件中会包含 ...
- 【安装eclipse, 配置java环境教程】 编写第一个java程序
写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即java SE:否则无法运 ...
- 我的第一个Java程序
我的第一个Java程序: class Test{ public static void main(String[] args) { System.out.println(" ...
- day1 安装jdk8环境及第一个java程序
安装jdk8 第一步:下载jdk安装包,我们这里下载orical官网的jdk8版本.
- JAVA_SE基础——5.第一个Java程序HelloWorld&注释的应用
配置完JDK&环境变量后,我们就可以开始写程序了,那么程序怎么写呢,用什么工具呢,我建议 为了方便学习,我们最好在一个磁盘下建立一个专门的文件来写java程序,比如就在D盘下建立一个名为&qu ...
随机推荐
- struts2 学习路线
1.请求:开发struts2流程,(常见配置.action的方法的访问.ServletApi的访问.结果页面类型) 2.强求:封装参数.类型转换.数据校验.国际化.拦截器. 3.响应页面的生成:文件上 ...
- liunux mysql MySQL表名不区分大小写的设置方法
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lowe ...
- 77 找出最大连续自然数个数[Longest Consecutive Sequence in an Unsorted Array]
[本文链接] http://www.cnblogs.com/hellogiser/p/Longest-Consecutive-Sequence-in-an-Unsorted-Array.html [题 ...
- ACM/ICPC 之 SPFA-兑换货币(POJ1860)
//水题-SPFA解法 //套汇是指兑换货币后能使本金上升 //给定本金货币编号,货币间的汇率和手续费,求能否套汇成功 //Time:16Ms Memory:200K #include<iost ...
- 数学软件 之 基于MATLAB的DFP算法
DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...
- ffmpeg-20160522-git-bin
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...
- 7.SpringMVC注解优化
新建controller,每个人都可以建自己的controller,比较方便,不用再在web.xml中进行配置,value的请求地址一定要唯一. 优化: 1.上面示例中spring-annotatio ...
- HDU 4942 Game on S♂play(线段树、模拟、扩栈)
比赛的时候想到这题的大概做法,但由于卡别的水题...就赛后做了... 题意:给一个二叉树,每个结点有一个w[i],有3种操作,0 x表示左旋x,1 x表示右旋x,3 x表示询问x结点的价值,其中,价值 ...
- Divide and Conquer:Cable Master(POJ 1064)
缆绳大师 题目大意,把若干线段分成K份,求最大能分多长 二分法模型,C(x)就是题干的意思,在while那里做下文章就可以了,因为这个题目没有要求长度是整数,所以我们要不断二分才行,一般50-100次 ...
- HDU 5879 Cure -2016 ICPC 青岛赛区网络赛
题目链接 题意:给定一个数n,求1到n中的每一项的平方分之一的累加和. 题解:题目没有给数据范围,而实际上n很大很大超过long long.因为题目只要求输出五位小数,我们发现当数大到一定程度时值是固 ...