Java基础(二)

7 篇文章 0 订阅

什么是java

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。


体系

java分三个体系
1. JavaSE (Java 2 Platform, Standard Edition)
2. JavaEE (Java 2 Platform, Enterprise Edition)
3. JavaME (Java 2 Platform, Micro Edition)


特点

  • 简单性
    • Java容易学习,相对于C++而言更加纯净。
    • 小,基本的解释器以及类支持仅有40k.
  • 面向对象的语言(OO)
    • 封装
    • 继承
    • 多肽
    • 方法重载
    • 方法覆盖
  • 一种与平台无关的语言
    • 解释性语言,一次编译,到处运行(JVM)
    • JVM工作原理
  • 健壮性和安全性
    • 删除了指针和释放内存等C++功能,避免了非法内存操作。
    • 通过Java的安全体系架构来确保Java代码的安全性。
  • 多线程
    • 多线程应用程序能够同时运行多项任务。
    • Java中实现多线程相对于其他语言具有独特的优势。
  • 垃圾回收
    • 垃圾收集机制(Garbage collection)
      • 什么是垃圾?
        无任何引用的对象占据的内存空间
        C/C++是由程序员负责回收无用内存,
        java中程序员无法控制和干预,只能由系统决定什么时候回收垃圾

关键字

关键字描述
abstract抽象方法,抽象类的修饰符
assert断言条件是否满足
continue不执行循环体剩余部分
defaultswitch语句中的默认分支
do-while循环语句,循环体至少会执行一次
double64-bit双精度浮点数
elseif条件不成立时执行的分支
enum枚举类型
extends表示一个类是另一个类的子类
final表示定义常量
finally无论有没有异常发生都执行代码
float32-bit单精度浮点数
forfor循环语句
goto用于流程控制
if条件语句
implements表示一个类实现了接口
import导入类
implements测试一个对象是否是某个类的实例
int32位整型数
interface接口,一种抽象的类型,仅有方法和常量的定义
long64位整型数
native表示方法用非java代码实现
new分配新的类实例
package一系列相关类组成一个包
private表示私有字段,或者方法等,只能从类内部访问
protected表示保护类型字段
public表示共有属性或者方法
return方法返回值
short16位数字
static表示在类级别定义,所有实例共享的
strictfp浮点数比较使用严格的规则
super表示基类
switch选择语句
whilewhile循环
volatile标记字段可能会被多个线程同时访问,而不做同步
void标记方法不返回任何值
try表示代码块要做异常处理
transient修饰不要序列化的字段
throw抛出异常
this调用当前实例或者调用另一个构造函数
synchronized表示同一时间只能由一个线程访问的代码块

JDK和JRE

  • JDK叫做java开发工具集。包括java的编译环境、运行环境、调试环境,以及基础类库。
  • JRE叫做java运行环境。包括虚拟机、核心类库,以及链接文件。
    JDK包含JRE

数据类型、变量、常量

数据类型

  • 数据类型是一种易于人类阅读的标记,用来表示计算机内存的特定用法。
  • 在程序中使用时,数据类型规定所使用内存的大小以及在该内存中可存放的有效值。
  • Java是一种强类型编程语言,这意味着在Java程序中用到的所有变量都必须有明确定义的数据类型

基本数据类型

这里写图片描述

数值型
类型A占用存储空间范围
byte1字节(8位) 27 271
short2字节(16位) 215 2151
int4字节(32位) 231 2311
long8字节(64位) 263 2631
float4字节(32位) 231 2311
double8字节(64位) 263 2631

字符型
  • char型数据用来表示通常意义上“字符”。
  • 字符常量为用单引号括起来的单个字符。
  • Java字符采用Unicode编码,每个字符占两个字节。
    • ‘A’的编码是:65 依次类推
    • ‘a’的编码是:97 依次类推
  • Java语言中还允许使用转义符‘\’来将其后的字符转变为其它的含义。例如’\n’,’\t’。
boolean
  • boolean类型适于逻辑运算,一般用于程序流程控制。
  • boolean类型数据只允许取值true或false,不可以0或非0的整数替代false和true ,这点和C语言不同。
    • 用法举例:
      boolean flag = true;
      flag = 5 > 3;
声明和创建变量
  • Java变量是程序中最基本的存储单元,其要素包括数据类型,变量名和变量值。
  • Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:
    数据类型 变量名,变量值;
  • 变量其实是内存中的一小块区域,使用变量名来访问这块区域。
变量的初始化
  • 声明变量后,应该对变量进行初始化(养成习惯)
  • 初始化的语法:
    数据类型 变量名 = 初始值;
    • 比如:
      int i = 0;
      等同于:
      int i;
      i = 0;
变量的内存组织方式

