HelloWorld带我入门JAVA(一)
基本环境配置可以百度完成,给个比较全面的网址http://c.biancheng.net/java/10/
创建第一个java工程
通过Eclipse运行程序
启动Eclipse,在菜单中选择“文件 --> 新建 --> Java项目”,弹出对话框:

图1 新建项目
填入项目名称,点击“完成”,创建项目成功,可以看到在 E:\java\workspace 目录下多出了一个Demo文件夹。
在菜单中选择“文件 --> 新建 --> 类”,弹出对话框:

图2 创建类
输入类名称,点击“完成”,成功创建一个HelloWorld类:

图3 新创建的类文件
将下面的代码输入到源文件,注意Java是大小写敏感的:
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
点击运行按钮
,或者在菜单中选择“运行 --> 运行”,就可以看到下方控制台输出了“Hello World!”:

图4 控制台输出
恭喜你,你成功编写并运行了第一个Java程序。
打开Demo文件夹下的bin目录,出现了一个 HelloWorld.class 文件,默认情况下Eclipse是不显示这个文件夹的,可以通过点击Window - show view - Navigator,调出bin目录。
这就是编译生成的字节码。与C、C++不同,Java编译的结果不是可执行文件,而是字节码文件。字节码文件不能直接运行,必须由JVM翻译成机器码才能运行,这就是为什么运行Java程序必须安装JVM的原因。
通过命令行运行程序
当然,你也可以直接输入命令来编译和运行Java。
打开CMD,cd 到源文件所在目录,通过 javac filename 命令完成编译,通过 java classname 命令来运行程序,如下所示:

图5 通过命令编译并运行Java程序
在Eclipse中运行程序,实际上也是执行这些命令,并将输出结果显示到控制台。有了Eclipse,编程更加方便。
HelloWorld程序分析
分析上述代码,从程序开始处介绍。
public class HelloWorld
定义了一个类,类是 “public” 公共类型的,类名为“HelloWorld”。另外,Java 中主类名应该和要保存的 Java 文件名相同,也就是说,这里定义的类名是“HelloWorld”,则文件应该保存为“HelloWorld.java”。
class关键字定义类
权限修饰符:
private:本类可见,同包其他类或子类、其他包其他类或子类均不可见
protected:本类、同包其他类或子类可见,其他包其他类或子类不可见
public:本类、同包其他类或子类、其他包其他类或子类均可见
main()方法
public static void main(String[] args)
对一个应用程序来说,main() 方法是必需的,而且必须按照上面的格式来定义。Java 解释器在没有生成任何实例的情况下,以 main() 方法作为入口来执行程序。Java 程序中可以定义多个类,每个类中可以定义多个方法,但 main() 方法作为程序的入口,只能有一个。如上例子中,在 HelloWorld 类中定义了一个 main() 方法,其中 public 表示访问权限,指明所有的类都可以使用这个方法;static 指明该方法是一个类方法(又称为静态方法),它可以通过类名直接调用;void 则指明 main() 方法不返回任何值。
main() 方法定义中,小括号“()”中的“String[] args”是传递给 main() 方法的参数是数组类型,参数名为 args,它是类 String 的一个实例。参数可以为 0 个或多个。main() 方法的实现由大括号“{}”括起来。
System.out.println("Hello world");
“System.out.println()”是 Java.lang 包的一个方法,用来将字串“Hello world”输出到命令行窗口。
--------------------------华丽分割线--------------------------

包
package 包的关键字,包的存在主要是为了方便管理类和接口。不同包下的类和接口可以重名。包名的命名规则是全部使用小写字母
导入包
import 导入包的关键字,为了能使用更多包中的类,导入以后就可以直接使用。

