1、按照国际惯例,写一段输出HelloWorld的java语句:

public class HelloWorld {
//这是main方法,程序的主入口
public static void main(String[] args) {
/*
* 输出语句:System.out.println
*/
System.out.print("Hi ");
System.out.println("Hello World");
}
}

  输出结果:Hi Hello World

  【知识点】:

   1)HelloWorld是类。类的修饰符:

      ① 访问控制修饰符:public、default。

      ② 非访问控制修饰符:static、final、abstract。

   2) main方法是程序的入口。名字必须是main,必须是public static void 类型的,必须接收一个字符串数组的参数。

      ① jvm运行这个类的时候,首先先调用HelloWorld.main方法,所以必须用public static修饰。(jvm可不会给你实例化)

      ② jvm要求这个main不能有任何返回值,所以必须用void修饰。(你给jvm返回,你认为他会屌你吗)

      ③ jvm要求main方法中必须有一个String[]的入参(不按照我大jvm规范,老子认为你是非法的)。

      ④ 至于入参的名字jvm就不管了(啥都管了,下面人都起义不干了)

     结论:main()方法定义必须是:public static void main(String[] 数组参数名)

   3)main()方法中可以throw Exception

   public class TestMain {
     public static void main(String[] args) throws Exception {
       System.out.println("Hello World");
       throw new Exception("");
     }     
   }

   4) System.out.print和System.out.println的区别:一行和下一行(换行)的区别。

2、源文件下可以创建多个类

  什么是源文件?一个.java文件,我们把这个java文件叫做源文件。例如上面例子HelloWorld.class就是源文件

public class HelloWorld {
//这是main方法,程序的入口
public static void main(String[] args) {
System.out.println("Hello World");
}
}
class Person{ }
class Car{ }

  上面看到HelloWolrd.java这个源文件中写了3个类HelloWorld、Person和Car。

  【知识点】:

    1)一个Java源文件中有几个类就会编译成几个.class文件。以上如果用javac.exe命令去编译,则会生成3个.class文件。

    2)一个源文件中有且只能有一个public访问控制修饰符。

    3)main方法必须放在源文件public访问控制修饰符的类中。

    4)被声明为public的类名必须和源文件名一致。

跟着刚哥梳理java知识点——HelloWorld和常见问题(一)的更多相关文章

  1. 跟着刚哥梳理java知识点——深入理解String类(九)

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  2. 跟着刚哥梳理java知识点——面向对象(八)

    面向对象的核心概念:类和对象. 类:对一类事物描述,是抽象的.概念上的定义. 对象:实际存在的该类事物的每个个体,因而也成为实例(Instance). Java类及类的成员:属性(成员变量Field) ...

  3. 跟着刚哥梳理java知识点——多线程(十六)

    创建多线程第一种方式:① 继承:继承Thread.② 重写:重写Thread类的run()方法③ 创建:创建一个子类的对象④ 调用:调用线程的start()方法,启动此线程,调用run()方法 cla ...

  4. 跟着刚哥梳理java知识点——变量之间的类型转换(四)

    变量之间的类型转换主要包括自动类型转换和强制类型转换. 1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动的转换成容量大的类型. [知识点]: a)char,byte,sh ...

  5. 跟着刚哥梳理java知识点——注释(二)

    1.单行注释 // //这是main方法,程序的入口 public static void main(String[] args) { //输出语句 System.out.println(" ...

  6. 跟着刚哥梳理java知识点——IO(十五)

    凡是与输入.输出相关的类.接口都定义在java.io包下 java.io.File类 1.File是一个类,可以有构造器创建其对象.此对象对应着一个文件或者一个目录. 2.File中的类,仅涉及到如何 ...

  7. 跟着刚哥梳理java知识点——枚举和注解(十四)

    enum Season{ SPRING("spring","春暖花开"), SUMMER("summer","夏日炎炎" ...

  8. 跟着刚哥梳理java知识点——泛型(十三)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] a ...

  9. 跟着刚哥梳理java知识点——集合(十二)

    Java集合分为Collection和Map两种体系 一.Collection接口: Collections接口为我们提供了以下方法: size():返回集合中元素的个数 add(Object obj ...

随机推荐

  1. MongoDB的安装及恢复

    在http://www.mongodb.org/display/DOCS/Downloads 下载对应版本 mongodb 安装数据库 解压文档,复制到c盘,改名为mongodb 新建文件夹c:/da ...

  2. 学习Java 以及对几大基本排序算法(对算法笔记书的研究)的一些学习总结(Java对算法的实现持续更新中)

    Java排序一,冒泡排序! 刚刚开始学习Java,但是比较有兴趣研究算法.最近看了一本算法笔记,刚开始只是打算随便看看,但是发现这本书非常不错,尤其是对排序算法,以及哈希函数的一些解释,让我非常的感兴 ...

  3. 卷积神经网络(CNN)前向传播算法

    在卷积神经网络(CNN)模型结构中,我们对CNN的模型结构做了总结,这里我们就在CNN的模型基础上,看看CNN的前向传播算法是什么样子的.重点会和传统的DNN比较讨论. 1. 回顾CNN的结构 在上一 ...

  4. Scalatra--Introduction And Quick start

    Introduction Scalatra是一款轻易级Scala web框架,通过Scalatra可以很轻易创建web Application,由Linkedln开源并遵循了Ruby Web框架的Si ...

  5. Java基础(下)(JVM、API)

    Java基础(下) 第三部分:Java源程序的编辑 我们知道,计算机是不能直接理解源代码中的高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译 ...

  6. JavaWeb之Servlet总结

    今天上班居然迟到了,昨天失眠了,看完吐槽大会实在不知道做些什么,刚好朋友给我发了两个JavaWeb的练习项目,自己就又研究了下,三四点才睡,可能周日白天睡的太多了,早上醒来已经九点多了,立马刷牙洗脸头 ...

  7. Yii2 Pjax 与 ActionForm ,不刷新提交数据

    <?php yii\widgets\Pjax::begin(['id'=>'phoneDetail']);?> <?php $form = ActiveForm::begin( ...

  8. Spring Data JPA,一种动态条件查询的写法

    我们在使用SpringData JPA框架时,进行条件查询,如果是固定条件的查询,我们可以使用符合框架规则的自定义方法以及@Query注解实现. 如果是查询条件是动态的,框架也提供了查询接口. Jpa ...

  9. TCP协议设计原理

    TCP协议设计原理 最近去了解TCP协议,发现这是一个特别值得深思的协议.在本篇博客中,不会长篇大论的给大家介绍TCP协议特点.包头格式以及TCP的连接和断开等基本原理,而是会带大家深入理解为什么要这 ...

  10. C++基础——C面向过程与C++面向对象编程01_圆面积求解

    #include "iostream";//包含C++的头文件using namespace std;//使用命名空间std标准的命名空间(在这个命名空间中定义了很多标准定义)vo ...