这里写图片描述

常量
  • Java的常量值用字符串表示,区分为不同的数据类型。

    • 如整型常量123
    • 实型常量3.14
    • 字符常量’a’
    • 逻辑常量true、false
    • 字符串常量”helloworld”
  • 注意:区分字符常量和字符串常量。

  • Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F。

  • 我们也可以给常量命一个标示符名

  • 语法如下:

    • final 数据类型 标示符 = 常量值;
  • 符号常量声明的时候必须赋值

  • 在整个程序中不能改变不能重新赋值
为什么使用常量
  • 使用符号常量的好处是:
    • 含义清楚。如上面的程序中,看程序时从PRICE就可知道它代表价格。
    • 在需要改变一个常量时能做到“一改全改”。例如在程序中多处用到某物品的价格,如果价格用常数表示,则在价格调整时,就需要在程序中作作出修改,若用符号常量PRICE代表价格,只需改动一处即可。
标识符
  • Java标识符命名规则:
    • 标识符由字母、下划线“_”、美元符“$”或数字组成。
    • 标识符应以字母、下划线、美元符开头。
    • Java标识符大小写敏感,长度无限制。
    • “见名知意” 。
    • 约定俗成的规则

java环境变量配置

什么是环境变量

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

可以在用户变量和系统环境变量设置

区别: 用户变量只能是当前登录的用户才有效果
系统变量是你电脑上的全部用户都可以使用

第一步:设置JAVA_HOME变量
JAVA_HOME的值是你安装java的目录路径
比如我的java安装路径 D:\java\jdk1.8.0_45
设置:
变量名:JAVA_HONE
值:D:\java\jdk1.8.0_45
第二步:设置classpath变量
设置
变量名:classpath
值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tooles.jar
注意:一定要在最前面加上 .; 表示在当前路径下查找

第三步:设置Path变量 (环境变量有Path变量,只需要在后面添加值即可)
设置:
变量名:Path
值: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(添加到最后面,注意分号)

dt.jartools.jar是两个java最基本的包,里面包含了从java最重要的lang包到各种高级功能如可视化的swing包,是java必不可少的。
而path下面的bin里面都是java的可执行的编译器及其工具,如java,javadoc等,你在任意的文件夹下面运行cmd键入javac,系统就能自动召见java的编译器就是归功于这个环境变量的设置

rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库


把javac和java命令添加到鼠标右键运行

最常用的方法就是在java文件上右键打开方式选javac.exe打开这个java文件,如果没有语法错误,会生成一个XXX.class文件
但是有两个问题:

  • 当这个java文件有错误的时候,右键用jacac.exe打开会出现cmd窗口,但是它会马上关闭,可以说是一闪而过,我们看不到错误信息。
  • 如果我们编译通过了,然后还要右键那个class文件,然后用java.exe打开,这样很麻烦。

所以我推荐下面这种方法
不是简单的用java和javac命令打开
这样我们就不用每次都进入cmd然后进去到java文件所在路径,然后在输入javac xxx.java 编译 和java xxx运行了
直接鼠标右键 单击 编译并运行 就可以直接编译并且输出结果。如果有错误,也会显示完整错误信息,不会一闪而过。

  • 新建runJava.txt,改后缀为bat,用记事本打开,复制以下代码到这个文件中 然后保存并把这个文件放在一个不经常动的地方
    我放在了F盘的java文件夹下
@ECHO OFF 
cd %~dp1                    %转到当前目录下%
IF EXIST %~n1.class (      %如果有xxx.class 则执行 删除命令,将原来旧的class文件 %
    DEL %~n1.class 
)
ECHO Compiling %~nx1        %在控制台显示 Compiling xxx.java%
javac -d . %~nx1            %执行javac命令 -d  参数的意思是 指定放置生成的类文件的位置  . 的意思是放在当前目录下 %
@ECHO OFF           
IF EXIST %~n1.class (       %如果存在xxx.class 说明编译成功 则执行java命令 %
ECHO ---------Out----------         
java %~n1  %执行java命令%      
)
pause
  • 添加到鼠标右键:新建java.txt文件,改后缀为reg,用记事本打开 复制以下代码到文件中
    说明:@=”\”F:\Java\runJava.bat\” \”%1\”” 这一行需要改成第一步中runJava.bat所在文件夹目录
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\java]
@="编译并运行"
[HKEY_CLASSES_ROOT\*\shell\java\Command]
@="\"F:\\Java\\runJava.bat\" \"%1\""

然后双击这个文件,将这个键值添加到注册表中。
注意:这里涉及到改注册表,有风险,如果信得过我,只管点就是,我就是这个做的。

可以进入我的百度贴吧查看详情

百度百科

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值