0115 JAVA第一课 Hello World

学习一门语言,以它懂的方式 向这个世界问个好。

作业要求:

  1. 打印Hello World
  2. 要求掌握 定义类、属性、方法
  3. 要求掌握 基础数据类型 、定义和赋值方式
  4. 要求掌握修饰符含义
  5. 要求代码有注释
  6. 要求掌握 if 、while、for

搭建开发环境
百度云:http://pan.baidu.com/s/1o6Rp4Oa

  1. 安装JDK
    提供的是jdk-7u79-windows-x64,按照提示一步一步操作即可
  2. Eclipse安装
    Eclipse统一用我配置好的版本Mars.1 Release (4.5.1) (附带各种代码检查工具)

使用方法:

  1. 获取eclipse For Dev V4.5.zip
  2. 解压缩到 D:\devTools\目录下
  3. 双击 D:\devTools\eclipse For Dev V4.5\eclipse.exe
  4. 设置工作目录 D:\workspace

熟悉Eclipse

  1. 会切换到JAVA视图
    window-Perspective-Open Perspective-Other-Java
java视图.png
  1. 打开Package Explorer
    window-show view -Package Explorer
2 package.png

开始编程
1 新建项目
在Package Explorer窗口中,右键-New-Java Project

3 new java Project.png

在Project name 中输入项目名:Hello_New_World
Use a project specific JRE :jdk1.7.0_79
点击 Finish

2 新建包名
选中Hello_New_World-右键-New-Package

4 New Java Package.png

在Name 输入:pers.qingqian.study.basic

补充知识--包名命名规则
一般公司会将互联网上的域名称作为自己程序包的唯一前缀:如:com.sun.swt.(公司名.项目名.模块)
当前因为是个人项目,供学习,可分享,copyright主要属于个人。
Tips1. java的包名都是由小写单词组成的
Tips2. 看包名就知道这个包是做什么事情,易阅读、易查找

3 新建类
在包名:pers.qingqian.study.basic,右键-New-Class


5 New Java Class.png

在Name 输入:HelloWorld
勾选:public static void main(String[] args)
点击 Finish

/**
 * Project Name:Hello_New_World
 * File Name:HelloWorld.java
 * Package Name:pers.qingqian.study.basic
 * Date:2016年1月16日上午11:32:50
 * Copyright (c) 2016, qingqian All Rights Reserved.
 * 
 */
package pers.qingqian.study.basic;

/**
 * ClassName:HelloWorld <br/>
 * Function: 基础练习类. <br/>
 * Reason: study java . <br/>
 * Date: 2016年1月16日 上午11:32:50 <br/>
 * 
 * @author qingqian
 * @version
 * @see
 */
public class HelloWorld {

    /**
     * 
     * main:(这里用一句话描述这个方法的作用). <br/>
     * TODO(这里描述这个方法适用条件 – 可选).<br/>
     * TODO(这里描述这个方法的执行流程 – 可选).<br/>
     * 
     * @author qingqian
     * @param args
     */
    public static void main(String[] args) {
    }
}
```

>补充知识
* main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法。
方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数。
* String[] args  字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开
* 修饰符public、protect、default、private --面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高。

   | 访问权限  | 类  | 包  | 子类 | 其他包|
   | ----- |:---:| ---:|----:|----:|
   | public   |  ∨ |  ∨ |  ∨  |  ∨|
   | protect  |  ∨ |  ∨ |  ∨  |  ×|
   | default   |  ∨ |  ∨ | ×  |  ×|
    |private   |  ∨ |  × | ×  |  ×|

使用例子:
在HelloWorld.java 右键-Run As-Run Configurations
![6 arg.png](http://upload-images.jianshu.io/upload_images/1211247-44d78057148f3b46.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

代码
 `public static void main(String[] args) {
        for (String str : args) {
            System.out.println(str);
        }
    }`
执行结果

![7 arg result.png](http://upload-images.jianshu.io/upload_images/1211247-0684b6ce0216f0f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4 写代码

和这个世界打个招呼
无返回参数的方法
```
public class HelloWorld {

