从C++转向Java的第一课

序:计算机语言的学习,最快捷的方法是从一种语言映射到另一种语言。Java和C++作为最通用的面相对象高级语言,不论从语法或者编程上都极具相似性和可效仿行,这里的可效仿包括——语法理解可效仿和编程规范可效仿。本篇将针对Java语言,作重点牵引。

Java开发环境配置

1 安装JDK

版本:jdk1.6.0_27

配置用户变量:

a.新建 JAVA_HOME

C:\Program Files (x86)\Java\jdk1.6.0_27 (JDK的安装路径)

b.新建 PATH

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

c.新建 CLASSPATH

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

配置完成后,cmd 运行java命令看是否成功。

2 安装eclipse

版本:eclipse-jee-juno-win32

解压到安装路径即可。

再谈封装

封装,是面相对象最基本的概念,其意义在于保证某些数据不被外界干扰。C++中也是如此——类。特别要注意的是精准地定义数据的访问权限(public,private,protect)。但是在java中,有一个比类要高大的概念——包。我是这么区分的,类解决了数据对象和操作方法的抽象,而包封装了业务逻辑。类对于java来说,显得更重要,因为java程序的入口就是类,main函数存在类中。

继承和多态

这两个概念基本上和C++是雷同的。

程序的区别

这是两种语言的最大区别:C++是编译型语言,而java是解释型语言。

Javac编译器将.java文件编译成example.class文件,这个文件中包含了程序的字节码,而字节码中包含的是java解释程序将要执行的指令码。所以.class是不能运行的,必须用java解释器去解释。比如java example。

为什么java程序的文件名必须和其public类同名呢?

当java程序被编译后,每个单独的类都被放入自己的.class文件中,运行java解释器实际上是指定想要运行的类的名字,他会自动搜索到包含该名字且带有.class的文件。如果不同名,那将无法找到。

另外,java编译器能编译通过没有main函数的类,但是解释器必须有main函数。

数据类型

Java比C++更加严谨,对数据类型有更高要求,比如java不能讲float赋值给int。不兼容的类型必须作强制转换。

Java的布尔类型为boolean,值为true或者false。

Java不能嵌套声明同一个变量,而这在c++中是允许的。

int x = 1;

{

int x = 2;

}

Java数组运用稍有不同,java的数组需要动态分配。

int month[];

month = new int[12]; // 分配了12个元素,每个元素被初始化为0。

或者

int[] month = new int[12];

Java提供数组边界检测,而这点在C++中是不具备的。如果越界,将爆出如下异常:

java.lang.ArrayIndexOutOfBoundsException

java中没有sizeof函数,数据类型在所有的机器上长度相同。

字符串

字符串在C++中是一种类型,而在java中,它已经不是一种类型,而是一个对象。这点在很多web语言中都是如此,比如JavaScript中,连数组也是一种对象!

最大的区别

Java没有指针概念!为什么呢?为了小应用程序图片防火墙。

eclipse编码快捷排版

快捷方式:Ctrl+Shift+F

java标签运用原则

(1) 一般的continue 会退回最内层循环的开头(顶部),并继续执行。

(2) 带标签的continue 会到达标签的位置,并重新进入紧接在那个标签后面的循环。

(3) 一般的break 会中断并跳出当前循环。

(4) 带标签的break 会中断并跳出标签所指的循环。

再谈this

指向本类对象

再谈static

静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”3,反过来倒是可以的。而且你可以在没有创建任何对象的前提下,仅仅通过类本身来调用静态方法。这实际上正是静态方法存在的主要原因。它很象是C语言中的全局函数。Java中禁止使用全局函数,但你在类中置入静态方法就可以访问其它静态方法和静态字段。

类的静态变量

类的静态变量是该类所有对象共用的同一个成员变量。

类的静态方法

静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。

资源释放

1. 对象可能不被回收。

2. 垃圾回收并不等于“析构”。

3.垃圾回收只与内存有关。

final

java中的final修饰词类似于c++中的const变量。

函数

随机数函数

import java.util.*;

int i = rand.nextInt(100); // 取100以内的随即整数

在Math.random()的输出中包括了0.0,用数学语言,输出值范围是[0,1)

比较函数==和equals()的区别

equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
==比较的是2个对象的地址,而equals比较的是2个对象的内容。

implements接口实现

implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法。比如:people是一个接口,他里面有say这个方法。
public interface people()
{
   public say();
}
但是接口没有方法体。
只能通过一个具体的类去实现其中的方法体。
比如chinese这个类,就实现了people这个接口。
 public class chinese implements peopel{
   public say()
   {System.out.println("你好!");}
}

包——java新概念

包——程序库单元

import packagename;

比如java发布的utility程序库

import java.util.*;

这样就可以使用该包下的所有类

请注意,Java 包的命名规则全部使用小写字母,包括中间的字也是如此。

声明一个包的语句如下

package mypackage;

之后,要使用该包的类,必须先import该包。

你在创建自己的包时,将会发现 package 语句必须是文件中的第一行非注释程序代码。

如果A和B包中都有class1这个类名,则使用时,需带前缀

A.class1 obj = new A.class1();

有了包的概念,则我们可以定制自己的程序库了。

再谈访问权限

public, protected 和private

不同点:

c++可以延续之前的权限设置,而java必须在每一处定义的地方加上权限声明。

三个权限的使用方法和c++中的基本雷同。

转自:http://www.cnblogs.com/viviman/archive/2013/01/09/2853150.html

