第四章:Java入门

Java运行

1. 首段Java代码

  • 首先创建一个名为HelloWorld.java的文件,如图1;

    图1.创建HelloWorld的Java文件
  • 用Notepad++软件打开,在文件中书写以下代码,如图2;

    图2.HelloWorld代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
  • 在该Java文件所在文件夹的地址栏输入cmd进入命令行界面;

  • 使用javac命令编译Java文件:javac HelloWorld.java,编译出class文件,如图3-4;

    图3.编译HelloWorld.java文件
    图4.编译出的HelloWorld.class文件
  • 使用java命令运行class文件:java HelloWorld,打印出Hello World,如图5;

    图5.运行HelloWorld.class文件

2. Java程序的运行原理

图6.Java程序运行原理
  • 编译:将程序员编写的Java程序编译成机器能看懂的二进制(字节码)文件;使用javac命令,生成对应的字节码文件;
  • 运行:使用java命令,把字节码文件运行在虚拟机上;

3. 源码详解

图7.Java源码详解
  • 类的修饰符
    • public:访问控制修饰符,将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
    • abstract:将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
    • final:将一个类生命为最终(即非继承类),表示他不能被其他类继承。
    • friendly:默认的修饰符,只有在相同包中的对象才能使用这样的类。

访问控制修饰符:

  • private:私有访问修饰符,指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。

  • friendly:默认访问修饰符,如果一个类没有访问控制符,说明它具有默认的访问控制特性。该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。

  • protected:保护访问修饰符,指定该变量可以别被自己的类和子类访问,在子类中可以覆盖此变量。

  • public:公共访问修饰符,指定该变量为公共的,他可以被任何对象的方法访问。

    图8.访问控制修饰符范围
  • 定的

    • 在Java中定义类,使用关键字class完成。
  • 类名

类名名命规范:

  • 名字必须以字母开头,后面可以跟字母和数字的任意组合,长度不限,但不能使用java保留字作为类名;
  • 类名是以大写字母开头,如果名字有多个单词组成,每个单词的第一个字母都应该大写(也称为大驼峰式命名法);
  • 类的内容
    • 类的内容由一对“{}”包裹其中,跟在类名后;
    • 由属性和方法组成,上述代码中类的内容为方法;

方法组成:访问修饰符、关键字、返回类型、方法名、参数、方法具体逻辑代码(大括号中内容),下图为主方法,写法固定。

图9.Java方法详解
  • 注意
    • 任何一个Java程序都是一个class(类);
    • Java的每一条语句都是以“;”结束;
    • 一个java文件中可以有多个class声明的类;
    • 当编译java文件时,会根据文件中的类,生成相应类的字节码文件,当有多个类时,会生成多个字节码文件;
    • 一个类可以被public修饰,也可不修饰;如果一个类被public修饰,那么该类的所在文件的文件名必须和该类名完全相同;
    • 一个java文件中只能有一个类被public修饰;
    • 一个java文件中可以有多个主方法(入口函数);
    • 一个类中只能有一个主方法;
    • Java程序对大小写敏感;

4. Java的注释

Java的注释是对所写代码进行解释的,方便程序员理解代码,不是给虚拟机看的;养成良好的注释习惯,开发会事半功倍。

单行注释:
//单行注释内容
多行注释:
/*多行
注释内容*/
文档注释:当Java程序形成说明文档时,文档注释的内容会被收集;
/**
 *文档注释内容
 */

5. 进制转换

  • 进制

    • 进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位。
  • 进制分类

    • 二进制:逢二进一,由0,1组成,计算机只能处理2进制的数据和指令;
    • 八进制:逢八进一,由0,1,2,3,4,5,6,7组成;
    • 十进制:逢十进一,由0,1,2,3,4,5,6,7,8,9组成,整数默认为十进制;
    • 十六进制:逢十六进一,由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f组成(大小写均可),以0x开头;
  • 进制转换计算

    • 十进制转二进制

      • 整数:除积取余反序法,如图10;

        图10.10转二进制
      • 小数:乘积取整正序法,把该小数不断乘2,取整,直至没有小数为止,注意不是所有小数都能转为二进制,如图11;

      图11.0.75转二进制
    • 十进制转八进制和十六进制

      • 同上面转二进制,整数除以对应的数(八进制:8,十六进制:16),取余反序法;小数乘以对应的数取整正序法;
    • 二进制、八进制、十六进制转十进制

      • 二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数;小数点取负次方;
    • 八进制转二进制

      • 整数/小数:一分三法,一个八进制数分成三个二进制数,用三位二进制按权相加,权数从左到右排列得到二进制,小数点依旧就可以,如图12;
      图12.21转二进制
    • 八进制转十六进制

      • 将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变;
    • 二进制转八进制

      • 整数/小数:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数;
    • 十六进制转八进制

      • 将十六进制转换为二进制,然后再将二进制转换为八进制,小数点位置不变;
    • 十六进制转二进制

      • 整数/小数:一分四法,一个十六进制数分成四个二进制数,用四位二进制按权相加,权数从左到右排列得到二进制,小数点依旧就可以,如图13;
      图13.21转二进制
    • 二进制转十六进制

      • 整数/小数:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数;
    • 1到15的二进制、八进制、十进制、十六进制转换表,如图10。

      图14.1到15进制转换表
  • 进制码

    • 原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小;
    • 反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外;
    • 补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容