一、基础知识

1. Java SE : Java Standard Edition

Java ME : Java Micro Edition

Java EE : Java Enterprise Edition

JDK:Java Development Kit

JRE:Java Runtime Environment

JVM : Java Virtual Machine

IDE:Integrated Development Environment

2. Java是由Sun公司推出的,Sun已被Oracle公司收购。

3. Java开发环境的配置:

1). 下载JDK,安装

2). 配置环境变量(可以是用户变量,也可以是系统变量),指向JDK安装目录中的bin目录

JAVA_HOME   D:\jdk          // 用户jdk安装目录,bin所在目录。

Path    ....;D:\jdk\bin 或 ....;%JAVA_HOM%\bin     // Path路径下的所有命令可以直接在DOS下执行

3). 通过运行,输入cmd打开命令行窗口,输入java –version,显示出Java版本信息,确认JDK配置成功
 
4. Java程序的执行分为两步:

1). 编译 (javac className.java //没有包的类(无package)  ;   javac -d . className.java  //有包的类,编译时会自动创建目录。'.' 表示当前目录,d表示目录)

2). 执行 (java className   //注意,类名后面没有.class。没有包的类(无package) ;   java package.className //有包的类 )
 
5. Class文件是字节码文件,程序最终执行的就是这个字节码(bytecode)文件。

6. Java是跨平台的,而JVM不是跨平台的(JVM是C语言编写的)。Java之所以能够做到跨平台,本质原因在于JVM不是跨平台的。
 
7. Java中数据类型分为两大类:

1). 原生数据类型(Primitive Data Type)

2). 引用类型(即对象类型,Reference Type):引用类型是用在对象上的。一个对象可以被多个引用所指向,但同一时刻每个引用只能指向唯一的一个对象。

如果一个对象被多个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。
 
8. 原生数据类型:

1). 字节型:使用byte表示,8位,表示-128~127之间的256个整数

2). 短整型:使用short表示,16位

3). 整    型:使用int表示,32位

4). 长整型:使用long表示,64为

5). 单精度浮点型:使用float表示。所谓浮点型,指的是小数,也叫实数。float的范围为-2^128 ~ +2^128,精度为6~7位有效数字

6). 双精度浮点型:使用double表示。双精度浮点型表示的数据范围要比单精度浮点型大。double的范围为-2^1024 ~ +2^1024,double的精度为15~16位

  7). 字符型:使用char表示(char是character的缩写)。所谓字符,就是单个的字符表示,比如字符a,或者中文'张',外面需要用单引号包围上

8). 布尔类型:使用boolean表示。布尔类型只有两种可能指,分别是true与false
 
    关于浮点型范围和精度问题,推荐博客:http://www.cnblogs.com/tekson/archive/2009/07/16/1524604.html
 
9. Java中的所有浮点类型的数据默认情况下都是double类型。不能直接将double类型的值赋给float类型的变量,即使该double类型的值都处于float类型的范围也是不可以的。

类似的情况还有short和int。 总之,能否成功赋值取决于等号右边的值类型与左边的变量类型是否一致。整数默认是int类型的,含有小数部分的more是double类型的。

将double类型的值赋给float有两种方式:

1). 显示强制类型转换:float  变量名 = (float)变量值 ;

2). 隐式强制类型转换,在赋值时,值后面加F或f:float 变量名 = 变量值F;
  
    总结:可以将表示范围小的值赋给表示范围大的变量;但不能直接将表示范围大的值赋给表示范围小的变量,只能通过强制类型转换实现。
 
10. 关于计算机系统中的数据表示:

       位:bit(只有0,1两种状态),是计算机系统中最小数据表示单位。

       1 Byte = 8 bit

       1 KB = 1024 Byte

1 MB = 1024 KB

1 GB = 1024 MB
 
11. Java有三种类型的注释:

1). 单行注释:以//开头,//后面的所有内容均被当做注释处理

      2). 多行注释:以/*开头,以*/结束,中间的所有内容均被当做注释处理,多行注释不能嵌套。

      3). 另一种多行注释以/**开头,以*/结尾,用于产生Java Doc帮助文档。
 
12. 运算符:

      1). 当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型

      2). 取模,即取余数。可以通过%运算得到,取模的结果符号永远与被除数保持一致

3). 逻辑运算符,需要注意的是双目运算符:&&和||,会发生短路运算。即如果&&前面的结果确定为false(||前面的结果确认为true),那么,&&和||后面的结果,

将不会继续进行判断(运算)

4). 自增或自减运算:int b = a++ ,是先将值赋给b,然后a再增加1。int b=++a ,先自增1,然后将结果赋值给b

5). 简化运算:b +=a ,即为:b = b + a ,加减乘除均可

6). 三元运算符(即条件运算符):type d = a ? b:c ,a 为boolean值,一般是一个boolean运算。如:int d = 2>3?4 : 5;
 
13. 流程控制语句:

1). if

2). switch ,switch 中需要注意的是,条件判断后需要加break。否则,当执行完满足条件的语句后,后续不满足条件的内容也会执行。

3). while 和 do ... while 的区别在于,前者先判断后执行。后者先执行,后判断。

4). for(变量初始化;条件判断;步长){ // 待执行代码 },for循环的执行顺序为:

a. 执行变量初始化

b. 执行条件判断。如果条件判断结果为false,那么退出for循环,开始执行循环后面的代码;如果条件判断为真,执行for循环中的代码。

c. 执行步进

d. 重复步骤b

5). break经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。continue语句,经常用在循环语句中,用于跳出当前的这个循环,开始下一次循环的执行。
     
