• 写在前面的话

  • 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔。现在分享出来,希望能帮助大家,如有不足的,希望大家支出。
  • 后续会继续分享基础知识手记。希望能帮助大家。大致的结构:
  • 1.[Java面向对象]
  • 2.[Java集合详解]
  • 3.[Java IO相关操作]
  • 4.[Java 8函数编程]
  • 5.[常用设计模式]
  • 6.[Spring MVC]
  • 7.[MyBatis]
  • 8.[Vue.js]
  • 9.[Spring Boot]
  • 10.[实例(结合Spring MVC+MyBatis+Vue.js的前后端分离的增删改查)]
  • 1.Java概述

  • Java体系由Java SE(Java Standard Edition)、JavaEE(Java Enterprise Edition)、JavaME(Java Micro Edition)组成

    核心(Java SE)->API
graph LR
JavaSE-->ObjectOriented
JavaSE-->API
JavaSE-->JVM
JavaSE-->... JavaEE-->JSP
JavaEE-->EJB
JavaEE-->服务
JavaEE-->... JavaME-->移动设备
JavaME-->游戏
JavaME-->通信
JavaME-->...
  • 1.1JVM

  • Java Virtual Machine,java虚拟机在执行字节码,把字节码解释成具体平台上的机器指令执行

  • 1.2JDk及JRE

  • JDK全称:Java Development Kit,是Java开发者工具包,JRE全称:Java Runtime Environment,是Java运行时环境
  • 2.JDK安装

  • 2.1JDK的下载

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  • 2.2JDK版本的选择

    根据当前电脑的版本选择jdk的安装版本

  • 2.3JDK的安装

    jdk的安装目前一般建议自定义安装目录,便于后期维护

  • 2.4JDK的环境变量配置

    JDK的环境配置主要方便能快速定位到安装包的位置,不需要额外的指定路径.

  • JAVA_HOME:指定jdk的安装目录

    eg:C:\Java Develop Environment\JDK\jdk1.8.0_77
  • Path:是告诉系统,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了当前目录下面选择程序外,还应该到哪些目录下去寻找。

    eg:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
  • CLASSPATH:在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。在JDK5.0之后就可以不必设置该环境变量配置
  • 2.5用txt编写一个简单的java程序

