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 ...
随机推荐
- 导出文件的时候 加大php内存
ini_set('max_execution_time', 3600); ini_set('memory_limit', '2048M');
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...
- Babel插件:@babel/plugin-transform-runtime
一 概述 每个Babel编译后的脚本文件,都以导入的方式使用Babel的帮助函数,而不是每个文件都复制一份帮助函数的代码. 1 优点 (1)提高代码重用性,缩小编译后的代码体积. (2)防止污染全局作 ...
- 100-days: twenty-four
Title: No word of a lie: scientists rate(评出) the world's biggest peddlers of bull(说瞎话的人,扯淡的人) bullsh ...
- [剑指Offer]60-n个骰子的点数
题意 输入骰子个数n,打印出所有骰子朝上的点的点数之和,及对应的概率. 题解 循环. n个骰子,点数之和在n~6n范围内.计算n个骰子扔出和为m的情况数,等于n-1个骰子扔出m-1,m-2...m-6 ...
- mysql设置存储中文变成问号或者乱码
技术交流群: 816227112 问题: 解决办法: 修改my.ini 如果是my-default.ini 要重命名成my.ini 要注意顺序,有可能服务启动不起来 [mysqld] charact ...
- 手工脱壳之FSG压缩壳-IAT表修复
目录 一.工具及壳介绍 二.脱壳 2.1.单步跟踪脱壳 2.2.IAT修复 三.程序脱壳后运行截图 四.个人总结 五.附件 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.L ...
- devexpress总结 accordionControl 加载panelcontrol 的快捷方式
先说保存: UserControl control; private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars. ...
- 创建服务的注册与发现 Eureka (四)
一.eureka注册中心 1.创建一个工程 工程名:microservicecloud-eureka-7001 2.向pom文件中增加如下: <dependencies> <!--e ...
- 记一次mac下使用mamp集成环境配置lumen项目自定义域名遇到的花样问题
1.安装好mamp集成环境,自行百度. 2.从公司项目版本库里将项目克隆到本地. 好了,开始配置自定义域名来访问项目,以下是遇到的问题集锦... 1.web服务器使用的nginx,配置完域名访问报40 ...