Java学习笔记 之 基本概念

一、       基本介绍及环境搭建

1Java 的特点

       Java tutorils 是这么描述的

The Java programming language is a high-level language that can be characterized by all of the following buzzwords:

  • Architecture neutral
  • Portable
  • High performance
  • Robust
  • Secure

1.  Simple 简单的: java 里面去掉了 C++ 里面的对指针的操作,引用里面也保存了指针的地址,相对 C++ 中的指针弱化了,垃圾系统自动处理; C++ 中的垃圾要自己去 destroy ,这一点 java 虚拟机会自动去收集垃圾

2.  Object oriented 面向对象的: java 是一门完全面向对象的语言,不支持 C 语言中面向过程的编程。

3.  Distributed 分布式的: java 中包含了一个支持 HTTP FTP 等基于 TCP/IP 协议的子库, java 应用程序通过 URL 打开网络上得资源和访问本地资源一样方便快捷,为分布式的环境提供了先天的优势。

4.  Multithread 多线程的: java 提供的多线程可以允许程序同时执行几个任务,这样就会有更好的交互性,在用户体验上要比单线程好

5.  Dynamic 动态的:动态特性是其面向对象设计方法的发展,允许程序动态的载入运行过程中所需要的类,这是 C++ 语言在面向对象的程序设计中无法实现的。

6.  Architecture neutral 结构中立的: java 的目的是支持到部署到异构的网络环境。在这样的环境下,应用程序必须保证在各种平台上运行,在不同的硬件平台上必须支持不同的操作系统,并能与多种语言相互操作。为了适应环境的多样性, java 编译器为我们生成结构中立的字节码文件。 Class

7.  Portable 便携的:

8.  High performance 高性能:性能始终是一个被考虑的因素, java 平台实现的优越的性能,虚拟机直接将字节码翻译成机器码。

9.  Robust 健壮的: java 检查系统在编译和运行时的异常,类型检查使很多错误能够早期发现,摒弃了指针操作,减少了内存操作的可能性。

10.              Secure 安全的:提供了广泛的编译时检查 运行时检查,引导程序员养成良好的变成习惯。内存管理方式非常简单

2Jdk/jre/jvm

jdk:java developer’s kitjava 开发工具包)包含了 jre

jrejava runtime environmentjava 运行环境)能够运行 java 环境所需要得环境,一般服务器安装 jre 就可以了,无需 jdkJre 中包含了 jvm

jvmjava virtual machinejava 虚拟机)

3javase/javame/javaee

javase :java 标准平台, javaee 基础内容

javamejava 嵌入式平台

javaeejava 企业级平台

4 、安装开发环境

1. 下载 jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. 傻瓜式安装

3. 环境变量配置

       Windows 环境下:我的电脑右键属性高级环境变量,新建

       JAVA_HOME:jdk 安装目录

       CLASSPATH:.

       PATH:$JAVA_HOME/bin

配置完成后在 CMD 中敲 javac 试一下看有没有成功

5 、第一个 java 程序

用记事本新建一文件 文件名为 MyFirstApp.java

手动敲入如下代码

public class MyFirstApp {// 注意必须和文件名一致

       public static void main(String[] args){

              System.out.println("hello world");

       }

}

编译:打开 cmd 窗口进入 myFirstApp.java 所在的文件夹

命令: javac MyFirstApp.java

如果没有任何东西输出则编译通过

会在同一个目录下生成一个 MyFirstApp.class 文件

执行: java MyFirstApp 注意后面没有扩展名,如果看见 hello world 在正常

 

说明

main 方法为 java 入口方法类似 BCB 中的 WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

一个类中最多只有一个 main 方法

同一个文件中可以写多个类,但只能有一个是 public

例如:

public class MyFirstApp

{

              public static void main(String[] args){

                     String name="zhangsan";

                     new Second();// 实例化 Second

                     System.out.println("hello world:"+name);//+ 字符串连接

       }

}

class Second

{

       public Second(){

              System.out.println("second");

       }

} 编译后会多了一个 class 文件,说明一个类就会有一个 class 文件

 

Java 命令执行的过程:

1 、启动 jvm2 、找所需要的 class 文件 3 、加载字节码文件到内存中 4 、找类的 main 方法

二、 java 基本概念

1 、包 工程过大,用来管理庞大的类文件,一般把类似的类放在一个包中

       语法: package 包名 位于 java 文件的最上面

       编译时注意要 javac –d MyFirstApp.java 这是会按照包名生成相应的路径文件夹

       运行时注意 要用 java 包名 + 类名

如果在 java 文件中用到了别的包中的类,这是我们需要用 import 关键字引进来,一般放在 package 下面

2jar 命令

       把制定的 class 打为 jar

       jar cvf abc.jar dir

这样会把 dir 下面的内容打在名称为 abc.jar 的包中

如果在别的项目中想引用这个 jar ,在 classpath 中添加此 jar 文件即可

Jvm 查找类的顺序一般为 1 、当前目录 2$JAVA_HOME/jre/lib/rt.jar 这也是我们不用把 rt.jar 配置在环境变量的原因 3classpath 配置

3 、注释

       1 、单行注释 //

       2 、多行注释 /*  */

       3 、文档注释 /** */ 可以生成 html 帮助文档 javadoc a.java –d .\doc

4jdk 基本包

       Java.lang 使用时不用引入

       java.awt javax.swing javax.awt.event// 图形界面包

       java.io javax.nio// 文件流

       java.net// 网络包

       java.util// 工具包

5 、编码习惯

       类、接口的首字符大写,如果由多个单词组成,各单词的首字母大写

       方法名、变量名首字母小写,多个单词首单词字母小写其余单词首字母大写

       常量名全部大写如果多个单词要用 _ 分割

       包名全部小写

标识符由字母 下划线 $ 数字组成,不能由数字开头 ( 这是语法 )

6 、基本数据类型

       boolean byte short char int doube long float

注意 String 不是基本数据类型

Java 中从低字节向高字节类型自动转换

       byte ->short ->int-> long-> float ->double

逆向过程需要强制转换但是精度会丢失

经典的类型提升的例子

public class ByteInt

{

       public static void main(String[] args){

              byte b=1;

              b++;

              System.out.println(b);

       }

}

public class ByteInt

{

       public static void main(String[] args){

              byte b=1;

              b=b+1;

              System.out.println(b);

       }

}

第二个则编译不通过

7 、数据类型分类

       1 基本类型 2 、引用类型 3void 类型

引用类型存储的是对象在内存中的地址,栈负责给方法分配空间 堆负责给对象分配空间,如果一个引用不指向任何一个对象就会报空指针异常

8 、垃圾回收

如果一个对象没有任何的引用指向他,他就是一垃圾;

Jvm 虚拟机会自动释放它,如果 jvm 不能及时释放你可以用 System.gc() 提醒释放

8 、运算符 ()

@author http://javaflex.iteye.com/

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值