public class Hello{
public static void main(String[] args){
System.out.println("Hello World By Java.");
}
}
  • 2.6检验编写的java程序(windows机器)

  • 打开cmd

  • 进入Hello.java的所在目录

  • 运行命令javac Hello.java(此时的Hello.java不区分大小写,因为windows文件夹不区分大小写)

  • 上述执行没有报错,则运行命令java Hello(这边不加后缀名,并且严格区分大小写,因为此时是JVM执行java类,java语言是区分大小写的)

  • 3.Java中的关键字

  • 3.1认识Java标识符

  • 标识符就是用于给Java程序中变量、类、方法等命名的符号

  • 注意点:

  • 1.标识符可以由字母数字下划线美元符号($)组成,但是不能以数字开头

  • 2.标识符不能是Java关键字和保留字

  • 3.标识符是严格区分大小写的

  • 3.2 变量是什么?

  • 简而言之,可以把变量看作是一个盒子,可以放钥匙,手机,饮料等,也可以在我们需要的时候缓存我们想要的新物品。

  • 通过三个元素描述变量 (变量类型 变量名 变量值

  • 3.3.Java中的数据类型

  • java是一种"强类型"语言,在Java存储中数据是有类型的,而且在编译时就确定其类型

  • 基本数据是数据的本身,而引用数据是指数据的空间地址

graph LR
数据类型-->基本数据类型
数据类型-->引用数据类型
基本数据类型-->数值型
基本数据类型-->字符型
基本数据类型-->布尔型
引用数据类型-->类
引用数据类型-->接口
引用数据类型-->数组
  • 3.4Java变量的使用规则

  • Java中变量需要先声明后使用

  • 变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值

  • 变量中每次只能赋一个值,但可以修改多次

  • 变量名不建议使用中文,在跨平台的时候可能导致乱码

  • 3.5Java中自动类型转换

自动类型转换的条件:

  • 1.目标类型与源类型兼容
  • 2.目标类型大于源类型
int i=3;
double b=i;//double为目标类型,int为源类型
  • 3.6Java中强类型的转换

  • 语法:(数据类型)数值。强类型转换可能会造成数据的丢失
double avg=75.8;
int avg2=(int)avg;//
  • 3.7Java常量的应用

  • 所谓常量,我们可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。使用final关键字表示。常量名一般使用大写字符表示

  • 3.8Java注释

  • Java中注释有三种类型,单行注释、多行注释、文档注释

/**
* 文档注释
*/ //单行注释 /*
多行注释
*/
  • 4.常用运算符

  • 4.1运算符

  • 运算符是一种功能符号,用以通知Java进行相关的运算。例如我们需要将变量age的值设置为20,这时候需要一个"="

  • 算术运算符(+、-、*、/、%、++、--)

  • 赋值运算符(=)

  • 比较运算符(>、=、<、>=、<=)

  • 逻辑运算符(&&、||)

  • 条件运算符(|、&、?:)

  • 4.2算术运算符注意点

  • 1.++、--只能用于操作变量,不能用于操作数值或常量

  • 2.int b=++a;是将a执行自增,然后将值赋值给变量b。

  • 3.int b=a++;是将a的值赋值给b,然后再执行自增

  • 4.3赋值运算符

  • 赋值运算符是指为变量或者常量指定数据值符号。"="是将右边的表达式结果赋值给左边的操作数

  • 4.4比较运算符

  • 1.>、<、>=、<=只能用于两边都是数值

  • 2.==、!=两边既可以是数值,也可以是引用类型

  • 4.5逻辑运算符

   public static void main(String[] args){
boolean a=true;
boolean b=false;
System.out.println(a&&b);//false
System.out.println(a||b);//true
System.out.println(!a);//false
System.out.println(a^b);//true.a与b有且只有一个true,才返回true,否则返回false
}
  • 1.&&,如果确认左边为false,那么右边就不执行了

  • 2.||,如果左边确认为true,那么右边也不执行了

  • 4.6条件运算符

  • 语法:布尔表达式?:表达式1:表达式2。又称:三元表达式。如果表达式为true,z则返回表达式1,否则返回表达式2

  • 4.7优先级

  • 实际开发中,使用小括号进行优先级确认

  • 5.流程控制语句

  • 1.if

  • 2.if...else

  • 3.if...else if...else(多重if)

  • 4.嵌套if

  • 5.swift。表达式值必须是整型或字符串。case后面可以是常量数值,也可以是常量表达式,但不能是变量或者变量表达式

String str = null;
int result;
switch (str) {
case "1":
result = 1;
break;
case "2":
result = 2;
break;
default:
result = -1;
break;
}
  • 6.while
  • 7.do...while。先执行后判断
  • 8.for
  • 9.break。生活中因为某些原因中断既定任务,而在java中用break表示
  • 10.continue。跳过循环体中剩余语句,执行下一次循环
  • 6.数组

  • 数组可以理解为一个巨大的盒子,里面可以按顺序放多个类型相同的数据
  int[] array = {76, 45};

  int array2[] = {1};
  • 1.语法:数据类型[] 数组名或者数据类型 数组名[]
  • 2.分配空间:new 数据类型[数组长度]
  • 3.数组是下标从0开始
  • 4.使用Arrays类操作数组
  • 5.使用forEach操作数组(for(元素类型 变量:遍历对象){})
  • 6.1二维数组

  • 可以理解为一种特殊的一维数组,它的每个数组空间中保存的是一个一维数组
  • 定义一个两行三列的数组
int[][] hah = {{1, 2, 3}, {4, 5, 6}};
  • 7.方法

  • 所谓方法就是用来解决一类问题的代码的有序组合,是一个功能模块。

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

  1. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  2. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  3. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  4. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  5. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  6. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  7. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  8. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  9. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. C语言 · 矩形面积交

    问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行,每行描述一个矩形. 在每行中 ...

  2. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  3. 学习ASP.NET Core, 怎能不了解请求处理管道[4]: 应用的入口——Startup

    一个ASP.NET Core应用被启动之后就具有了针对请求的处理能力,而这个能力是由管道赋予的,所以应用的启动同时意味着管道的成功构建.由于管道是由注册的服务器和若干中间件构成的,所以应用启动过程中一 ...

  4. EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)

    前言 Entity Framework 延伸系列目录 今天我们来聊聊EF的日志记录. 一个好的数据库操作记录不仅仅可以帮你记录用户的操作, 更应该可以帮助你获得效率低下的语句来帮你提高运行效率 废话不 ...

  5. [数据结构]——二叉树(Binary Tree)、二叉搜索树(Binary Search Tree)及其衍生算法

    二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现 ...

  6. Unicode 和 UTF-8 有何区别?

    Unicode符号范围 (一个字符两个字节)     | UTF-8编码方式 (十六进制)     | (二进制) —————————————————————– 这儿有四个字节从-----00 00 ...

  7. iOS开发 判断当前APP版本和升级

    从iOS8系统开始,用户可以在设置里面设置在WiFi环境下,自动更新安装的App.此功能大大方便了用户,但是一些用户没有开启此项功能,因此还是需要在程序里面提示用户的 方法一:在服务器接口约定对应的数 ...

  8. Unity3D新手引导开发手记

    最近开始接手新手引导的开发,记录下这块相关的心得 首先客户端是Unity,在接手前,前面的同学已经初步完成了新手引导框架的搭建,这套框架比较简单,有优点也有缺点,稍后一一点评 我们的新手引导是由一个个 ...

  9. NodeJS的代码调试和性能调优

    本文转自我的个人博客. NodeJS 自 2009 年显露人间,到现在已经六个年头了,由于各种原因,中间派生出了个兄弟,叫做 iojs,最近兄弟继续合体,衍生出了 nodejs4.0 版本,这东西算是 ...

  10. 【Java并发编程实战】----- AQS(四):CLH同步队列

    在[Java并发编程实战]-–"J.U.C":CLH队列锁提过,AQS里面的CLH队列是CLH同步锁的一种变形.其主要从两方面进行了改造:节点的结构与节点等待机制.在结构上引入了头 ...