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,她告诉我,我不知道 她不知道点在哪里,我只顾说自己的逻辑,所以她理解我说的,而我不知道她为什么不懂,无法解决她的问题。
谢谢小组中其他一起学习的童鞋。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

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

友情链接更多精彩内容