前言

从事工作也已经2年多了,一直以来看到别人写博客的热情和坚持的毅力,因此准备开篇写下《Java基本功》系列博客;也算是对自己JAVA基础知识的回顾,因为工作久了,业务上的东西做的越来越多,但基本功却越来越疏远了。。。。。

一、JAVA简介

根据TIOBE 2016年2月编程语言排行榜来看:
  JAVA 一直以来排行都不错,因此还是值得继续学习的;它是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。
通过上图可以发现,真正最后所需要的只是*.class文件(字节码文件),而在电脑上的执行,实际上也只是在一台虚拟的电脑上执行。那什么是JAVA的虚拟机?
JAVA的优点:
1)相对于C++而言,JAVA的学习相对简单。
2)JAVA具备很好的可移植性,可以跨平台;原因在于JAVA最终指向的字节码文件是在JVM上运行的,而由JVM来适配不同的平台和操作系统,对于开发人员不需要去关注JVM如何适配平台。
3)JAVA相对C++而言避免了复杂的指针和内存释放操作,JAVA提供了一套垃圾回收机制,会自己释放没有使用的垃圾。
4)JAVA是面向对象的语言支持多线程并发操作。

二、JDK的安装和配置

java程序的开发基于JDK平台的,因此首先需要安装JDK,JDK的下载可以去官网下载,本文采用经典版JDK1.6进行讲解:
下载后,点击jdk-6u39-windows-i586.exe 安装软件:
点击下一步,
       更改安装路径都D盘目录下,继续下一步;
等待一会,正在安装中。。。。。
安装完成JDK后,会提示是否安装JRE,后面会讲解JDK和JRE的区别是什么?
选择安装JRE,更改到D盘;点击下一步:
等待一会,正在安装JRE。。。。
                
点击安装完成,即可。
问题1:JDK和JRE的区别?
JDK 是Java Development Kit  JAVA开发工具;而JRE Java Runtime Enviroment JAVA的运行环境,JRE是针对于JAVA的使用者,而JDK是针对于JAVA的开发者;没有JDK,JAVA程序也可以运行在JRE上面。
在JDK安装成功后,JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
       jar – 打包工具,将相关的类文件打包成一个文件
       javadoc – 文档生成器,从源码注释中提取文档
       jdb – debugger,查错工具
       java – 运行编译后的java程序(.class后缀的)
      appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。     
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
 Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
 Jconsole: Java进行系统调试和监控的工具
最经常使用的为javac.exe 和 java.exe 以及jconsole.exe  三个;但因为javac.exe  和  java.exe 并不是windows平台所本身提供的,因此需要进行相关的配置。
配置方法为:
1)
2)
3)新建系统变量JAVA_HOME ;变量值为:D:\Program Files\Java\jdk1.6.0_39
4)新建变量CLASSPATH,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
5)配置PATH,path,应该是以前就有,需要追加内容为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
上述配置完成后,点击确定即可。
最后校验是否配置成功,运行cmd 输入 java -version (java 和 -version 之间有空格)
若如图所示 显示版本信息 则说明安装和配置成功。
安装成功后,接下来,我们尝试使用javac.exe 和 java.exe 来完成我们的HELLOWORLD程序。
首先,编写代码如下:
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World");
}
}
在Java中,如果要定义类,简单的讲现在有两种方式:• 方式一:public class 类名称,类名称必须与文件名称保持一致,在整个*.java源文件之中,只能有一个public class定义;• 方式二:class 类名称,类名称可以与文件名称不一致,在一个*.java中可以有多个class定义,编译之后会分别保存在不同的*.class文件之中,但是执行的时候一定要看好执行的*.class名称;
        
path:表示所有可执行程序的路径
       
classpath:是*.class文件所在的路径,JVM会通过此路径来加载相关的类路径。

三、JAVA基本语法

任何语言都有其基本的语法,JAVA也如此。
1)标识符:可以定义类名称或方法名称、变量名称都是标识符,在Java中所有的标识符的组成:字母、数字、_、$所组成,其中不能以数字开头,不能是Java中的保留字(关键字),但是在命名的时候也不要使用“$”,这个符号以后有特殊含义。
关键字如下图所示:

  

说明:
 在JDK 1.4之后增加了assert关键字,JDK 1.5之后增加了enum关键字;
 特殊含义的标记(严格讲不是关键字):true、false、null;
 其他的所有关键字,与C语言中同名的,含义都一样。
 2)JAVA的基本数据类型:
JAVA的数据类型可以分为基本数据类型和引用数据类型。

其中基本数据类型分为三大类八种,简称“三八”(ps:O(∩_∩)O~)
 基本数据类型:三类为:数值型,字符型,布尔型
 八种为:byte\short\int\long\float\double\char\boolean
