public class BasicProgram{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
万物初识于Hello,World!
Q1:Java为何main函数在类里面,感到很奇怪?
面向对象语言的通用标准,C#也是如此,不允许在类外定义变量、方法、事件等,强调一切皆是对象的思想,main虽然是主函数,也必须定义在某个类里面。
Q2:Java的执行为什么一定是从main方法开始的?
首先按照程序运行的机制,一个程序的执行必然是由另一个更之前的程序去启动的 最原始的就到了操作系统。在汇编指令里面 我们知道有一部分指令 叫伪指令,这部分指令是给编译器看的,不会进入最终的二进制文件,我们就是用这些指令 将汇编指令 进行处理,处理完后,操作系统就可以知道哪些是存放数据的,哪些是实际运行的(其实就是具体的内存的起始值,放到合适的寄存器里面),这样的话操作系统就可以运行这段处理好的文件了
以上述代码为例,cmd运行javac BasicProgram.java,此步骤为编译为字节码文件,java的class文件说到底,其实也就是jvm的一堆数据而已,通过编译器javac.exe执行的
java BasicProgram,此步为运行代码,调用JVM工作,JVM识别main这个指令,然后开始运行该文件输出,通过java.exe执行的
综上:所谓的main其实同样是作为一个标记而已,就好比汇编的伪指令,这里一定要写成main方法 是因为编译器默认会去把他作为程序执行的入口
Q3:常量几种类型?
联想小学知识:整型常量、小数常量、字符常量、字符串常量、布尔常量、空常量
Q4:变量和数据类型?
数据类型:基本与引用(类、接口类型、数组类型、枚举类型、注解类型)
基本类型分为:整数、浮点数、字符、布尔
为什么范围是到127而不是128?因为符号位的存在,00000000和10000000都是0,故规定10000000为-128.
Q5:基本类型与引用类型的不同?
一、作用的不同
1、引用类型一般都是通过new关键字创建对象,然后把这个对象赋予给相应的变量,最常用的引用类型是String类型,它也比较特殊,可以直接通过关键字new来创建对象,也可以通过字符串直接赋值,比如:
String s=new String("abc");
String s="abc";
2、基本类型就是直接赋值就可以了
二、参数方面传递的不同
引用类型是引用传递,基本类型是值传递
三、所有类型不同
基本类型八种byte到boolean,引用类型为强软弱虚引用