跟着刚哥梳理java知识点——HelloWorld和常见问题(一)
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和常见问题(一)的更多相关文章
- 跟着刚哥梳理java知识点——深入理解String类(九)
一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...
- 跟着刚哥梳理java知识点——面向对象(八)
面向对象的核心概念:类和对象. 类:对一类事物描述,是抽象的.概念上的定义. 对象:实际存在的该类事物的每个个体,因而也成为实例(Instance). Java类及类的成员:属性(成员变量Field) ...
- 跟着刚哥梳理java知识点——多线程(十六)
创建多线程第一种方式:① 继承:继承Thread.② 重写:重写Thread类的run()方法③ 创建:创建一个子类的对象④ 调用:调用线程的start()方法,启动此线程,调用run()方法 cla ...
- 跟着刚哥梳理java知识点——变量之间的类型转换(四)
变量之间的类型转换主要包括自动类型转换和强制类型转换. 1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动的转换成容量大的类型. [知识点]: a)char,byte,sh ...
- 跟着刚哥梳理java知识点——注释(二)
1.单行注释 // //这是main方法,程序的入口 public static void main(String[] args) { //输出语句 System.out.println(" ...
- 跟着刚哥梳理java知识点——IO(十五)
凡是与输入.输出相关的类.接口都定义在java.io包下 java.io.File类 1.File是一个类,可以有构造器创建其对象.此对象对应着一个文件或者一个目录. 2.File中的类,仅涉及到如何 ...
- 跟着刚哥梳理java知识点——枚举和注解(十四)
enum Season{ SPRING("spring","春暖花开"), SUMMER("summer","夏日炎炎" ...
- 跟着刚哥梳理java知识点——泛型(十三)
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] a ...
- 跟着刚哥梳理java知识点——集合(十二)
Java集合分为Collection和Map两种体系 一.Collection接口: Collections接口为我们提供了以下方法: size():返回集合中元素的个数 add(Object obj ...
随机推荐
- 第22篇 js中的this指针的用法
前面把js的相关知识总结了下,今天把js中的上下文的this,对于强类型语言,this的用法非常的单一,因为他们没有js特有的动态绑定. 首先看下面代码: function funcA() { thi ...
- Java中byte与16进制字符串的互换原理
我们都知道Java中的byte是由8个bit组成的,而16进制即16中状态,它是由4个bit来表示的,因为24=16.所以我们可以把一个byte转换成两个用16进制字符,即把高4位和低4位转换成相应的 ...
- Junit使用教程
Junit是Java的单元测试工具,同时也是极限编程的好帮手.Junit4借助于Java5的Annotation(标注类)和静态导入的新特性,与Junit3有很大的区别,所以建议初学者直接使用Juni ...
- 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-3
来个目录吧: 第一章 第二章 第三章 暂时就这么多.后面路线更新吧 创建.查询.更新.删除 这章主要讲解使用EF完成 增删改查的功能. 自定义"详情信息"页面 我们通过基架生成的代 ...
- UI设计学习路线图
文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 这里整理的UI设计学习路线图包含初中高三个部分,你可以通过百度云盘下载观看对应的视频 链接: http://pan.baidu.co ...
- IP头、TCP头、UDP头详解以及定义
一.MAC帧头定义 /*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的m ...
- 使用Task的一些知识优化了一下同事的多线程协作取消的一串代码
最近在看一个同事的代码,代码的本意是在main方法中开启10个线程,用这10个线程来处理一批业务逻辑,在某一时刻当你命令console退出的时候,这个 时候不是立即让console退出,而是需要等待1 ...
- 计算机程序的思维逻辑 (73) - 并发容器 - 写时拷贝的List和Set
本节以及接下来的几节,我们探讨Java并发包中的容器类.本节先介绍两个简单的类CopyOnWriteArrayList和CopyOnWriteArraySet,讨论它们的用法和实现原理.它们的用法比较 ...
- USACO全部月赛及GateWay数据
月赛: 以07年open为例,网站如下 http://contest.usaco.org/OPEN07 其他的格式是http://contest.usaco.org/月份(月份的英文前三位,比如1月是 ...
- python学习之路-书籍推荐
学python有一段时间了,总结走来的路,发现还是看书靠谱,当然也要多实践. 一.入门篇 1.简明 Python 教程(A Byte of python) http://www.kuqin.com/a ...