备注:
所有的整数默认均为int 型;所有的小数均默认为double型
 
char,使用“' ” ,而且在中文环境下可以设置一个中文文字,采用的是 UNI CODE 编码
boolean,有 true 和 false 两种取值
引用数据类型:类、接口、数组
3)字符型的数据本身和C语言中的ASC II码的编排效果类似,但是它并不是ASC II码,因为在java中使用的编码是UNICODE,是一种使用十六进制编码的形式,包括char的默认值“'\u0000'”,但是UNICODE编码的时候考虑到了ASC II码,所以有一些码的序列是ASC II码一样。

4)运算符
三目运算符:类型 变量 = 条件 ? 满足条件的内容 : 不满足条件的内容 ;
逻辑运算符就是:与(所有操作都满足返回true,&、&&)、或(有一个条件是true结果就是true,|、||)、非(true变false,false变true),但是在Java中与和或两种操作比较特殊一些。
与操作:&、&&,下面首先观察这两种与的特点:
public class TestDemo {
public static void main(String args[]) {
if (1 == 2 & 10 / 0 == 0) {
System.out.println("****************") ;
}
}
}
此时运行之后出现了错误,实际上在本程序中的第一个条件(1 == 2)已经就返回false了,那么按照与操作的概念来讲,只要有一个数据返回false,那么最终的全部结果都是false,所以后面根本就没必要判断,可是现在使用的是“&”,就表示所有的条件都要进行判断。</p>
使用“&&”(短路与)完成操作:
public class TestDemo {
public static void main(String args[]) {
if (1 == 2 && 10 / 0 == 0) {
System.out.println("****************") ;
}
}
}

使用“&&”之后如果前面的条件已经返回了false,那么后面不管有多少个true最终结果都是false,所以不判断了。

或操作:|、||,或操作的主要特点只要有一个true,结果都是true;
public class TestDemo {public static void main(String args[]) {if (1 == 1 | 10 / 0 == 0) {System.out.println("****************") ;}}
}

既然有一个条件满足结果就是true,现在第一个条件已经满足了,但由于使用的是普通或,所以最终所有的条件都要进行判断。

使用短路或“||”完成:
public class TestDemo {public static void main(String args[]) {if (1 == 1 || 10 / 0 == 0) {System.out.println("****************") ;}}
}

现在前面的条件满足了,满足之后后面的条件判断与否没有任何的意义,最终结果就是true,所以不判断了。

因此结论:
如果要进行条件判断的时候肯定使用&&、||。
问题4:请解释“&”和“&&”、“|”和“||”的关系?
• “&”和“&&”的区别:
|- “&”如果是在位运算中表示位与操作,如果是在逻辑中表示所有的判断条件都要判断;
|- “&&”:短路与操作,在逻辑判断中使用,如果判断的条件前面是false,后面不再判断;
• “|”和“||”的区别:
|- “|”如果是在位运算中表示位或操作,如果是在逻辑中表示所有的判断条件都要判断;
|- “||”:短路或操作,在逻辑判断中使用,如果判断的条件前面是true,后面不再判断;
5)程序逻辑控制
JAVA中的程序逻辑控制分为三种:顺序、分支、循环
对于分支语句可以使用:if\if....else...\if.....else if ..... else .......\switch
对于循环语句可以使用:for\while\do....while
备注:
如果现在要判断的是数值,那么就可以通过switch完成多数值判断,但是在使用的时候需要注意:switch中可以判断的数据类型:int、char、enum;
   在编写switch的时候,每一个case后面一定要加上break,否则会从第一个满足条件的地方开始接着向下执行;
          因为:switch 不支持字符串的比较,那么如果想要使用如何解决呢?
       解决办法:其实很简单,我们只需要将enum类型做一个小小的封装就可以达到我们的目的    
例子:
Animal enum类:
<pre name="code" class="java">public enum Animal {  dog,cat,bear;public static Animal getAnimal(String animal){  return valueOf(animal.toLowerCase());  }
}
Client 调用:
public class Client {  public void caseAnimal(String animal){  switch(Animal.getAnimal(animal)){  case cat:  System.out.println("this is a cat");  break;  case dog:  System.out.println("this is a dog");  break;  case bear:  System.out.println("this is a bear");  break;  }  }  /** * @param args */  public static void main(String[] args) {  Client client = new Client();  client.caseAnimal("cat");  }
}
对于循环操作,有三种循环:
• while:不知道循环次数的情况下使用此种循环;
• do...while:基本很少用;
• for:在已经明确知道循环次数的情况下使用;
只要是循环就一定要满足以下的条件:
• 有一个循环控制的初始值;
• 循环条件的变更;
• 判断循环是否结束;
除了这些操作之外,还可以使用“break”或“continue”进行循环的控制。
break:跳出整个循环;continue:断开一次循环
6)JAVA中的方法和C++中的方法类型,再此就不说了。
上述如果有什么错误,欢迎大家及时指导纠正,一起共同进步!谢谢大家。

