Java程序的基本规则

Java程序的组织形式:纯粹的面向对象的程序设计语言,所以Java程序必须以类的形式存在,类是Java程序的最小程序单位,Java程序不允许可执行语句、方法等成分独立存在,所有的程序部分都必须放在类定义里。

要使用Java命令来解释某一个字节码文件,这个文件内必须有一个main方法,且main方法定义的写法固定为:

public static void main(String[] args)

对于一个大型的Java程序而言,往往只需要一个main入口,其他类都是被main方法直接或间接调用的。

Java源文件的扩展名必须是.java

如果Java源文件里定义了一个public类,则该源文件的主文件名必须与该public 类名相同。所以一个Java源文件内最多只能定义一个public类。

ps:一个Java源文件最好只定义一个类,不同的类使用不同的源文件定义,并且Java源文件命名采用类名。

然后最好把文件夹选项设置成如下:

一些初学者容易犯的错误:

①CLASSPATH环境变量:

在JDK1.5以上的版本中完全可以不用设置,如果设置了就一定要设置正确,因为设置了CLASSPATH 以后,Java解释器就只会在CLASSPATH所指定的路径中寻找Java类。并且

找不到类定义的错误一般就是由于CLASSPATH环境变量设置不正确造成的。

如果指定了CLASSPATH,一定要加“.”,来让Java解释器强行在当前路径下搜索Java类

②大小写问题:

Java语言严格区分大小写。Java程序中的关键字全部是小写,无须大写任何字母

③路径里包含空格的问题:

在安装JDK以及相关Java的程序,工具时不要安装在包含空格的路径下,常见“Program Files"就包含

④main方法的问题,写法一定要正确,且用java命令直接运行的Java类一定要有main方法(用public static 修饰)

Java程序中输出的两种方式:System.out.print()和System.out.println(),后者在输出结束后会换行。

JDK9新增的jshell工具

JDK9的一大改进就是提供了jashell工具,是一个REPL工具,该工具是一个交互式的命令行界面,可用于执行Java语言的变量声明、语句和表达式,并且可以立即看到执行结果。可以更方便测试代码。新增的jshell位于JDK安装目录的bin路径下。

Java9的Gl垃圾回收器

显式进行垃圾回收是比较困难的一件事。Java程序的内存分配和回收都是由JRE在后胎自动进行的。JRE会负责回收那些不再使用的内存(垃圾回收 GC),通常由JRE提供一个后台线程来进行检测和控制,一般在CPU空闲或内存不足时自动进行垃圾回收。

垃圾回收不仅会释放没用的对象,还可以清除内存记录碎片。

但是垃圾回收影响性能。

内存泄漏:如果一些分配出去的内存不及时回收,就会引起系统运行速度下降,甚至导致程序瘫痪。

垃圾回收的特点:

①工作目标是回收无用对象的内存空间,垃圾回收器只能回收内存资源,对其他物理资源,如数据库连接,磁盘I/O等资源则无能为力。

②将引用变量设置为null,可以暗示垃圾回收器可以回收该对象。

③垃圾回收发生的不可预知性,虽然程序员可以使用调用Runtime对象的gc()和System.gc()等方法来建议系统进行垃圾回收,但这种调用仅仅是建议,依然不能精确控制垃圾回收机制的执行。

④垃圾回收的精确性:能够精确的标记活着的对象。能够精确地定位对象之间的引用关系。

编写Java程序时的一个基本原则:对于不再需要的对象,不要引用他们,当系统可用内存越来越少时,垃圾回收执行的频率就会越来越高,从而导致系统的性能下降。

何时开始使用IDE工具

初学者不要使用IDE工具来学习Java编程。

只有当知道IDE工具里单击每一个菜单,单击每一个按钮,IDE工具在底层做的每一个细节时,才可以使用IDE工具。

练习:

搭建自己的Java开发环境

编写Java语言的HelloWorld

面向对象

主流开发方法:①结构化开发方法(面向功能(数据流)的程序设计方法)②面向对象开发方法(可以提供更好的可重用性、可扩展性、可维护性)

结构化程序设计:SA  SD  SP,其最小的程序单元是函数,每个函数都负责完成一个功能。程序的入口为主函数

程序设计三种基本结构:顺序结构+选择结构+循环结构

Java学习笔记——第2篇的更多相关文章

  1. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  2. Java学习笔记——第3篇

    面向对象 结构化程序的任何一个结构都具有唯一的入口和唯一的出口,并且程序不会出现死循环. 虽然Java是面向对象的,但Java的方法里则是一种结构化的程序流. 面向对象的基本思想:类.对象.继承.封装 ...

  3. Java学习笔记——第1篇

    Java程序运行机制 Java程序要经过先编译,后解释两个步骤 编译型:高级语言源码 -->机器码(一次性)    生成可执行程序,脱离开发环境,在指定平台上运行.(C/C++/Objectiv ...

  4. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  5. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

  6. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  7. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

  8. 20145330第七周《Java学习笔记》

    20145330第七周<Java学习笔记> 第十三章 时间与日期 认识时间与日期 时间的度量 GMT(格林威治标准时间):现在不是标准时间 世界时(UT):1972年UTC出来之前,UT等 ...

  9. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

随机推荐

  1. 组件文档系统-mdx-react-docz

    推荐指数:

  2. egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名

    egg.js 通过 form 和 ajax 两种方式上传文件并自定义目录和文件名 评论:10 · 阅读:8437· 喜欢:0 一.需求 二.CSRF 校验 三.通过 form 表单上传文件 四.通过 ...

  3. STM32驱动模数转换芯片ADS1120(PT100铂电阻测温度)第2篇

    1. 先看下原理图,原理图是电流从IDAC1流出,提供驱动,然后R(REF)这个电阻上的电压作为参考,读取AIN0和AIN1的电压,那么可以测量出来电阻值. 2. 上图是官方给出的参考,下图是我实际用 ...

  4. CentOS的开发环境配置(Python、Java、php)

    CentOS安装Python 一.Python源代码编译安装 yum -y install wget yum -y install zlib zlib-devel yum -y install bzi ...

  5. AI - H2O - 安装与运行

    安装的要求 H2O的安装对操作系统.编程语言和浏览器有具体的要求. 详情请查看官方信息 下载H2O Downloading & Installing H2O Download 示例 - 在Ce ...

  6. cudaGetDevice() failed. Status: cudaGetErrorString symbol not found.怎么解决

    我是在使用anaconda的Spyder写一个数字识别的任务的时候遇到这个问题的,当时我以为是我的函数库有问题,然后安装了很多东西都没用,然后百度的答案都很模糊,在我尝试了一天一下午之后,找到了问题原 ...

  7. iOS 获取设备的唯一标识

    有时候,我们需要记录一下设备的唯一标识,比如标识这个设备是不是已经发过促销券了或者是否下载试用过app等等.最简单 的方法就是获取设备的UDID#[UIDevice currentDevice] un ...

  8. python 2.7 环境配置

    原文地址:Python 2.7的安装(64位win10) Python 2.7.12 下载地址:https://www.python.org/downloads/ 安装路径D:\Program Fil ...

  9. jquery根据html()的内容来选择

    <ul><li>First</li><li>http://www.hfxskyyj.com/</li></ul> 如上,如何选中 ...

  10. WUSTOJ的“讨论”和“私聊”功能如何使用

    反正我是过了1年多才知道有讨论这个功能,2年多才知道有私聊功能. 不知道大家都是什么时候发现的... 讨论还好,在FAQ界面的下边有提示,但是私聊我真没看到哪儿有提示...是我不小心点进去的. 讨论功 ...