(一)初始JAVA,简单介绍

 

JAVA简史

JAVA发展过程

 

JAVA是静态面向对象编程语言的代表,

健壮性:语言的严谨性,语言漏洞少。语法规则很强。

特点:简单性,面向对象(单继承,无多继承),分布式,健壮性,安全性,平台独立性与可移植性,多线程,动态性。

具体介绍如下:

• Java是跨平台的

Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释

器负责将字节码文件解释成为特定的机器码进行运行。

• Java是简单的

不再有#include #define 等预处理功能

不再有struct,uniontypedef

不再有函数、

不再有指针、不再有多重继承

不再有goto

不再有操作符重载(Operatior Overloading)

不再有全局变量 取消自动类型转换,要求强制转换

不再有手动内存管理

• Java是安全的

Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的, 并且使用指针也容易数组越界。

Java提供了自动内存管理机制,由垃圾回收器在后台自动回收,

Java在字节码的传输过程中使用了公开密钥加密机制(PKC)

而在运行环境提供了四级安全性保障机制:

字节码校验器 -类装载器 -运行时内存布局 -文件访问限制

• Java是完全面向对象的

JavaC++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继承,多态)。

由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影

响了其面向对象的彻底性!

Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计

语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固

有缺陷。

• Java是健壮的

Java的强制类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。

对指针的丢弃是Java的明智选择。

Java的安全检查机制使得Java更具健壮性。

三步走:编写——编译——运行

【源代码.java——.class(客户看到的是.class(可执行文件)文件)】

编译为.class(字节码文件,虚拟机(JVM)执行,不依赖于平台,跨平台特性

主要做外部系统。可编写桌面应用程序、WEB应用程序、分布式系统与嵌入式应用系统。

JAVA做人工智能较好,其次是PYTHON。(C++太难。)

名词解释:

A.JVM:JAVA虚拟机(Java Virtual Machine)

它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

B.JDK:Java开发工具包(Java Development Kit编译+运行

它是整个Java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和JAVA工具。

C.JRE:Java运行环境(Java Runtime Environment)运行

它包含两部分:Java Runtime Environment和Java Plug-in(插件).Java Runtime Environment是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(JVM)、Java核心类库和支持文件。他不包含开发工具(JDK)——编译器、调试器和其他工具。JRE需要辅助软件——Java Plug-in(插件),以便在浏览器中运行applet.

没安装JDK不能编译,没安装JRE不能运行。JVM隶属于JRE.

 

JAVA跨平台原理:

• 总结1:Java运行过程

Java程序的运行分为两步:先编译再解释执行

通过“编译器”将Java源程序编译成Java 字节码文件(.class(字节码文件采用结构中立

的中间文件格式)

通过不同的“虚拟机”将Java字节码文件解释为对应机器语言并执行

• 总结2:Java跨平台和C跨平台的区别

Java:一次编译,到处运行 C:多次编译,到处运行

在互联网情况下,平台各异,Java的跨平台更具有优势

Java可以跨所有平台吗:要看有没有提供并安装相应的虚拟机

Java的运行速度没有C语言快

Java需要将class文件解释成机器码再执行;C执行执行机器码

• 总结3:字节码文件bytecode

.class文件 二进制文件

格式中立、平台无关的二进制文件

是编译的产物,是解释的原料

• 总结4:Java虚拟机 JVM
 
JVM Java Virtual Machine Java 虚拟机)的缩写
 
JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
 
JVM 就是一个虚拟的用于执行 bytecodes 字节码的计算机
 
Java 虚拟机是 Java 最核心技术,也是跨平台的基础。
 
Java 语言使用 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
 
Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是 Java 的能够“一次编译,到处运行”的原因
 
• 总结5:JDK、JRE、JVM的区别联系
JDK:
      • Java Development Kit
      • 针对 Java 开发员的产品
JRE:
     • Java Runtime Environment
     • 是运行 Java 程序所必须的环境集合
JVM
     • Java Virtual Machine
     • 解释运行 Java 字节码文件,跨平台的核心
联系: JDK 包含 JRE JRE 包含 JVM

 

1.什么是变量?

答:值可以发生改变的量。

2.变量的定义?

答:数据类型 变量名 【=值】;(【】代表可省略。)

(1)变量名:规则(java命名规则:字母数字下划线);规范:首字母小写、驼峰、名词。

(2)数据类型:原始(基本)数据类型(8个)和引用数据类型(自定义)数据类型。

原始(基本)数据类型(8个):

类型          字节                 类                数的范围

byte            1                   Byte               -128~127

Char           2                   Character        0~65535

short           2                   Short              -32768~32767

int               4                   Integer

float            4                    Float              3.4e~038

long            8                    long               -263~263-1

double                              Double

Boolean       没有              Boolean

 

字节型:byte(-7,122)

字符型:char(735 ASCALL值)97-a  65-A   48-0(单引号)

整型:short/int/long

浮点型:folat/double

布尔型:true/false(无0和非0之分,C语言有)

多行注释:ctrl+shift+/(先括起来)

 

输出简单语句:

package pro;//隶属的文件夹(包)
/*
类名和文件名一致
 */
public class DemoA {
    //主程序入口
    public static void main(String[] args){
        //输出一段内容
        System.out.println("Hello,World");//输出后换行
        System.out.print("你好,世界");//输出后不换行
        System.out.println("Hello,World");
        //输出一些特殊符号
        System.out.println("\\");
        System.out.println("\'");
        System.out.println("\"");
        System.out.println("\t");
        System.out.println("\n");
    }
}

数据类型,运算符

1.标识符
标识符的命名规则:

•必须以字母、 _下划线、 美元符$开头。
• 其它部分可以是字母、 下划线“_”、 美元符“$”和数字的任意组合
• 大小写敏感, 长度无限制。
• 不可以是Java的关键字。
2.关键字
3.数据类型: 基本数据类型(“四类八种”)和引用数据类型
   3.1整型数据类型 byte short int long
   3.2浮点型数据类型 float double
   3.3字符数据类型 char
   3.4布尔数据类型 boolean
4.运算符
   4.1算术运算符
   难点 ++ -- 注意+的三个作用
   4.2赋值运算符
    = += -=...
    sum+=6---->sum=sum+6
   4.3关系运算符
   > < == 关系运算的结果是boolean类型
  4.4逻辑运算符
   操作数和结果都是boolean型
   &和&&的区别和联系(是否短路)
   4.5条件运算符
   ? : 唯一的三目运算符 int max = num1>num2?num1:num2;
   4.6 位运算符 了解即可
   4.7 运算符的优先级别:单目>算术>关系>逻辑>条件>赋值
5.基本数据类型的类型转换
    5.1.自动类型转换 double d=5;
    5.2.强制类型转换 int n =(int)3.14;
6.其他
    6.1.字符集: Java采用Unicode字符集 常用字符集都兼容ASCII字符集
    6.2.final常量:使用final修饰变量, 变量变成常量, 值不能再被改变
    6.3.Scanner: 可以接收来自键盘的输入 Scanner in = new Scanner(System.in);

    注意要导包  import java.util.Scanner;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值