Java基本功一之JDK配置Java基本语法相关推荐

  1. Linux - Linux下Java安装路径查找;配置Java环境变量

    一.查看Java的安装路径 1.已经安装好了JDK,也配置了环境变量 1.执行 java -version java -version 出现了版本号,表示安装过了JDK,配置了环境变量 2.在配置过j ...

  2. Windows、Linux系统安装JDK配置Java环境变量

    一.Windows系统安装JDK 1.准备JDK安装程序,可到Sun官网 http://www.oracle.com/technetwork/java/javaee/downloads/index.h ...

  3. Java天花板从安装JDK配置环境变量开始

    成为java大神从JDK开始,梦开始的地方~ JDK是什么? 1.JDK全称Java Development Kit 中文意思是Java 开发工具包 3.JDK包括 jre (Java Runtime ...

  4. 【Java】初步、JDK配置

    目录 [一]计算机基础知识 计算机: 计算机硬件: 计算机软件: 软件开发: 计算机语言: 人机交互方式: 键盘功能键及快捷键介绍: 常见的DOS命令: [二]Java语言概述 Java语言发展史: ...

  5. linux java maven_Linux下安装及配置Java与Maven

    1.1安装Java sudo yum -y install java-1.8.0-openjdk #jre sudo yum -y install java-1.8.0-openjdk-devel # ...

  6. 如何添加java环境变量_如何配置java环境变量

    1. 首先安装java jdk 2. 打开我的电脑--属性--高级--环境变量 3. 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program F ...

  7. ubuntu java 编译器_Ubuntu 16.04配置Java开发环境

    一.安装jdk,配置java环境变量 1.下载 jdk,当前的版本是 jdk-8u101.选择适合自己系统的版本进行下载,下载好之后放在 Download 目录下 2.然后使用 Ctrl + Alt ...

  8. win1编辑java环境,在win7下配置java编译环境

    今天刚接触java编程,环境的配置方法比较复杂.好记性不如烂笔头,发个文章记录一下吧. win7系统 Jdk版本1.6 用鼠标右击"我的电脑"->属性->高级-> ...

  9. VS Code 遇上 Java丨第一章:配置 Java 开发环境

    读不在三更五鼓,功只怕一曝十寒. 准备工作 VS Code 安装包,示例版本:code_1.55.2-1618307277_amd64 JDK 15 安装包,示例版本:jdk-15.0.1_linux ...

最新文章

  1. spring boot 文件上传工具类(bug 已修改)
  2. 2012年中国移动地图和导航市场研究报告简版
  3. 中国云计算市场加速发展 今年有望突破3000亿
  4. uwsgi基础——最佳实践和问题
  5. python读取文件按行分割字符串_python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接...
  6. mysql 外键和事务_Mysql (五)事务和外键
  7. ad17编辑界面怎么检查未连线_软件账务处理流程之——凭证审核与检查
  8. 树的直径(51Nod-2602)
  9. MySQL用sql复制表数据到新表的方法
  10. 板邓:wordpress编辑器发布文章自动首行缩进
  11. swf文件的反编译或着flash文件的反编译
  12. ORACLE认证考试之ocjp 考试题之五
  13. java动态规划凑硬币问题_动态规划--凑硬币问题
  14. android 打开摄像头
  15. windows 7下安装软件时窗口显示不全的问题
  16. 怎么样禁止鼠标和键盘唤醒win7系统睡眠模式转载
  17. 最实用的网上赚钱方法:这个方法真的很实用哦!
  18. CSS 让背景图片全部显示,填满父div
  19. 【Linux】——基本指令
  20. 教你玩Robocode(1)

热门文章

  1. TCGA数据库的利用(二)—— 数据处理
  2. Linux 压缩、解压、打包操作
  3. 计算机系统结构——量化研究方法(第三版)
  4. 微信小程序的简单登录
  5. 经典排序算法动图图解
  6. 策略岗、分析岗、模型岗,在不同机构的组织架构是怎样的?
  7. AUTODESK 卸载工具,完美彻底卸载清除干净autodesk各种软件残留注册表和文件
  8. 基于YOLOV5的目标检测模型-口罩检测
  9. 1080驱动此图形驱动程序_如何更新图形驱动程序以获得最佳游戏性能
  10. Matlab小实例(一)