本文将以c++、PHP类比Java来整理笔记。新进来的秃头小宝贝们可以先看看我的码龄,也算是有一些经验了。我很不赞成以强制写笔记这种方式,来证明有没有学习Java,笔记是用来记录重难点与思路的,一些基础性的知识到处都有,牢记于心即可,何必浪费时间写笔记记录。在CSDN上找到很多大佬们的轮子,学习过图像分析等一些经验。

正文:

一、  java是一种面向对象的语言

二、 java运行核心机制

1、 java是运行在一个java虚拟机上jvm。 jvm是一个虚拟的机,具有指令集并使用不同的储存区域。负责执行指令,管理数据、内存、寄存器。

2、对于不同的平台,有不同的虚拟机。

3、java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

4、编译执行过程如下:

 java代码→ (通过javac.exe编译) .class→(通过java.exe执行)不同系统上的jvm

三、java环境的安装与搭建

(1) 什么是JDK, JRE?

1、 JDK: java development kit。是java的开发工具包。JDK其中包含了java的开发工具,也包括了JRE。所以安装了jdk就不用单独安装JRE了。

开发工具如:编译工具(javac.exe)打包工具(jar.exe)等等。

2、JRE: java runtime environment, java运行环境。

包括了java虚拟机和java所需要的核心类库等,如果想要运行一个开发好的java程序,计算机中只需要安装JRE即可。

(2)下载安装JDK

官网:www.oracle.com

安装JDK,注意:安装路径不要有中文或者特殊符号。

四、java语言java是由一个一个类构成的。

public class HelloWorld

{
public static void main(String[] args)

{
System.out.println("Hello,World!");

}

}

注意一:模版。

类中可以用main方法(主方法) ,格式是固定的, public static void main(String[] args)。

 main是程序的入口,方法内是程序的执行部分。

注意二:注释

可以检测bug,可以方便未来功能的添加与修改。

注意三: print不需要换行加上ln换行。

注意四:多个类,允许存在于同一个源文件中。

但是,编译出来的,有几个类就会对应生成几个class文件。

注意五: public是个关键字,可以修饰类。

如public class HARRY Hoo。若用public修饰了一个类,则这个类可以用在别的类里,而且,文件名必须与这个类名一样。并且一个源文件中,最多只有一个类用public声明。

五、java编辑器

Java 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。

虽然eclipse占据了java程序员的40%的市场左右,但是由于本人用习惯了notepad++,用了七年之久。并且notepad++良好的开源环境,使得插件配备上更为完善,使用插件扩展后,效果堪比IDE(集成开发环境)。所以,我目前使用的依然是我熟悉的notepad++。notepad++可以更改编码模式,可以实现代码的重用化,省去大量精力。

 六、java基础知识

(1)注释

代码解释:与c++规范相同。

文档注释:程序的注释,各种语言都是大同小异,并且各种语言为了让开发者快速上手,都会使用行业内的现有语言规范。java代码的注释和我编写PHP语言采用的一样,与c++语言规范更为相似。

学java需要做笔记吗 学java需要记笔记吗_开发语言

 PHP语言注释 java只需忽略第一行与第九行

学习计算机语言最重要的是理解其中机理,融会贯通。

注释内容可以被JDK中的Javadoc工具所解析,生成一套以网页文件形式体现的该程序的说明文档。

(2)基本语法

和c++极度相似……

(1)关键字定义:被java语言赋予了特殊含义,用作专门用途的字符串。

    特点:无小写。

  1. 用于定义数据类型的关键字: int class boolean interface enum long void floatbyte double short char
  2. 用于定义数据类型值的关键字: true false null
  3. 用于定义流程控制的关键字: if else switch case default while do for dobreak continue return

(2)标识符定义:java对各种变量,方法和类等要素命名时使用的字符串序列成为标识符。

    特点:凡是自己可以起名字的地方都叫标识符。

    定义合法标志符的规则:

①字母,数字,_$组成

②数字不开头

③不可以使用关键字和保留字,但可以包含关键字和保留字。

④Java中严格区分大小写,但不限定长度。

⑤标识符不能包含空格。

    java命名规范:

    ①包名:多单词组成时都用小写。

    ②类名,接口名:多单词组成时,所有单词的首字母都大写。

    ③变量名,方法名:多单词组成时,第一个单词首字母小写,第二个单词开始的每个单词首字母都大写。

    ④常量名:所有字母都大写,多单词时用下划线连接。

(3)变量

变量的分类(数据类型):

1、基本数据类型:

    ①数值型:整型,浮点型(java里float定义的数字后要加一个F)和c++相同。

    ②字符型:

    char定义单个字符(中文,英文。。..),String定义字符串字符常量以Unicode值储存, Unicode码。

     占两个字节

③布尔类型

 java中不能以0和非0代替true和false(与c++标准不同)

 2、引用数据类型

        ①类(字符串)

        ②接口(Java中的便捷性)

        ③数组

注:类型转化(与c++ 标准相同)

同类型容量小的值可以向容量大的值转换。

    整型向浮点型转化。

    字符型向整型转化。

1.自动类型转化:(不考虑boolean只考虑char byte short int long floatdouble)

注意:byte,short!只能向int转换。byte不能向short转化。即,只要short,byte,char之间做运算,包括自己之间,都向int转化。

2强制类型转化:容量大向容量小转化。(与c++相同)

注意:会造成精度损失(去高位,取低位)

3.字符串与基本数据类型之间的运算:只能是连接运算:+。其结果仍为一个字符串。

(4)运算符

1.逻辑运算符(与c++不同)

&和&&的区别:&不管左端是否是真,右端都会运算。&&左端是假,右端就不会运算。

|和‖区别与上同理

2.位运算符>>与>>>的区别:前者是有符号右移,后者无符号右移。

有符号是指,最高位是1则补1,是0则补0。

  (5)数组

   1、java数组的定义以及特征:

    ①数组是多个相同数据类型的组合,实现对这些数据的统一管理。

    ②数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

    ③数组属于引用类型,数组型数据类型是对象(object),数组中的每个元素相当于该对象的成员变量。

    2、如何定义一个数组

public class HARRYHoo {

  public static void main(String[] args) {

  //第一种 例:

  String[] test1 = new String[6];

  test1[0] = “数组0”;

  test1[1] = “数组1”;

  //第二种 例:

  String[] test2 = {“数组0”,“数组1”,“数组2”,“。。。。”};

  //第三种 例:

  String[] test3 = new String[]{“数组0”,“数组1”,“数组2”,“。。。。”};

  }

}

3.数组的调用与c++相同

数组名[角标]

4.通过length属性获取数组长度

System.out.println(test1.length);

5.遍历数组中的元素

用for循环,c++中的方法。

6.数组的默认初始化值

①对于byte short int long而言:创建数组以后默认值为0(即使一个也不初始化,此处与c++不同)

②对于float double而言,默认值是0.0

③对于char而言默认值是空格

④对于Boolean而言默认值为false对于引用类型变量构成的数组,默认值是null