    /**
     * main 函数
     * 
     * @author qingqian
     * @param args
     */
    public static void main(String[] args) {
        String str = "Hello world, I'm Qingqian";
        HelloWorld helloWorld = new HelloWorld();
        helloWorld.printStr(str);
    }

    /**
     * 打印字符串 <br/>
     * 
     * @author qingqian
     * @param str
     */
    public void printStr(String str) {
        System.out.println(str);
    }

    /**
     * 打印数字 <br/>
     * 
     * @author qingqian
     * @param num
     */
    public void printNum(int num) {
        System.out.println(num);
    }
}
```
有返回参数的方法,做个简单的加法,妈妈再写不用担心我不会数数啦。
```
    /**
     * 
     * calScore:计算一个人的总分. <br/>
     * 
     * @author qingqian
     * @param math
     * @param english
     * @param chinese
     * @return
     */
    public int calScore(int math, int english, int chinese) {
        int sum;
        sum = math + english + chinese;
        return sum;
    }
```

基本逻辑处理if
```
    public final static int PASSLINE = 60;
    public final static int MIDDLElINE = 75;
    public final static int GOODLINE = 80;
    public final static int EXCELLENTLINE = 90;
    public final static String EXCELLENT = "A ,Excellent";
    public final static String GOOD = "B ,Good";
    public final static String MIDDLE = "C ,Middle";
    public final static String PASS = "D ,PASS";
    public final static String FAIL = "F ,Fail";

    /**
     * confirmLevel: 判断成绩的等级. <br/>
     * 
     * @author qingqian
     * @param score
     * @return
     */
    public String confirmLevel(int score) {
        if (score > EXCELLENTLINE) {
            return EXCELLENT;
        } else if (score > GOODLINE) {
            return GOOD;
        } else if (score > MIDDLElINE) {
            return MIDDLE;
        } else if (score > PASSLINE) {
            return PASS;
        } else {
            return FAIL;
        }
    }
```
基本逻辑处理for
```
    /**
     * 
     * calAllScores:计算一门的总分 <br/>
     * 
     * @author qingqian
     * @param scores
     * @return
     */
    public static int calAllScores(int[] scores) {
        int sum = 0;
        for (int i = 0; i < scores.length; i++) {
            sum = sum + scores[i];
        }
        return sum;
    }
```
基本逻辑处理while
```
  /**
     * 
     * calPassAndFail:统计及格、不及格的人数各多少. <br/>
     * 
     * @author qingqian
     * @param scores
     * @return
     */
    public static int[] calPassAndFail(int[] scores) {
        int[] sum = new int[2];
        int sumPass = 0;
        int sumFail = 0;
        int i = 0;

        while (i < scores.length) {
            if (scores[i] > PASSLINE) {
                sumPass++;
            } else {
                sumFail++;
            }
            i++;
        }
        sum[0] = sumPass;
        sum[1] = sumFail;
        return sum;
    }
```
嗯,第一周的课程就到这里,谢谢BF的指导,从他说的不是main方法打印HelloWorld 而是要用 调用对象的方法,我才想到真正的程序是如何work的。
谢谢YZ,她告诉我,我不知道 她不知道点在哪里,我只顾说自己的逻辑,所以她理解我说的,而我不知道她为什么不懂,无法解决她的问题。
谢谢小组中其他一起学习的童鞋。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,652评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,623评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,080评论 25 707
  • 4月16日早6时,2017温州大罗山越野赛在温州大学体育场鸣枪开赛。首次参加50公里越野赛,不仅中途手机手表电量完...
    东方欲晓_238e阅读 432评论 1 1
  • Q1.为什么参加这个活动? 答:当时参加这次活动的初衷之一是因为对Fiona和拉帅的欣赏和信任。之二是因为一个人走...
    慧心如莲阅读 138评论 1 4