继承
extends :继承关键字,标识两个类的继承关系,继承父类以后可以使用父类的功能、可以对拓展父类的功能,可以重写父类的成员方法。(重写只能将成员方法的权限扩大从protect改成public,不能改小)
构造方法
是一个与类同名的方法,对象的创建就是通过构造方法完成。每当类实力化一个对象时,类都会自动调用构造方法。
super() :子类的构造方法中使用super()语句调用父类的构造方法。
注:构造方法没有返回值但是不需要使用void进行修饰
对象创建
CaseHelper helper = new CaseHelper(driver, xlwd);
CaseHelper 类名,helper 创建的CaseHelper类对象名,new创建对象操作符,“driver, xlwd” CaseHelper类的构造方法的参数
对象创建后可以使用对象名.成员名的方式来获取类的属性和方法
声明变量
告诉编译器这个变量的数据类型。
声明时可以只写变量类型,可以写明变量类型并赋值(可以使常数或方法的返回值)。
注:赋值为方法返回值时如果和声明的类型不一致,校验不通过。
if 语句语法
if 选择结构是根据条件判断之后再做处理的一种语法结构。默认情况下,if 语句控制着下方紧跟的一条语句的执行。不过,通过语句块,if 语句可以控制多个语句。
if ( 条件表达式)
{
语句块;
}
多条件 if 语句
if 语句的主要功能是给程序提供一个分支。然而,有时候程序中仅仅多一个分支是远远不够的,甚至有时候程序的分支会很复杂,这就需要使用多分支的 if…else if 语句。
通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一种处理……,这些条件都不满足则执行最后一种条件”。
if(表达式1)
{
语句块1;
}
else if(表达式2)
{
语句块2;
}
...
else if(表达式n)
{
语句块n;
}
else
{
语句块n+1;
}
嵌套 if 的使用
if 语句的用法非常灵活,不仅可以单独使用,还可以在 if 语句里嵌套另一个 if 语句。同样,if…else 语句和 if…else if 语句中也可以嵌套另一个 if 结构的语句,以完成更深层次的判断。
if(表达式1)
{
if(表达式2)
{
语句块1;
}
else
{
语句块2;
}
}
else
{
if(表达式3)
{
语句块3;
}
else if( 表达式4)
{
语句块4;
}
else
{
if( 表达式n)
{
语句块n;
}
else
{
语句块n+1;
}
}
}
--------------------------华丽分割线--------------------------
代码结构框架下次分解
HelloWorld带我入门JAVA(一)的更多相关文章
- 一文带你入门Java Stream流,太强了
两个星期以前,就有读者强烈要求我写一篇 Java Stream 流的文章,我说市面上不是已经有很多了吗,结果你猜他怎么说:"就想看你写的啊!"你看你看,多么苍白的喜欢啊.那就&qu ...
- 9天快速入门java
Java入门教程[9天快速入门JAVA] §1.3.简单的Java程序 下面我们先介绍两个简单的Java程序,并对其进行分析. 例1.1. public class HelloWorldApp{//a ...
- SQLite 带你入门
SQLite数据库相较于我们常用的Mysql,Oracle而言,实在是轻量得不行(最低只占几百K的内存).平时开发或生产环境中使用各种类型的数据库,可能都需要先安装数据库服务(server),然后才能 ...
- 一天带你入门到放弃vue.js(一)
写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...
- 带你入门SpringCloud统一配置 | SpringCloud Config
前言 在微服务中众多服务的配置必然会出现相同的配置,如果配置发生变化需要修改,一个个去修改然后重启项目的方案是绝对不可取的.而 SpringCloud Config 就是一个可以帮助你实现统一配置选择 ...
- 带你入门SpringCloud 之 通过SpringCloud Bus 自动更新配置
前言 在<带你入门SpringCloud统一配置 | SpringCloud Config>中通过 SpringCloud Config 完成了统一配置基础环境搭建,但是并没有实现配置修改 ...
- DTSE Tech Talk | 第10期:云会议带你入门音视频世界
摘要:本期直播主题是<云会议带你入门音视频世界>,华为云媒体服务产品部资深专家金云飞,与开发者们交流华为云会议在实时音视频行业中的集成应用,帮助开发者更好的理解华为云会议及其开放能力. 本 ...
- 可能是史上最强大的js图表库——ECharts带你入门
PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 StanZhai 两位仁兄让我试试 ECharts ,去主页看到<Why ECharts ?&g ...
- 史上最强大的js图表库——ECharts带你入门(转)
出处:http://www.cnblogs.com/zrtqsk/p/4019412.html PS:之前的那篇博客Highcharts——让你的网页上图表画的飞起 ,评论中,花儿笑弯了腰 和 Sta ...
随机推荐
- python 并发编程 操作系统 进程 并发.并行 及 同步/异步,阻塞/非阻塞
操作系统: 多道技术背景: 提高工作效率(充分利用IO阻塞的时间) 同时执行多个任务 多道技术 空间复用:充分的利用内存空间 时间复用:充分利用IO阻塞时间 分时系统: 并发:提高了程序的工作效率 两 ...
- 《Orange’s》保护模式
保护模式 完整代码 ; ========================================== ; pmtest1.asm ; 编译方法:nasm pmtest1.asm -o pmte ...
- 如何查看和清除svn登录信息
切换svn登录用 点击clear,出现用户信息,勾选后点击ok 即清除 .下次访问svn需要重新登录
- git clone失败
操作: $ git clone https://github.com/zjun615/DragListView.gitCloning into 'DragListView'...fatal: unab ...
- 学习日记--用Vector(向量)实现动态数组
Vector的使用方法: 能在添加元素时增加长度的数组称为动态数组或可变长数组.相对地,必须事先指定长度,只能容纳一定数量元素的数组称为静态数组.下面分享一下如何借助STL(标准模板库)中的Vecto ...
- Python学习笔记4基本数据类型
start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数 . 2. ...
- RabbitMQ的学习
生成者就是发送信息,消费者就是接收信息,队列就是存储数据的排队.消息通过你的应用程序和RabbitMQ进行传输,它们只能存储在队列中,队列容量没有限制,你要存储多少消息都可以——基本上是一个无限的缓冲 ...
- ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh
Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...
- windows server 2012 FTP连接报530 User 用户名 cannot log in home directory inaccessible的解决方法
我最近在创建个人网站,经过了万网购买域名注册(www.lingcup.xyz ,www.lingcup.com),在主机屋购买免费云服务器(ip是49.4.142.41),域名别名解析(cname)到 ...
- linux升级openssh到7.9
客户linux主机ssh存在高危漏洞,需要进行升级修复. linux联网后,直接命令行: [root@gw ~]# yum update openssl -y 此命令只是小版本的升级,比如将opens ...