Java前置知识

环境

jdk,jvm,jre

三者之间的关系

jdk >jre >jvm

//bin
包含的都是exe文件

//include
c文件,因为java底层都是用c语言写的


//jre:java运行环境
核心类库
里面包含jvm的一些配置文件
日志文件


//lib
核心工具类

//src.zip
源码文件

//javafx-src.zip
扩展源码文件

环境变量配置过程

  • 为什么要配置环境变量
    • 为了在任何目录下都能执行javac编译与java运行命令
    • 当系统执行命令时,首先在当面目录下寻找,找不到就到环境变量下的path中找,故需要配置环境变量.在要运行的文件目录下执行命令
  • 两种方式
    • 方式一:path中直接配置bin目录
    • 方式二:JAVA_HOME中写入jdk目录,path中引用%JAVA_HOME%\bin
      如果jdk路径改变,修改JAVA_HOME不用修改path,防止path发生错误

常见指令

不区分大小写

//切换目录

c:    //切换盘符
cd..  //切换上一级目录
cd softmgr\notepad++\prctice    //切换至practice
cd\    //切换至本盘符的根目录下

//创建文件

md java     //当前目录下创建java文件夹
mkdir java  //linux中创建java文件夹
cd java
copy con helloworld.java   //java目录下创建helloworld.java文件
输入内容       //内容输入结束按ctrl + z 保存退出

//删除文件

del helloworld.java  //删除当前文件夹下的helloworld.java文件
del *.txt           //删除该目录下的所有后缀为txt的文件
rd  java            //删除当前目录下的java文件(空目录)
rd java /s /q       //暴力删除该文件包括其内容
rm  -rf             //linux下递归删除文件与内容

//一些其他常见命令

cls             //清除屏幕
ipconfig        //查看本机的ip
control        //打开控制面板
calc           //打开计算器
mspaint        //打开绘画
ping  ip地址   //查看本机是否通信
dir            //查看当前目录下的一些信息

//dos命令运行java文件

//首先创建一个java后缀文件里面补全内容
//cd到java文件当前目录路径
javac  文件名.java    //编译完成同目录下生成后缀为.class的字节码文件
java   类名   //运行生成结果

了解java

诞生于1995年,James Gosling

java 版本

  • javaSE
    • 桌面应用程序和商务应用程序
  • javaME
    • 嵌入式应用设备
  • javaEE
    • 企业级开发

软件结构

  • B/S
    浏览器-服务器:用户只需要有浏览器就可以使用服务器的功能
  • C/S
    客户端-服务器:用户需要更新客户端,重装程序才可以使用服务器更新后的功能

java语法规范

注释

便于阅读代码,同时便于代码排错

  • 单行注释
    • //输入注释内容
  • 多行注释
    • /*
      输入注释内容
      */
  • 文档注释
    • /**
      会被jvm解析成为文档说明书
      */

关键字

java中具有特定含义的单词,变量名与类型不能与其同名
例,public,class,void,static,if…

标识符

  • 字母数字下划线美元符号组成,数字不能开头
  • 不能与关键字同名
  • 见名知意
    类和接口遵循大驼峰命名法
    变量,方法遵循小驼峰命名法

常量

  • 字面值常量
    • 字符常量 ‘a’
    • 字符串常量 “hello”
    • 整数常量 3
    • 小数常量 3.0
    • 布尔常量 true
    • 空常量 null
  • 自定义常量
    • final

数据类型

  • 基本数据类型
    • 整型
      • byte (1字节):-128~127 循环取值
      • short(2字节)
      • int(4字节)默认
      • long(8字节): long a = 30L/l
    • 浮点型
      • float(4字节): float b = 80.0F/f
      • double(8字节)默认
    • 字符型 char a = ‘a’;
    • 布尔型 boolean b = true
  • 引用数据类型
    • 数组
    • 接口

类型转换

byte,char,short---->int----->long---->float------>double
byte,short,char参与运算自动转换为int类型

  • 隐式转换
    • 字节长度短的自动转换为长的,由编译器自动完成
      +=,-=,*=可以自动完成强转而不报错
  • 显式转换
    • 字节长度长的无法自动转换为短的,会报错,就需要强转
      例,int b = 2;
      short a = (short) (b * 3);

进制

短除法,反向取余
二进制: 0B
八进制: 0
十六进制: 0x

//8421法:十进制转换二进制
拆解数字为128,64,32,16,8,4,2,1组合
然后对应数字赋值1,未对应数字赋0,组合即可

//二进制转化八进制
从右往左每三位一个单位,每个单位十进制换算,组合起来

//二进制转换十六进制
从右往左每四位取一个单位,同上

运算符

  • 自增与自减
    • b = a++ //a赋值给b;然后a自增
    • b = --a //a自减;然后赋值给
  • 逻辑运算符
    • ^ 异或:相同为flase,相反为true
    • && 与&:有flase则flase,
    • || 与|:有true则ture
   &&与||具有短路效应,可以提高代码运行效率
  • 三元运算符
int result = a > b ? a : b;

语句

  • 顺序语句
  • 判断语句
    if...else与三元运算符的区别
    if语句范围大,可以写输出语句,但是三元运算符最后得到的结果只能进行赋值,无法输出语句

你可能感兴趣的:(java)