14. Object Oriented Programming , OOP  面向对象程序编程

Object Oriented Design , OOD     面向对象设计

面向对象程序设计的三大基本特征:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism)
   
15. 封装:类包含了数据与方法,将数据与方法放在同一个类中就构成了封装。
 
16. 如果方法不返回值,那么声明方法时使用void关键字,在方法定义中可以有两种写法:

      1). 不使用return语句

      2). 使用return,但return后面没有任何值或变量,只有一个方法,即:return;

17. 命名约定:

1). 变量名:变量名以下划线、字母、$符号开头,并且跟下划线、字母、$符号以及数字。需要注意的是,Java中的变量名不能以数字开头。

2). 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不使用任何的连接符。比如 Person 类,MemberTest 类。

3). 方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词开始,每个单词的首字母大写。比如 add,addThreeInt。

4). 属性:命名约定与方法相同。比如 age,ageOfPerson。
   
18. 成员变量和局部变量的区别:对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初始化。如果没有初始化成员变量就开始使用,

那么每个类型的成员变量都有一个默认的初始值:

1). byte 、short 、int 、long  类型的初始值为 0

2). float 、double  类型的初始值为 0.0

3). char  类型的初始值 ‘\u0000 ’

4). boolean  类型的 初始值为 false    
    
19. 关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)。  
   
20. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:

1). 构造方法的名字必须与类名完全一致(包含大小写)

2). 构造方法没有返回值,连void也不能出现

3). 如果在定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认构造方法)

      4). 如果在定义一个类的时候,为类声明了构造方法,那么Java编译器就不会再为类添加构造方法了

      5). 不能显示调用类的构造方法,构造方法通常是通过new关键字隐式调用

6). 默认的构造方法没有参数且方法体为空
   
21. new关键字在生成对象时完成了三件事:

      1). 为对象开辟内存空间

      2). 调用类的构造方法

      3). 将生成对象的地址返回       

Java SE 基础知识(一)的更多相关文章

  1. Java SE基础知识

    Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 List Set Map Java SE基础 基本语法 数据类型 Ja ...

  2. Java SE 基础知识(String,Array)

    String 类: 1. 对于String对象的相等性判断来说,请使用equals()方法,而不是==.String的equals()是判断当前字符串与传进来的字符串的内容是否一致. 2. Strin ...

  3. Java SE 基础知识(二)

    1. 类由两大部分构成:属性和方法.属性一般用名词来表示,方法一般用动词来表示. 2. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,可以都不是public的. ...

  4. Java SE 基础知识

    常量: 常量是一种标识符,它的值在运行期间恒定不变,并且常量在程序中只能被引用,而不能被重新赋值. 常量的命名规则: 1.在 Java 中,在变量声明中加入 final 关键字代表常量,加入 stat ...

  5. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  6. Java SE 基础:注释

    Java SE 基础:注释 一.注释定义 用于解释说明程序的文字. 二.注释的作用 1.解释说明程序,提高程序的可读性 2.可以帮助我们调试程序:通过注释代码块,检测错误位置 三.格式 1.单行注释 ...

  7. Java SE 基础:标识(zhì)符

    Java SE 基础:标识(zhì)符 一.标识符定义 标识符,就是给类.接口.方法.变量等起名字时的字符序列 二.组成规则与注意事项 1.组成规则 英文大小写字母 数组 $ 和 _ 2.注意事项 不 ...

  8. Java SE 基础:常用关键字

    Java SE 基础:常用关键字 常用关键字表

  9. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

随机推荐

  1. 初始react

    很久就期待学习react了,惰性,一直都没有去翻阅react的资料,最近抽空,简单的了解了一下react,先记录一下,后续慢慢的学习. 一.ReactJS简介 React 起源于 Facebook 的 ...

  2. hdu2586(LCA最近公共祖先)

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. Centos6.5 (或Linux) 安装Elasticsearch

    一.可以在网上下载对饮的版本:https://github.com/elastic/elasticsearch,本次安装的是5.5.3. 首先保证虚拟机上安装了jdk,jdk的版本只是是1.7或以上 ...

  4. 9.7 Django 书单列表页面

    昨天的迭代版本,增加了编辑出版社,编辑列表,增添了返回页面! 具体的看 github : https://github.com/TrueNewBee/pythonDemo 看一下效果图: 整体来说还是 ...

  5. WCF的简单使用

    WCF简单介绍 WCF(windows communication foundation)是微软推出的数据通信的统一编程模型,在WCF有四个主要的关键点: abcd Address(地址):定义服务的 ...

  6. java中List的toArray方法

    把List转换成某种类型的数组,就拿String类型来做例子吧,有以下两种方式: //方法1,使用不带参数的toArray方法 String[] arr1=new String[list.size() ...

  7. Python:fromkeys()方法

    简介 Python 字典(Dictionary) fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...

  8. pro 图层 叹号

    同事遇到问题,后来他自己探索解决了~~大致记录如下 pro1.4中打开mxd,部分图层前显示叹号.根据arcmap的经验,点击叹号去修复,结果显示 不支持类型数据. 后解决办法:新建pro 的proj ...

  9. kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录

    1.基本概念 使用k8s安装gitlab-ce,采用GlusterFS实现持久化(注意PG使用的是NFS存储,使用动态存储重启postgresql的pod后无法成功启动pg,待解决),并集成了open ...

  10. javaScript错误(一)Cannot call method 'addEventListener' of null

    Cannot call method 'addEventListener' of null 原因很简单,JavaScript代码中要引用到DOM对象,但是这个DOM对象在JavaScript执行后才会 ...