Java学习笔记:语言基础
2014-1-31
 
最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面。同时为学习Android开发做些准备。
Java和C++的语法有很多类似之处,学习中重点关注的是差异部分。
 
数据类型
Java支持的基本数据类型有:
1) 整数:byte/short/int/long
2) 浮点:float/double
3) 字符:char
4) 布尔:boolean
 
除此之外,通过类String支持字符串类型,支持数组。
 
Java中的数组和C++有所不同,有两种声明的方法:
1) int[] anArray = {1, 2, 3};
2) int[] anArray; anArray = new int[3];
 
Java支持多维数组,比如:
int[][] anMulArray = {{1,2,3}, {4,5}, {1}};
注意:第二维的数组并不要求包含相同个数的元素。
 
数组拷贝不需要逐个元素拷贝,可以使用库提供的数组拷贝函数。
 
比起C++,Java支持了String类型,简化了字符串的操作。字符串变量的定义方式如下:
1) String anString = "abcef";
2) String anString; anString = new String("abcef);
注意:String类型的字符串变量不能修改。可以使用BuilderString创建需要修改的字符串。
 
控制流
保留字:
if/else
do/while
for
switch/case
break/continue/return
 
语法和C++差不多,有以下几点特别之处:
1) for支持两种格式,一般格式和增强格式。
2) switch可以使用String类型。
3) break/continue支持分支到标签。
 
类的定义
保留字:public(protected, private)/static/final
 
类包含三种成员:field/method/constructor
 
1) field
支持 public/static/final 修饰符;
static final 用来定义产量;
初始化的方法,对于基本类型变量,可以在定义的时候直接进行初始化。对于instance 变量,可以在constructor中定义。对于static变量,定义初始化block。
 
2) method
支持public/static/final/abstract修饰符。
method signature 由方法的名称、参数类型个数定义。如果signature不同,就是overload。
参数传递方式:对于基本数据类型的参数,按值传递。对于数组、字符串、对象,按引用传递参数。
 
3) constructor
没有返回值类型,和类同名。
 
接口定义
保留字:interface, default
 
Java支持interface,从语言机制上明确了接口的概念。
 
接口可以包含:
1) constant
2) method signature
3) default method
 
继承
保留字:extends, implements, super, this, abstract
 
类继承时,基类、派生类中同名成员的处理:
1) hiding:对同名的变量和static method。
2) overriding:对同名的instance method。这种情形应用于“多态”机制。
3) constructor不能继承,需要使用super 进行调用。
 
多继承:class 不支持多继承,interface支持多继承。
 
多态:可以通过interface类型变量引用实现类的对象。
 
抽象类、抽象函数:从interface继承的类,如果存在一些函数没有实现,这样的类是抽象类,不能实例化。
 
IO
Java中,最基本的流是 byte stream 和 character stream。
在这个基础上,增加了对buffer的支持。
进而又支持了 Data 和 Object 流。
 
异常
保留字:try, catch, finally, throws, throw

Java学习笔记:语言基础的更多相关文章

  1. Java学习笔记之---基础语法

    Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...

  2. java学习笔记之基础篇

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

  3. go学习笔记-语言基础

    语言基础 结构 基础组成: 包声明 引入包 函数 变量 语句 & 表达式 注释 程序 在开始编写应用之前,我们先从最基本的程序开始,在学习大部分语言之前,都会编写一个可以输出hello wor ...

  4. java学习笔记之基础语法(一)

    1.java语言基础由关键字.标识符.注释.常量和变量.运算符.语句.函数和数组等组成. 2.1关键字 定义:被java语言赋予了特殊含义的单词 特点:关键字中所有的字母都是小写. 2.2用于定义数据 ...

  5. JAVA学习笔记之基础概念(一)

    一.Java 简介: Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称. 由 James Gosling和同 ...

  6. java学习笔记之基础知识

    1.class不加修饰符默认default,只在当前包里能用. 2.构造函数前面的修饰符的作用类似class的,限制引用的权限. 3.java对象的创建其实就是类的实例化,类的实例化就是在堆上copy ...

  7. java学习笔记之基础语法(二)

    1.数组: 概念:同一种类型数据的集合,其实,数组就是一个容器 优点:可以方便的对其进行操作,编号从0开始,方便操作这些元素. 2,数组的格式 元素类型[]数组名=new 元素类型[数组元素个数]: ...

  8. Java学习笔记之基础语法(数据类型)

    8种基本数据类型    整型:   byte[1字节]          short[2字节]        int[4字节]         long[8字节]      1,四种整型之间的区别:申 ...

  9. Java学习笔记之基础语法(数组)

    数组 数组概述:是具有相同数据类型的数据的集合 数组的定义:数据类型 数组名 [] 数组特点: 1,数组是引用数据类型. 2,数组值用大括号,元素之间用逗号隔开,元素的个数是0-N个 3,数组长度是固 ...

  10. Java学习笔记之基础语法(顺序,条件,循环语句)

    顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一 ...

随机推荐

  1. Android(java)学习笔记91:泛型接口的概述和使用

    package cn.itcast_06; /* * 泛型接口:把泛型定义在接口上 */ public interface Inter<T> { public abstract void ...

  2. android复合控件

    一.复合控件TopBar   创建复合控件可以很好地创建出具有重用功能的控件集合.比如TopBar. 做法:一般需要继承ViewGroup,再给它添加指定功能的控件.   以TopBar为例:   1 ...

  3. UseAdaptiveSizePolicy与CMS垃圾回收同时使用导致的JVM报错

    系统在灰度环境上变更时发现JVM启动报错,详细检查JVM配置参数,发现新境了如下配置: -XX:+UseAdaptiveSizePolicy和-XX:+UseConcMarkSweepGC 初步猜想是 ...

  4. BOOTCAMP版本适配机型表

    这些只支持64位的win7 win8 ******************************************** 5.1.5640 MacBook Air(11 英寸,2013 年中)M ...

  5. CSE(Corrupted State Exceptions) 严重异常处理办法

    原因分析 出现这个问题说明.NET版本至少是4.0,因为微软在.NET 4.0版本中更改了异常处理机制.微软认为catch(Exception)这种写法是不负责任的,程序员应该按照异常严重类别决定程序 ...

  6. 关于IE6的一些常见的CSS BUG处理

    CSS BUG:样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS BUG: CSS Hack:css hack是指一种兼容css 在不同浏览器中正确显示的技巧方 ...

  7. ajax开发模拟后端数据接口

    在做前端开发的时候,特别是一些业务逻辑集中在前端的开发中.我们经常需要自己来模拟获取到后台接口的数据.为什么要模拟?可能后台接口还没有开发完成,可能后台还没有数据返回,可能...等等原因.曾经,我也尝 ...

  8. 使用spring+mybatis+atomikos+tomcat构建分布式事务

    本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...

  9. Android:Xml(读取与存储)

    1.读取XML文件 参数xml是建含xml数据的输入流,List<Person> persons用于存储xml流中的数据. XmlPullParser类的几个方法:next(),nextT ...

  10. kettle

    Kettle(中文名称叫水壶)是一款ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定.Kettle家族包括4个产品:Spoon.Pan.CHE ...