Java学习笔记

一. 准备工作

在正式学习Java之前先做些准备工作:

  1. 图灵完备
    要学习一门新的计算机语言,先要确定这个语言是否是图灵完备的。在可计算性理论里,如果一系列操作数据的规则(如编程语言)按照一定的顺序可以计算出结果,被称为图灵完备(turing complete)。通常,图灵完备的编程语言能实现对数据编码处理存储,自定义数据结构,实现逻辑控制等功能。
  2. Java简介
    Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
    Java分为三个体系:
    JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)
    JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
    JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
  3. Java 特点
  • Java 语言是简单的**:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
  • Java 语言是面向对象的:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
  • Java语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。
  • Java 语言是可移植的:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
  • Java 语言是多线程的:在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
  • Java 语言是动态的:Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

二. 编程语言的基本程序逻辑语法

  1. 条件控制
if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}

这部分语法与 C 语言和 C++ 语言很接近。

  1. 循环语句
while( 布尔表达式 ) {
  //循环内容
}
do {
       //代码语句
}while(布尔表达式);
for(初始化; 布尔表达式; 更新) {
    //代码语句
}
	Java5 引入了一种主要用于数组的增强型 for 循环。
for(声明语句 : 表达式)
{
   //代码句子
}
for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。
其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
  1. 输入与输出
    读取键盘输入:可以通过 Scanner 类来获取用户的输入。
Scanner s = new Scanner(System.in);
String str1 = scan.next();
System.out.println(str1); //输出

三. 变量

  1. Java是一门 编译型-解释型 的 强类型 静态语言
  2. 变量的定义规则: 以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  3. 字符串:在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
    String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上
String str = "shirley";
String str2=new string("shirley");
//

四. 文件操作

  1. FileInputStream(二进制I/O)
    该流用于从文件读取数据,它的对象可以用关键字 new 来创建。
  • 使用字符串类型的文件名来创建一个输入流对象来读取文件
InputStream f = new FileInputStream("C:/java/hello");
  • 使用一个文件对象来创建一个输入流对象来读取文件
File f = new File("C:/java/hello");
InputStream out = new FileInputStream(f);
  1. FileOutputStream(二进制I/O)
    该类用来创建一个文件并向文件中写数据。如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
  • 使用字符串类型的文件名来创建一个输出流对象
OutputStream f = new FileOutputStream("C:/java/hello")
  • 使用一个文件对象来创建一个输出流来写文件
File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);
  1. PrintWriter写数据(文本I/O)
File file = new File("testwrite.txt");
PrintWriter output = new PrintWriter(file);
  1. Scanner读取数据(文本I/O)
File file = new File("testwrite.txt");
Scanner input = new Scanner(file);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值