时间: 2024-10-27 19:01:32

从C++转向Java的第一课的相关文章

课堂随笔"Java"的第一课JDK的下载,安装和配置

前言:学习JAVA编程的第一步就是安装JDK,这是JAVA开发和安卓开发的第一步.下面就教大家如何从官网下载安装JDK,并测试是否安装成功. 一.JDK的下载 地址:http://www.oracle.com/cn 1.鼠标悬浮在下载上.然后在点击选择Java SE 2.先点击Java SE,再选择下载栏,然后点击进去下载目录 3.进入下载目录先选择 "接受许可协议" 不然官方是不会允许下载的.然后在找到对应的电脑系统和操作系统进行下载 二.JDK的安装 1.先选择开发工具,然后选择安

Java反射第一课认识Class类

Class类 1.在面向对象的世界里,万事万物皆对象 (1)先来理解两个问题: (1)Java语音中,静态的成员,普通数据类型是不是对象? [普通的数据类型int a = 5 不是面向对象的,但是它有包装类弥补了] [java静态的东西不是面向对象的,静态的东西不是某个对象的他是属于类的] 所以在面向对象的世界里,万事万物皆对象 (2)类是谁的对象? 类是对象,类是java.lang.Class类的实例对象 Class类的实例对象是什么?---我们每一个对象所属的类就是Class类的实例对象(也

java自学第一课:安装jdk,写第一条java程序

一.安装jdk 二.写第一条java程序 三.认识jdk JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库. JDK包含的基本组件包括: javac – 编译器,将源程序转成字节码 jar – 打包工具,将相关的类文件打包成一个文件 javadoc – 文档生成器,从源码注释中提取文档 jdb – debugger,查错工具 java – 运行编译后的java程序(.class后缀的) appletviewer:小程序浏览器,一种执行HTML文件上的Java

JAVA学习第一课

                                          JAVA概述 首先先复习一下基础常识: 1.软件开发 2.人机交互 3.常用的DOS命令 一.软件开发 什么是软件? 软件是一系列按照特定顺序组织的计算机数据和指令集合(指令:是处理数据的方式) 常见的软件有:系统软件(DOS.WIndows.Linux),应用软件(QQ.360.迅雷) 所以,软件开发就是指制作软件,将一系列的数据和集合组织起来 二.人机交互 软件使人和计算机更好的交互 交互方式: 1.图形化界

java 学习第一课,JDK工具包的安装

1. jdk 的下载 目前为止,jdk的最新版是jdk8,http://www.oracle.com/technetwork/java/javase/downloads/index.html 到这里下载  目前我用的是win7 64位操作系统,所以下载如下这个连接: 2. JDK 8 的安装 安装时,对话框 会先让你安装 JDK,我选择 E:\java\jdk8 这个安装好之后,会让你再选择一个目标文件夹,用于安装JRE, 这里要注意的是,不能与之前的JDK安装在一个目录中,否则环境变量将设置不

JAVA学习第一课(初识JAVA)

PS:退ACM集训队了,自己也疯玩了两天,后天就开学了,就正式大二了,该收收心好好学习啦                                                                                  JAVA概述 首先先复习一下基础常识: 1.软件开发 2.人机交互 3.经常使用的DOS命令 一.软件开发 什么是软件? 软件是一系列依照特定顺序组织的计算机数据和指令集合(指令:是处理数据的方式) 常见的软件有:系统软件(DOS.WIndows.

【设计模式】Java设计模式第一课之观察者模式

我们可以用一个生活中的情景来认识一下观察者模式. 在这个时代,可能只有我们家里的老年人还保留着每天看报纸的习惯.报社负责生产内容,把它们组织到一张报纸上,每天进行印刷,然后送到每一个花钱订阅了报纸的用户家里.这样老人家就可以浏览一下每天发生的事情了. 这就是观察者模式最贴切的比喻.订阅者和报社是一对多的关系,每天只要更新了内容,就会统一把报纸送到用户的手里,当然,如果你不想订阅了,也可以退订.报社不知道你的状态,也不会关心你到底有没有看报纸,它的职责就是每天准时的把报纸送到你的家里. 下面是我看

java程序设计第一课

对象: 拥有状态,行为,标识 万物都是对象 对象通过发送消息来调用对方 每个对象可以拥有其他对象 每个对象都有一个接口 每个对象都提供服务,通过调用其他对象提供的服务来实现这一目的 隐藏实现对象 2个角色:类的创建者,客户端程序员(类消费者) 隐藏目的:创建类,只向客户端程序员暴露必须的部分,隐藏其他部分 访问控制:public private,protected 复用:将类的一个对象置于某个新的类中,成为组合 继承:复用接口 以现有类为基础,复制它,子类拥有父类的一切行为 软件设计用UML类图

JAVA 第一课

JAVA第一课 电脑识别的进制:二进制,八进制,十六进制 二进制来表示高低电压,类似于抗战时期的发报机.2进制的存储 8进制和16进制:计算器,在计算的时候有一定的临时存储,8位或者16位禁止的存储 十六进制之后,没有数字10 ,所以之后都是用字母来代替,a.b.c... 而最终计算机只识别2进制的数据 计算机的计量单位 计算机进制之间的转换 简单来说,如何让我们系的数字变成电脑能识别的2进制的数字,一直除以2直到最后等于1,然后从最后一位1开始将所有余数连接在一起就可以了 如何把2进制转换成1