Java基础知识(一)

最近在从零开始学Java,浅浅整理一下笔记。接下来会更的一系列帖子也是我由浅入深逐渐理解一门语言的过程,会按照我个人的逻辑,错误和疏漏在所难免,发在博客上,供需要的人取用、翻阅。

Java的一些特色

简单

  • 与C或C++接近,但省略了一些容易混淆的概念,更加通俗易懂。
  • 不使用指针,而是引用。
  • 提供了自动分配和回收内存空间的便利。

平台无关

具体原理如图:Java文件执行原理

  • 源文件扩展名为.java
  • 字节码扩展名为.class,是体系结构中立的,被java解释器翻译为不同系统/处理器各自的指令,然后执行。

面向对象

分布式

多线程

动态

(个人认为最后的三个概念对于初学者来说在理解上有困难,需要学到一定的程度才能够真正地理解运用,故不做记录)

Java的三种平台

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)

Java源文件的架构

  • 由若干个相互独立的类组成,且一个源文件中最多只能有一个是public类;
  • 一个源文件中必须有一个类名与源文件名称相同,该类称为主类
  • 若源文件中有public类,那么它必须为主类,即必须与源文件名称相同
  • 某一个源文件的主类中须含有函数public static void main(String args[]),该函数称为主函数
  • 可以由多个java文件(即源文件)集成。

一些工具

  • 编译器(javac),编译.java文件
  • 解释器(java)
  • 反编译器(javap),处理.class文件

示例1

main.java

public class main {
    public static void main (String args[]) {
        System.out.println("大家好!");
        System.out.println("Nice to meet you");
        Student stu = new Student();
        stu.speak("We are students");
    }
}

class Student {
    public void speak(String s) {
        System.out.println(s);
    }
}

运行结果:

运行结果1

示例2

main.java

public class main {
    public static void main (String args[]) {
        System.out.println("大家好!");
        System.out.println("Nice to meet you");
        Student stu = new Student();
        stu.speak("We are students");
    }
}

Student.java

public class Student {
    public void speak(String s) {
        System.out.println(s);
    }
}

运行结果:

运行结果2

  • 结果是完全相同的。
  • 在尝试示例2的过程中,我将Student.java里主类的public关键字删去了,结果运行结果没有受到影响。这说明即便Student类不声明为public,也可以被main.java所访问。
  • 那么,public关键字的作用是什么呢?
  • 查阅资料得知:
  • 每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。
  • 被public修饰的类可以被其他包访问
  • 那么,“包”又是什么呢?

包(package)的作用

  • 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  • 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突
  • 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

编程风格

Allmans风格

又称“独行”风格,即左、右大括号分别独占一行。

class Allmans
{
    public static void main(String args[])
    {
        int sum=0,i=0,j=0;
        for(i=1;i<=100;i++)
        {
            sum=sum+i;
        }
        System.out.println(sum);
    }
}

Kernighan风格

左大括号在上一行的行尾,右大括号独占一行。

class Kernighan {
    public static void main(String args[]) {
        int sum=0,i=0,j=0;
        for(i=1;i<=100;i++) {
            sum=sum+i;
        }
        System.out.println(sum);
    }
} 

注释

  • java中单行注释、多行注释格式均与C++格式相同
  • 注释不能嵌套。

参考资料

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林西河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值