一、基础知识

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). 将生成对象的地址返回       

转载于:https://www.cnblogs.com/Jtianlin/p/4148262.html

Java SE 基础知识(一)相关推荐

  1. Java SE 基础知识

    Java SE 基础知识 1 2 @(Notes)[J2SE, Notes] VICTORY LOVES PREPARATION. 特别说明: 该文档在马克飞象查阅最佳: 本部分知识还在迭代中,欢迎补 ...

  2. Java SE 基础知识体系梳理

    ## Java SE 基础知识体系梳理 ----------day01------------- (1)计算机的体系结构 (2)Java语言的概述 (3)开发环境的搭建和使用 1.计算机的体系结构(常 ...

  3. Java复习总结(二)Java SE基础知识

    Java SE面试题 目录 Java SE基础 基本语法 数据类型 关键字 面向对象 集合 集合类概述 Collection接口 进阶 线程 锁 JDK 反射 JVM GC io操作和NIO,AIO ...

  4. JAVA SE基础知识总结

    JAVA基础篇 1_JAVA语言概述 1.1 JAVA的总体概述 1.2 JAVA语言概述 1.2.1 基础常识 1.2.2 计算机语言的发展迭代史 1.2.3 Java语言版本迭代概述 1.2.4 ...

  5. Java SE基础知识(二)--整数的运算符

    Java SE 是什么,包括哪些内容(二)? 本文内容参考自Java8标准 一.代码运行机制相关的内容: 1.Java中的类型分类("你编程时能使用的类型全部在这里了"): ⑴.J ...

  6. 准备Java面试之Java SE基础知识——问题篇

    由于这个月要开始面试了,所以重新把java SE的基础重新学习一遍,主要问题有如下37条.我将会在一周内更新完成答案. 作者:Xoper.ducky 链接:https://www.nowcoder.c ...

  7. Java SE 基础知识汇总

    目录 一.Java概述 1.1 Java语言背景 1.2 Java语言的三个版本 1.3 Java语言的跨平台原理 1.4 JRE和JDK 1.5 DOS命令 二.Java环境搭建 2.1 环境变量的 ...

  8. Java SE基础知识详解第[12]期—集合(Set、Collections、Map、集合嵌套)

    写在前面: 每一个不曾起舞的日子,都是对生命的辜负. 希望看到这里的每一个人都能努力学习,不负韶华,成就更好的自己. 以下仅是个人学习过程中的一些想法与感悟,Java知识博大精深,作为初学者,个人能力 ...

  9. Java SE基础知识详解第[13]期—不可变集合、Stream流、异常

    写在前面: 每一个不曾起舞的日子,都是对生命的辜负. 希望看到这里的每一个人都能努力学习,不负韶华,成就更好的自己. 以下仅是个人学习过程中的一些想法与感悟,Java知识博大精深,作为初学者,个人能力 ...

最新文章

  1. 《你不知道的JavaScript》整理(四)——原型
  2. 100M独享带宽香港服务器有多快
  3. 互联网日报 | 天猫双11今日启动预售;同程艺龙成立酒旅事业群;恒大汽车正式启动科创板上市辅导...
  4. 解决 SpringBoot 在 JDK8 中 LocalDateTime (反)序列化问题
  5. Hibernate学习(一)创建数据表
  6. 手把手教你调整电脑磁盘的分区大小
  7. 弹窗拦截小帮手------火绒
  8. 华人的旗帜——首位亚裔图灵奖获得者姚期智
  9. 【阅读论文】第八章--多图像的质量增强--博-自动化眼底图像分析技术可筛查糖尿病患者的视网膜疾病
  10. 基于B/S模式的设备管理系统开发
  11. 基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计【毕设课设分享】
  12. 如何在vue项目中引入video.js插件
  13. 凝思科技linux关机密码,如何关机不需要管理员密码?
  14. 常见的噪声:高斯、泊松和椒盐噪声
  15. USB 到底是如何通信的(三)?
  16. OpenCv初学者学习笔记(一):图像视频的加载与显示
  17. 性能测试基础及loadRunner的使用(超详细)
  18. 王爽汇编语言 实验8
  19. Mac 应用中支持Dark Mode(深色模式)
  20. 东方博宜OJ——1.整数运算题解

热门文章

  1. [机器学习-回归算法]Sklearn之线性回归实战
  2. deepfake ai智能换脸_AI 换脸、声音篡改等,明确写入新版民法典!
  3. 计算机网络 —— OSI参考模型
  4. leetcode - 91. 解码方法
  5. pytorch——张量操作与线性回归
  6. RobHess的SIFT源码分析:imgfeatures.h和imgfeatures.c文件
  7. php token 表单重复提交,PHP生成token防止表单重复提交2个例子
  8. phpstudy的php fpm,PHP_php-fpm配置详解,php5.3自带php-fpm复制代码 代码 - phpStudy
  9. linux内核安装教程,Linux内核5.9的最重要功能及安装方法
  10. asp.net 获取全部在线用户_这款手绘风格的在线制图软件超棒