java

作者: 浮若年华_7a56 | 来源:发表于2022-08-27 16:38 被阅读0次

1.java白皮书的关键术语

  • 简单的
    参照c++,是c++语法的纯净版本但没有c++中的头文件,指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等
  • 面向对象
  • 网络技能
  • 健壮性(Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。)
  • 安全性
    java被设计成能够防范各种袭击,
    • 运行时堆栈溢出。如,蠕虫等病毒常用的袭击手段
    • 在自己的处理空间之外破坏内存
    • 未经授权读写文件
  • 体系结构中立
    Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
  • 跨平台/可移植性
  • 解释型
  • 高性能
    与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
  • 多线程
  • 动态性
    java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

2.关于java的一些常见的误解

1).java是html的扩展
java是一种程序设计语言,hrml是一种描述网页结构的方式。处理用于房子java applet的html扩展之外,两者没有任何共同之处
2).使用XML,就不需要java
java是一种程序设计语言,XML是一种描述数据的方式,可以使用任何一种程序设计语言处理XML数据

3.jdk安装

  • 1.https://www.oracle.com/technetwork/java/javase/overview/index.html打开JDK官网版本下载对应系统的版本安装
  • 2.配置系统变量
    ①CLASSPATH 你安装的jdk里的lib路径(新增)
    ②JAVA_HOME 你安装的jdk路径(新增)
    ③Path 你安装的jdk里的bin路径(编辑Path)
  • 3.打开cmd输入java -version(安装成功输入会显示版本,失败会报错)


    1661740277307.png
  • 4.jre:某些jdk版本没有jre文件夹,我们需要自己生成,步骤如下:
    • 1.打开cmd切换到安装的jdk目录下
    • 2.输入指令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre(解释:用以调用jdk安装路径中bin文件夹下面的jlink程序,刺激生成jre)

4.安装源代码库

源文件库:库源文件在jdk中以一个压缩文件src.zip形式发布(我安装的版本src.zip在lib文件夹中),在包含src.zip的文件夹内新建一个src文件夹,然后cmd跳转到src文件夹下,输入jar xvf ../src.zip

5.jdk目录结构

  • bin:编译器和工具
  • demo:演示
  • include:用于编译本地方法的文件
  • jre:java运行环境文件
  • lib:类库文件
  • src:类库源文件

6.命令行编译并运行java程序

例:(进入下载的示例中的v1ch02/Welcome目录启动cmd)

javac Welcome.java
javac Welcome

注:1. javac是一个java编译器,它将文件Welcome.java编译成了Welcome.class,并发送到java虚拟机,虚拟机执行编译器存放在class文件中的字节码
2.注意大小写
3.编译时需要提供一个文件名(Welcome.java),而运行时只需要指定类名(Welcome)不需要待扩展名.java或.class

7.一个简单的java应用程序

下面看一个简单的java应用程序,它只发送一条消息到控制台窗口中
public class FirstSample{
public static viod main
}

8.java的编译和运行过程

java程序从.java文件创捷到程序运行要经过两大过程

  • java文件由编译器编译成.class文件
  • 字节码由JVM解释运行

9.注释

java的注释分为三种

  • //(每行的前面)
  • /* */多行
  • /** */折中注释可以用来自动生成文档

10.java数据类型

java是一种强类型语言,这就意味必须为每一个变量声明一种类型,在java中,一共有8中基本类型,其中有4中整型、两种浮点类型、一种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型
整型(表示没有小数部分的数值,它允许是负数):

  • int 4字节
  • short 2字节
  • long 8字节
  • byte 1字节

浮点类型(表示有小数部分的数值):

  • float 4字节(有效位数为6~7位)
  • double 8字节(有效位数为15位)
    表示溢出和出错情况的三个特殊的浮点数值
    • Double.POSITIVE_INFINITY(正无穷大)
    • Double.NEGATIVE_INFINITY(负无穷大)
    • Double.NaN(NaN)

char类型
char类型用于表示单个字符,通常用来表示字符常量。例如:'A'是编码为65所对应的字符常量,与"A"不同,"A"是一个包含字符A的字符串,在java中,char类型用UTF-16编码描述一个代码单元
强烈建议不要在程序中使用char类型除非确实需要对UTF-16代码单元进行操作

boolean类型
boolean(布尔)类型有两个值:false和true。用来判断逻辑条件(java中整型值与布尔值不能进行相互转换,在c++中可以。在c++中整数0相当于布尔值false,非0值相当于布尔值true)

变量
在java中,每一个变量属于一种类型(type),在声明变量时,变量所属的类型位于变量名之前
声明变量的一些例子:
double salary;
int vacationDays;
long earthPopulation;
boolean done;
每个声明都是一条完整的语句,所以必须以分号结束,变量名必须是一个以字母开头的由字母或数字构成的序列,声明一个变量之后,必须用赋值语句对变量进行显式初始化,java使用未被初始化的变量会报错,
例:
int vacationDays;
System.out.printIn(vacationDays)

如果想要知道哪些Unicode字符属于java中的字母,可以使用Character类的isJavaIdentifierStart和isJavaIdentifierPart方法进行检测(不能将变量命名为java保留字,变量名对大小写敏感)

注:
c和c++区分变量的声明与定义
例如:int i=10;是定义一个变量i,extern int i;是声明一个变量i,而在java、中,不区分变量的声明与定义

常量(关键字final表示这个变量只能赋值一次,一旦赋值,就不能再更改了,习惯上,常量名使用大写)
在java中,利用关键字final声明常量,例如:

public class Constants
{
 public static void main (String[] args)
 {
  final double CM_PER_INCH =2.54;
  double paperWidth = 8.5;
  double paperHeight = 11;
  System.out.printIn('Paper size in centimeters:' + paperWidth * CM_PER_INCH + 'by' + paperHeight * CM_PER_INCH)
 }
}

在java中,希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类常量,可以使用关键字static final设置一个类常量,例如:

public class Constants2
{
 public static void main (String[] args)
 {
  final double CM_PER_INCH =2.54;
  double paperWidth = 8.5;
  double paperHeight = 11;
  System.out.printIn('Paper size in centimeters:' + paperWidth * CM_PER_INCH + 'by' + paperHeight * CM_PER_INCH)
 }
 public static final double  CM_PER_INCH =2.54;
}

注:类常量的定义位于main方法的外部,所以,在同一个类的其他方法中也可以使用这个常量,如果一个常量被声明为public,那么其他类的方法也可以使用这个常量

严格的浮点计算(strictfp)
例如,可以把mian方法标记为:public static strictfp void main (String[] args)
于是在mian方法中的所有指令都将使用严格的浮点计算

相关文章

  • Java(JavaEE)学习线路图1

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • Java学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习教程

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • java学习路线

    javaSE java基础语法 java文件操作 java网络操作 java多线程 java数据库操作 java ...

  • java编程分类

    一、java简介java开发环境配置java基础语法java对象与类java基本数据类型java变量类型java修...

  • Java-01初识Java

    Java的3大版本 Java有三大版本,Java SE, Java ME, Java EE Java SE(Jav...

  • JAVA循环语句(四)9.29

    Java条件 if Java条件if...else Java条件多重if Java条件语句 嵌套if Java条件...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

网友评论

      本文标题:java

      本文链接:https://www.haomeiwen.com/subject/jsjfnrtx.html